├── .gitignore
├── Assets
├── Editor.meta
├── Editor
│ ├── XmlLevelEditor.cs
│ └── XmlLevelEditor.cs.meta
├── Misc.meta
├── Misc
│ ├── Blue.mat
│ ├── Blue.mat.meta
│ ├── Green.mat
│ ├── Green.mat.meta
│ ├── Red.mat
│ └── Red.mat.meta
├── Resources.meta
├── Resources
│ ├── Levels.xml
│ ├── Levels.xml.meta
│ ├── Prefabs.meta
│ ├── Prefabs
│ │ ├── BlueCapsule.prefab
│ │ ├── BlueCapsule.prefab.meta
│ │ ├── GreenSphere.prefab
│ │ ├── GreenSphere.prefab.meta
│ │ ├── RedCube.prefab
│ │ └── RedCube.prefab.meta
│ ├── XmlItemsToExport.xml
│ └── XmlItemsToExport.xml.meta
├── XmlScripts.meta
├── XmlScripts
│ ├── DeserializedLevels.cs
│ ├── DeserializedLevels.cs.meta
│ ├── DeserializedLevelsCrossChecker.cs
│ ├── DeserializedLevelsCrossChecker.cs.meta
│ ├── DeserializedLevelsLoader.cs
│ ├── DeserializedLevelsLoader.cs.meta
│ ├── DeserializedLevelsSaver.cs
│ ├── DeserializedLevelsSaver.cs.meta
│ ├── PlayScript.cs
│ ├── PlayScript.cs.meta
│ ├── XmlIO.cs
│ └── XmlIO.cs.meta
├── _LOAD_THIS_SCENE_.meta
└── _LOAD_THIS_SCENE_
│ ├── MainScene.unity
│ └── MainScene.unity.meta
├── LICENSE
├── ProjectSettings
├── AudioManager.asset
├── DynamicsManager.asset
├── EditorBuildSettings.asset
├── EditorSettings.asset
├── GraphicsSettings.asset
├── InputManager.asset
├── NavMeshLayers.asset
├── NetworkManager.asset
├── Physics2DSettings.asset
├── ProjectSettings.asset
├── QualitySettings.asset
├── TagManager.asset
└── TimeManager.asset
└── README.md
/.gitignore:
--------------------------------------------------------------------------------
1 | [Ll]ibrary/
2 | [Tt]emp/
3 | [Oo]bj/
4 | .DS_Store
5 | *.csproj
6 | *.unityproj
7 | *.sln
8 | *.pdb
9 | *.pidb
10 | *.userprefs
11 | *.suo
--------------------------------------------------------------------------------
/Assets/Editor.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 8ac855fce504c41329d740c3c12b5d27
3 | folderAsset: yes
4 | DefaultImporter:
5 | userData:
6 |
--------------------------------------------------------------------------------
/Assets/Editor/XmlLevelEditor.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine;
2 | using UnityEditor;
3 |
4 | public class XmlLevelEditor : EditorWindow
5 | {
6 |
7 | DeserializedLevelsLoader deserializedLevelsLoader;
8 | DeserializedLevelsSaver deserializedLevelsSaver;
9 | DeserializedLevelsCrossChecker deserializedLevelsCrossChecker;
10 |
11 | string importGOName = DeserializedLevelsLoader.xmlItemsGOName;
12 | string exportGOName = DeserializedLevelsSaver.xmlItemsToExportGOName;
13 |
14 | [MenuItem("Window/Xml Level Editor")]
15 | public static void ShowWindow()
16 | {
17 | //Show existing window instance. If one doesn't exist, make one.
18 | EditorWindow.GetWindow(typeof(XmlLevelEditor));
19 | }
20 |
21 | void OnGUI()
22 | {
23 | // create DeserializedLevelsLoader, Saver and CrossChecker instances
24 | init();
25 |
26 | // Import section
27 | GUILayout.Label("Import", EditorStyles.boldLabel);
28 | GUILayout.Label("Import Levels.xml into the scene");
29 |
30 | if (GUILayout.Button("Import Levels.xml"))
31 | deserializedLevelsLoader.generateItems();
32 |
33 |
34 | // Export section
35 | GUILayout.Label("Export", EditorStyles.boldLabel);
36 | GUILayout.Label("Export children of \"" + exportGOName + "\" GameObject into " + exportGOName + ".xml", EditorStyles.wordWrappedLabel);
37 | if (GUILayout.Button("Export " + exportGOName))
38 | deserializedLevelsSaver.saveExportItems();
39 |
40 |
41 | // Delete section
42 | GUILayout.Label("Delete", EditorStyles.boldLabel);
43 | GUILayout.Label("Delete " + importGOName + " and " + exportGOName + " GameObjects from scene", EditorStyles.wordWrappedLabel);
44 | if (GUILayout.Button("Delete"))
45 | {
46 | DestroyImmediate(GameObject.Find(importGOName));
47 | DestroyImmediate(GameObject.Find(exportGOName));
48 | }
49 |
50 |
51 | // Cross check section
52 | GUILayout.Label("Cross Check", EditorStyles.boldLabel);
53 | GUILayout.Label("Cross check /Resources/Prefabs and Levels.xml if there are any item prefabs that exist only in one but not the other", EditorStyles.wordWrappedLabel);
54 | if (GUILayout.Button("Cross Check"))
55 | deserializedLevelsCrossChecker.crossCheck();
56 | }
57 |
58 | private void init()
59 | {
60 | if (deserializedLevelsLoader == null) deserializedLevelsLoader = new DeserializedLevelsLoader();
61 | if (deserializedLevelsSaver == null) deserializedLevelsSaver = new DeserializedLevelsSaver();
62 | if (deserializedLevelsCrossChecker == null) deserializedLevelsCrossChecker = new DeserializedLevelsCrossChecker();
63 | }
64 |
65 | }
66 |
--------------------------------------------------------------------------------
/Assets/Editor/XmlLevelEditor.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f5f24600eb94b49d18017660a10cbcfd
3 | MonoImporter:
4 | serializedVersion: 2
5 | defaultReferences: []
6 | executionOrder: 0
7 | icon: {instanceID: 0}
8 | userData:
9 |
--------------------------------------------------------------------------------
/Assets/Misc.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 34192b63dc7a5436c874c7a42633accb
3 | folderAsset: yes
4 | DefaultImporter:
5 | userData:
6 |
--------------------------------------------------------------------------------
/Assets/Misc/Blue.mat:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!21 &2100000
4 | Material:
5 | serializedVersion: 3
6 | m_ObjectHideFlags: 0
7 | m_PrefabParentObject: {fileID: 0}
8 | m_PrefabInternal: {fileID: 0}
9 | m_Name: Blue
10 | m_Shader: {fileID: 7, guid: 0000000000000000f000000000000000, type: 0}
11 | m_ShaderKeywords: []
12 | m_CustomRenderQueue: -1
13 | m_SavedProperties:
14 | serializedVersion: 2
15 | m_TexEnvs:
16 | data:
17 | first:
18 | name: _MainTex
19 | second:
20 | m_Texture: {fileID: 0}
21 | m_Scale: {x: 1, y: 1}
22 | m_Offset: {x: 0, y: 0}
23 | m_Floats: {}
24 | m_Colors:
25 | data:
26 | first:
27 | name: _Color
28 | second: {r: .609861612, g: .517647088, b: 1, a: 1}
29 |
--------------------------------------------------------------------------------
/Assets/Misc/Blue.mat.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f95c576cb3fc1457284ddd637c377349
3 | NativeFormatImporter:
4 | userData:
5 |
--------------------------------------------------------------------------------
/Assets/Misc/Green.mat:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!21 &2100000
4 | Material:
5 | serializedVersion: 3
6 | m_ObjectHideFlags: 0
7 | m_PrefabParentObject: {fileID: 0}
8 | m_PrefabInternal: {fileID: 0}
9 | m_Name: Green
10 | m_Shader: {fileID: 7, guid: 0000000000000000f000000000000000, type: 0}
11 | m_ShaderKeywords: []
12 | m_CustomRenderQueue: -1
13 | m_SavedProperties:
14 | serializedVersion: 2
15 | m_TexEnvs:
16 | data:
17 | first:
18 | name: _MainTex
19 | second:
20 | m_Texture: {fileID: 0}
21 | m_Scale: {x: 1, y: 1}
22 | m_Offset: {x: 0, y: 0}
23 | m_Floats: {}
24 | m_Colors:
25 | data:
26 | first:
27 | name: _Color
28 | second: {r: .546020746, g: 1, b: .517647088, a: 1}
29 |
--------------------------------------------------------------------------------
/Assets/Misc/Green.mat.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 876c81f9d58844072a2b4543ec91267a
3 | NativeFormatImporter:
4 | userData:
5 |
--------------------------------------------------------------------------------
/Assets/Misc/Red.mat:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!21 &2100000
4 | Material:
5 | serializedVersion: 3
6 | m_ObjectHideFlags: 0
7 | m_PrefabParentObject: {fileID: 0}
8 | m_PrefabInternal: {fileID: 0}
9 | m_Name: Red
10 | m_Shader: {fileID: 7, guid: 0000000000000000f000000000000000, type: 0}
11 | m_ShaderKeywords: []
12 | m_CustomRenderQueue: -1
13 | m_SavedProperties:
14 | serializedVersion: 2
15 | m_TexEnvs:
16 | data:
17 | first:
18 | name: _MainTex
19 | second:
20 | m_Texture: {fileID: 0}
21 | m_Scale: {x: 1, y: 1}
22 | m_Offset: {x: 0, y: 0}
23 | m_Floats: {}
24 | m_Colors:
25 | data:
26 | first:
27 | name: _Color
28 | second: {r: 1, g: .517647088, b: .517647088, a: 1}
29 |
--------------------------------------------------------------------------------
/Assets/Misc/Red.mat.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 44c0b6b8a681441999aedda479190d83
3 | NativeFormatImporter:
4 | userData:
5 |
--------------------------------------------------------------------------------
/Assets/Resources.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 253ad75548769466888981d15a8a3299
3 | folderAsset: yes
4 | DefaultImporter:
5 | userData:
6 |
--------------------------------------------------------------------------------
/Assets/Resources/Levels.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/Assets/Resources/Levels.xml.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 61e3d9c06e35044b7beccd7489a32c2f
3 | TextScriptImporter:
4 | userData:
5 |
--------------------------------------------------------------------------------
/Assets/Resources/Prefabs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 39552e740d8a746da8ba7e239efb1d5c
3 | folderAsset: yes
4 | DefaultImporter:
5 | userData:
6 |
--------------------------------------------------------------------------------
/Assets/Resources/Prefabs/BlueCapsule.prefab:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!1 &100000
4 | GameObject:
5 | m_ObjectHideFlags: 0
6 | m_PrefabParentObject: {fileID: 0}
7 | m_PrefabInternal: {fileID: 100100000}
8 | serializedVersion: 4
9 | m_Component:
10 | - 4: {fileID: 400000}
11 | - 33: {fileID: 3300000}
12 | - 136: {fileID: 13600000}
13 | - 23: {fileID: 2300000}
14 | m_Layer: 0
15 | m_Name: BlueCapsule
16 | m_TagString: Untagged
17 | m_Icon: {fileID: 0}
18 | m_NavMeshLayer: 0
19 | m_StaticEditorFlags: 0
20 | m_IsActive: 1
21 | --- !u!4 &400000
22 | Transform:
23 | m_ObjectHideFlags: 1
24 | m_PrefabParentObject: {fileID: 0}
25 | m_PrefabInternal: {fileID: 100100000}
26 | m_GameObject: {fileID: 100000}
27 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
28 | m_LocalPosition: {x: 0, y: 0, z: 0}
29 | m_LocalScale: {x: 1, y: 1, z: 1}
30 | m_Children: []
31 | m_Father: {fileID: 0}
32 | --- !u!23 &2300000
33 | Renderer:
34 | m_ObjectHideFlags: 1
35 | m_PrefabParentObject: {fileID: 0}
36 | m_PrefabInternal: {fileID: 100100000}
37 | m_GameObject: {fileID: 100000}
38 | m_Enabled: 1
39 | m_CastShadows: 1
40 | m_ReceiveShadows: 1
41 | m_LightmapIndex: 255
42 | m_LightmapTilingOffset: {x: 1, y: 1, z: 0, w: 0}
43 | m_Materials:
44 | - {fileID: 2100000, guid: f95c576cb3fc1457284ddd637c377349, type: 2}
45 | m_SubsetIndices:
46 | m_StaticBatchRoot: {fileID: 0}
47 | m_UseLightProbes: 0
48 | m_LightProbeAnchor: {fileID: 0}
49 | m_ScaleInLightmap: 1
50 | m_SortingLayer: 0
51 | m_SortingOrder: 0
52 | m_SortingLayerID: 0
53 | --- !u!33 &3300000
54 | MeshFilter:
55 | m_ObjectHideFlags: 1
56 | m_PrefabParentObject: {fileID: 0}
57 | m_PrefabInternal: {fileID: 100100000}
58 | m_GameObject: {fileID: 100000}
59 | m_Mesh: {fileID: 10208, guid: 0000000000000000e000000000000000, type: 0}
60 | --- !u!136 &13600000
61 | CapsuleCollider:
62 | m_ObjectHideFlags: 1
63 | m_PrefabParentObject: {fileID: 0}
64 | m_PrefabInternal: {fileID: 100100000}
65 | m_GameObject: {fileID: 100000}
66 | m_Material: {fileID: 0}
67 | m_IsTrigger: 0
68 | m_Enabled: 1
69 | m_Radius: .5
70 | m_Height: 2
71 | m_Direction: 1
72 | m_Center: {x: 0, y: 0, z: 0}
73 | --- !u!1001 &100100000
74 | Prefab:
75 | m_ObjectHideFlags: 1
76 | serializedVersion: 2
77 | m_Modification:
78 | m_TransformParent: {fileID: 0}
79 | m_Modifications: []
80 | m_RemovedComponents: []
81 | m_ParentPrefab: {fileID: 0}
82 | m_RootGameObject: {fileID: 100000}
83 | m_IsPrefabParent: 1
84 | m_IsExploded: 1
85 |
--------------------------------------------------------------------------------
/Assets/Resources/Prefabs/BlueCapsule.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: affa0ee3b81994890b5554b8b6279f75
3 | NativeFormatImporter:
4 | userData:
5 |
--------------------------------------------------------------------------------
/Assets/Resources/Prefabs/GreenSphere.prefab:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!1 &100000
4 | GameObject:
5 | m_ObjectHideFlags: 0
6 | m_PrefabParentObject: {fileID: 0}
7 | m_PrefabInternal: {fileID: 100100000}
8 | serializedVersion: 4
9 | m_Component:
10 | - 4: {fileID: 400000}
11 | - 33: {fileID: 3300000}
12 | - 135: {fileID: 13500000}
13 | - 23: {fileID: 2300000}
14 | m_Layer: 0
15 | m_Name: GreenSphere
16 | m_TagString: Untagged
17 | m_Icon: {fileID: 0}
18 | m_NavMeshLayer: 0
19 | m_StaticEditorFlags: 0
20 | m_IsActive: 1
21 | --- !u!4 &400000
22 | Transform:
23 | m_ObjectHideFlags: 1
24 | m_PrefabParentObject: {fileID: 0}
25 | m_PrefabInternal: {fileID: 100100000}
26 | m_GameObject: {fileID: 100000}
27 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
28 | m_LocalPosition: {x: 0, y: 0, z: 0}
29 | m_LocalScale: {x: 1, y: 1, z: 1}
30 | m_Children: []
31 | m_Father: {fileID: 0}
32 | --- !u!23 &2300000
33 | Renderer:
34 | m_ObjectHideFlags: 1
35 | m_PrefabParentObject: {fileID: 0}
36 | m_PrefabInternal: {fileID: 100100000}
37 | m_GameObject: {fileID: 100000}
38 | m_Enabled: 1
39 | m_CastShadows: 1
40 | m_ReceiveShadows: 1
41 | m_LightmapIndex: 255
42 | m_LightmapTilingOffset: {x: 1, y: 1, z: 0, w: 0}
43 | m_Materials:
44 | - {fileID: 2100000, guid: 876c81f9d58844072a2b4543ec91267a, type: 2}
45 | m_SubsetIndices:
46 | m_StaticBatchRoot: {fileID: 0}
47 | m_UseLightProbes: 0
48 | m_LightProbeAnchor: {fileID: 0}
49 | m_ScaleInLightmap: 1
50 | m_SortingLayer: 0
51 | m_SortingOrder: 0
52 | m_SortingLayerID: 0
53 | --- !u!33 &3300000
54 | MeshFilter:
55 | m_ObjectHideFlags: 1
56 | m_PrefabParentObject: {fileID: 0}
57 | m_PrefabInternal: {fileID: 100100000}
58 | m_GameObject: {fileID: 100000}
59 | m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
60 | --- !u!135 &13500000
61 | SphereCollider:
62 | m_ObjectHideFlags: 1
63 | m_PrefabParentObject: {fileID: 0}
64 | m_PrefabInternal: {fileID: 100100000}
65 | m_GameObject: {fileID: 100000}
66 | m_Material: {fileID: 0}
67 | m_IsTrigger: 0
68 | m_Enabled: 1
69 | serializedVersion: 2
70 | m_Radius: .5
71 | m_Center: {x: 0, y: 0, z: 0}
72 | --- !u!1001 &100100000
73 | Prefab:
74 | m_ObjectHideFlags: 1
75 | serializedVersion: 2
76 | m_Modification:
77 | m_TransformParent: {fileID: 0}
78 | m_Modifications: []
79 | m_RemovedComponents: []
80 | m_ParentPrefab: {fileID: 0}
81 | m_RootGameObject: {fileID: 100000}
82 | m_IsPrefabParent: 1
83 | m_IsExploded: 1
84 |
--------------------------------------------------------------------------------
/Assets/Resources/Prefabs/GreenSphere.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b9ba214afc9b04ae1b25c020452ac443
3 | NativeFormatImporter:
4 | userData:
5 |
--------------------------------------------------------------------------------
/Assets/Resources/Prefabs/RedCube.prefab:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!1 &100000
4 | GameObject:
5 | m_ObjectHideFlags: 0
6 | m_PrefabParentObject: {fileID: 0}
7 | m_PrefabInternal: {fileID: 100100000}
8 | serializedVersion: 4
9 | m_Component:
10 | - 4: {fileID: 400000}
11 | - 33: {fileID: 3300000}
12 | - 65: {fileID: 6500000}
13 | - 23: {fileID: 2300000}
14 | m_Layer: 0
15 | m_Name: RedCube
16 | m_TagString: Untagged
17 | m_Icon: {fileID: 0}
18 | m_NavMeshLayer: 0
19 | m_StaticEditorFlags: 0
20 | m_IsActive: 1
21 | --- !u!4 &400000
22 | Transform:
23 | m_ObjectHideFlags: 1
24 | m_PrefabParentObject: {fileID: 0}
25 | m_PrefabInternal: {fileID: 100100000}
26 | m_GameObject: {fileID: 100000}
27 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
28 | m_LocalPosition: {x: 0, y: 0, z: 0}
29 | m_LocalScale: {x: 1, y: 1, z: 1}
30 | m_Children: []
31 | m_Father: {fileID: 0}
32 | --- !u!23 &2300000
33 | Renderer:
34 | m_ObjectHideFlags: 1
35 | m_PrefabParentObject: {fileID: 0}
36 | m_PrefabInternal: {fileID: 100100000}
37 | m_GameObject: {fileID: 100000}
38 | m_Enabled: 1
39 | m_CastShadows: 1
40 | m_ReceiveShadows: 1
41 | m_LightmapIndex: 255
42 | m_LightmapTilingOffset: {x: 1, y: 1, z: 0, w: 0}
43 | m_Materials:
44 | - {fileID: 2100000, guid: 44c0b6b8a681441999aedda479190d83, type: 2}
45 | m_SubsetIndices:
46 | m_StaticBatchRoot: {fileID: 0}
47 | m_UseLightProbes: 0
48 | m_LightProbeAnchor: {fileID: 0}
49 | m_ScaleInLightmap: 1
50 | m_SortingLayer: 0
51 | m_SortingOrder: 0
52 | m_SortingLayerID: 0
53 | --- !u!33 &3300000
54 | MeshFilter:
55 | m_ObjectHideFlags: 1
56 | m_PrefabParentObject: {fileID: 0}
57 | m_PrefabInternal: {fileID: 100100000}
58 | m_GameObject: {fileID: 100000}
59 | m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
60 | --- !u!65 &6500000
61 | BoxCollider:
62 | m_ObjectHideFlags: 1
63 | m_PrefabParentObject: {fileID: 0}
64 | m_PrefabInternal: {fileID: 100100000}
65 | m_GameObject: {fileID: 100000}
66 | m_Material: {fileID: 0}
67 | m_IsTrigger: 0
68 | m_Enabled: 1
69 | serializedVersion: 2
70 | m_Size: {x: 1, y: 1, z: 1}
71 | m_Center: {x: 0, y: 0, z: 0}
72 | --- !u!1001 &100100000
73 | Prefab:
74 | m_ObjectHideFlags: 1
75 | serializedVersion: 2
76 | m_Modification:
77 | m_TransformParent: {fileID: 0}
78 | m_Modifications: []
79 | m_RemovedComponents: []
80 | m_ParentPrefab: {fileID: 0}
81 | m_RootGameObject: {fileID: 100000}
82 | m_IsPrefabParent: 1
83 | m_IsExploded: 1
84 |
--------------------------------------------------------------------------------
/Assets/Resources/Prefabs/RedCube.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: da96ab3f7a4b5492eb88af88ddc53fe7
3 | NativeFormatImporter:
4 | userData:
5 |
--------------------------------------------------------------------------------
/Assets/Resources/XmlItemsToExport.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/Assets/Resources/XmlItemsToExport.xml.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 35b793df4d97b407088a52900b7b2e30
3 | TextScriptImporter:
4 | userData:
5 |
--------------------------------------------------------------------------------
/Assets/XmlScripts.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 8ba5c277caf274cf99483bae1de44aec
3 | folderAsset: yes
4 | DefaultImporter:
5 | userData:
6 |
--------------------------------------------------------------------------------
/Assets/XmlScripts/DeserializedLevels.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine;
2 | using System.Collections.Generic;
3 | using System.Xml;
4 | using System.Xml.Serialization;
5 | using System.IO;
6 |
7 | [XmlRoot("Levels")]
8 | public class DeserializedLevels
9 | {
10 | [XmlElement("Developer")]
11 | public Developer developer;
12 | public class Developer
13 | {
14 | [XmlAttribute("StartLevel")]
15 | public string startLevel;
16 | }
17 |
18 | [XmlElement("Level")]
19 | public Level[] levels;
20 | public class Level
21 | {
22 | [XmlAttribute("playerx")]
23 | public string playerx;
24 |
25 | [XmlAttribute("playery")]
26 | public string playery;
27 |
28 | [XmlAttribute("playerrot")]
29 | public string playerrot;
30 |
31 | [XmlElement("Item")]
32 | public Item[] items;
33 | }
34 |
35 | public class Item
36 | {
37 | [XmlAttribute("prefab")]
38 | public string prefab;
39 |
40 | [XmlAttribute("x")]
41 | public string x;
42 |
43 | [XmlAttribute("y")]
44 | public string y;
45 |
46 | [XmlAttribute("rot")]
47 | public string rot;
48 |
49 | [XmlAttribute("scale_x")]
50 | public string scale_x;
51 |
52 | [XmlAttribute("scale_y")]
53 | public string scale_y;
54 |
55 | public Item() { }
56 |
57 | public Item(Transform item)
58 | {
59 | prefab = item.name;
60 | x = DeserializedLevelsSaver.toStringNullIfZero(item.transform.position.x);
61 | y = DeserializedLevelsSaver.toStringNullIfZero(item.transform.position.y);
62 | rot = DeserializedLevelsSaver.toStringNullIfZero(item.localRotation.eulerAngles.x);
63 | scale_x = DeserializedLevelsSaver.toStringNullIfOne(item.localScale.x);
64 | scale_y = DeserializedLevelsSaver.toStringNullIfOne(item.localScale.y);
65 | }
66 | }
67 | }
68 |
69 |
--------------------------------------------------------------------------------
/Assets/XmlScripts/DeserializedLevels.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: ef2ecc758c2e143019ae2dac87289034
3 | MonoImporter:
4 | serializedVersion: 2
5 | defaultReferences: []
6 | executionOrder: 0
7 | icon: {instanceID: 0}
8 | userData:
9 |
--------------------------------------------------------------------------------
/Assets/XmlScripts/DeserializedLevelsCrossChecker.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine;
2 | using System.Collections;
3 |
4 | using System.Collections.Generic;
5 | using System.IO;
6 | using System.Xml;
7 | using System.Linq;
8 |
9 | public class DeserializedLevelsCrossChecker
10 | {
11 | // cross check /Resources/Prefabs and Levels.xml if there are any item prefabs that exist only in one but not the other
12 | public void crossCheck()
13 | {
14 | // create a two sets of prefabs
15 | HashSet resPrefabSet = new HashSet();
16 | HashSet xmlPrefabSet = new HashSet();
17 |
18 | // Get prefabs from Levels.xml
19 | getLevelPrefabs(xmlPrefabSet);
20 |
21 | // Get prefabs from the /Resources/Prefabs folder
22 | getResPrefabs(resPrefabSet);
23 |
24 | // Cross checks
25 | foreach (string prefab in xmlPrefabSet.Except(resPrefabSet).ToList())
26 | Debug.LogError(prefab + " is missing in the /Resorces/Prefabs folder but used in Levels.xml");
27 |
28 | foreach (string prefab in resPrefabSet.Except(xmlPrefabSet).ToList())
29 | Debug.Log(prefab + " exists in the /Resorces/Prefabs folder but not used in Levels.xml");
30 |
31 | Debug.Log("Cross Check Done");
32 | }
33 |
34 | private static void getResPrefabs(HashSet resPrefabList)
35 | {
36 | // get all child items in the /Resources/Prefabs folder
37 | DirectoryInfo dir = new DirectoryInfo("Assets/Resources/Prefabs");
38 | FileInfo[] fileInfos = dir.GetFiles("*.prefab");
39 | fileInfos.Select(f => f.FullName).ToArray();
40 |
41 | // Add each prefab's file name to prefabList and truncate the .prefab extension from the end
42 | foreach (FileInfo fileInfo in fileInfos)
43 | {
44 | resPrefabList.Add(fileInfo.Name.Substring(0, fileInfo.Name.Length - ".prefab".Length));
45 | }
46 | }
47 |
48 | private static void getLevelPrefabs(HashSet xmlPrefabSet)
49 | {
50 | DeserializedLevels deserializedLevels = XmlIO.LoadXml("Levels");
51 | foreach (DeserializedLevels.Level level in deserializedLevels.levels)
52 | {
53 | foreach (DeserializedLevels.Item item in level.items)
54 | {
55 | xmlPrefabSet.Add(item.prefab);
56 | }
57 | }
58 | }
59 |
60 | }
61 |
--------------------------------------------------------------------------------
/Assets/XmlScripts/DeserializedLevelsCrossChecker.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f4215606b531a504d9b4e5bad6426639
3 | MonoImporter:
4 | serializedVersion: 2
5 | defaultReferences: []
6 | executionOrder: 0
7 | icon: {instanceID: 0}
8 | userData:
9 |
--------------------------------------------------------------------------------
/Assets/XmlScripts/DeserializedLevelsLoader.cs:
--------------------------------------------------------------------------------
1 | using System.Collections;
2 | using System.Collections.Generic;
3 | using System.IO;
4 | using System.Xml;
5 | using UnityEngine;
6 |
7 | public class DeserializedLevelsLoader
8 | {
9 | // Levels deserialized
10 | private DeserializedLevels deserializedLevels;
11 |
12 | private const string prefabsFolder = "Prefabs/";
13 |
14 | struct ItemStruct
15 | {
16 | public GameObject prefab;
17 | public float x;
18 | public float y;
19 | public float rot;
20 | public float scale_x;
21 | public float scale_y;
22 |
23 | public ItemStruct(GameObject prefabGO, DeserializedLevels.Item deserializedItem)
24 | {
25 | prefab = prefabGO;
26 | x = toFloatZeroIfNull(deserializedItem.x);
27 | y = toFloatZeroIfNull(deserializedItem.y);
28 | rot = toFloatZeroIfNull(deserializedItem.rot);
29 | scale_x = toFloatOneIfNull(deserializedItem.scale_x);
30 | scale_y = toFloatOneIfNull(deserializedItem.scale_y);
31 | }
32 | }
33 |
34 | // Cache prefabs in prefabDict
35 | Dictionary prefabPool;
36 |
37 | // Cache all items with locations
38 | List sceneItemsList;
39 |
40 | Transform parentOfXmlItems;
41 |
42 | public const string xmlItemsGOName = "XmlItems";
43 |
44 | private void init()
45 | {
46 | prefabPool = new Dictionary();
47 | sceneItemsList = new List();
48 |
49 | // if the XmlItems gameobject folder remained in the Hierarcy, then delete it
50 | while (GameObject.Find(xmlItemsGOName) != null)
51 | MonoBehaviour.DestroyImmediate(GameObject.Find(xmlItemsGOName));
52 |
53 | parentOfXmlItems = new GameObject(xmlItemsGOName).transform;
54 | }
55 |
56 | public void generateItems()
57 | {
58 | init();
59 |
60 | createSceneItemsList();
61 |
62 | // Finally instantiate all items
63 | instantiateItems();
64 | }
65 |
66 | private DeserializedLevels.Level getCurLevel()
67 | {
68 | deserializedLevels = XmlIO.LoadXml("Levels");
69 |
70 | // if startlevel is in the XML i.e. then get level from there
71 | // otherwise start with level 1
72 | int startLevel = int.Parse(deserializedLevels.developer.startLevel);
73 |
74 | return deserializedLevels.levels[startLevel - 1]; ;
75 | }
76 |
77 |
78 | private void instantiateItems()
79 | {
80 | foreach (ItemStruct item in sceneItemsList)
81 | {
82 |
83 | // TODO load height coordinate from a directory
84 | GameObject newGameObject = MonoBehaviour.Instantiate(item.prefab) as GameObject;
85 |
86 | // set position
87 | setPos2D(newGameObject, new Vector2(item.x, item.y));
88 |
89 | // set rotation
90 | setRot2D(newGameObject, item.rot);
91 |
92 | // set scale
93 | newGameObject.transform.localScale = new Vector3(item.scale_x, item.scale_y, 1);
94 |
95 | // set parent
96 | newGameObject.transform.parent = parentOfXmlItems;
97 | }
98 | }
99 |
100 | private void createSceneItemsList()
101 | {
102 | //
103 | foreach (DeserializedLevels.Item deserializedItem in getCurLevel().items)
104 | {
105 | // caching prefabString i.e. "phone"
106 | string prefabString = deserializedItem.prefab;
107 |
108 | // if the prefab in the item XmlNode has not been loaded then add it to the prefabsDict dictionary,
109 | if (!prefabPool.ContainsKey(prefabString))
110 | {
111 | // load prefab
112 | GameObject prefabObject = Resources.Load(prefabsFolder + prefabString, typeof(GameObject)) as GameObject;
113 |
114 | // if unsuccesful, error message and jump to next in the foreach loop
115 | if (prefabObject == null)
116 | {
117 | Debug.LogError("Prefab \"" + prefabString + "\" does not exists.");
118 | continue;
119 | }
120 |
121 | // otherwise add to dictionary
122 | prefabPool.Add(prefabString, prefabObject);
123 | }
124 |
125 | ItemStruct item = new ItemStruct(prefabPool[prefabString], deserializedItem);
126 |
127 | sceneItemsList.Add(item);
128 | }
129 | }
130 |
131 |
132 | // if no value then return zero or one, otherwise convert to float
133 | static float toFloatZeroIfNull(string value) { return value == null ? 0 : float.Parse(value); }
134 | static float toFloatOneIfNull(string value) { return value == null ? 1 : float.Parse(value); }
135 |
136 |
137 | void setPos2D(GameObject g, Vector2 pos)
138 | {
139 | g.transform.position = new Vector3(
140 | pos.x,
141 | pos.y,
142 | g.transform.position.z
143 | );
144 | }
145 |
146 | void setRot2D(GameObject g, float rot)
147 | {
148 | Quaternion rotation = Quaternion.identity;
149 | rotation.eulerAngles = new Vector3(0, 0, rot);
150 | g.transform.localRotation = rotation;
151 | }
152 |
153 | }
154 |
--------------------------------------------------------------------------------
/Assets/XmlScripts/DeserializedLevelsLoader.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: a4b2c23daf5504cc9a73df589c143887
3 | MonoImporter:
4 | serializedVersion: 2
5 | defaultReferences: []
6 | executionOrder: 0
7 | icon: {instanceID: 0}
8 | userData:
9 |
--------------------------------------------------------------------------------
/Assets/XmlScripts/DeserializedLevelsSaver.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine;
2 | using System.Collections.Generic;
3 | using System.Xml;
4 |
5 | public class DeserializedLevelsSaver
6 | {
7 | public const string xmlItemsToExportGOName = "XmlItemsToExport";
8 |
9 | public void saveExportItems()
10 | {
11 | GameObject xmlItemsToExportGO;
12 |
13 | // Create XmlItemsToExport or find existing
14 | if (GameObject.Find(xmlItemsToExportGOName) == null)
15 | {
16 | xmlItemsToExportGO = new GameObject(xmlItemsToExportGOName);
17 | //we have nothing to save so skip execution
18 | return;
19 | }
20 | else
21 | {
22 | xmlItemsToExportGO = GameObject.Find(xmlItemsToExportGOName);
23 | }
24 |
25 | Transform[] xmlItemsToExportGOchildren = xmlItemsToExportGO.GetComponentsInChildren();
26 |
27 | // Check if there isn't any Transform components except parent's
28 | if (xmlItemsToExportGOchildren.Length == 1)
29 | {
30 | Debug.LogError("Add the prefabs to " + xmlItemsToExportGOName);
31 | return;
32 | }
33 |
34 | //create list of items
35 | List itemList = new List();
36 |
37 | foreach (Transform item in xmlItemsToExportGOchildren)
38 | {
39 | if (item.parent == xmlItemsToExportGO.transform)
40 | {
41 | itemList.Add(new DeserializedLevels.Item(item));
42 | }
43 | }
44 |
45 | //copy list of items to the raw array
46 | DeserializedLevels.Level levelXml = new DeserializedLevels.Level();
47 | levelXml.items = new DeserializedLevels.Item[itemList.Count];
48 | itemList.CopyTo(levelXml.items);
49 |
50 | // Export just one level
51 | DeserializedLevels levelsXmlToExport = new DeserializedLevels();
52 | levelsXmlToExport.levels = new DeserializedLevels.Level[1];
53 | levelsXmlToExport.levels[0] = levelXml;
54 |
55 | string outputFilePath = "./Assets/Resources/" + xmlItemsToExportGOName + ".xml";
56 | XmlIO.SaveXml(levelsXmlToExport, outputFilePath);
57 | }
58 |
59 | public static string toStringNullIfZero(float num)
60 | {
61 | return num == 0 ? null : mathRound(num, 2).ToString();
62 | }
63 |
64 | public static string toStringNullIfOne(float num)
65 | {
66 | return num == 1 ? null : mathRound(num, 2).ToString();
67 | }
68 |
69 | public static float mathRound(float round, int decimals)
70 | {
71 | return Mathf.Round(round * Mathf.Pow(10, decimals)) / Mathf.Pow(10, decimals);
72 | }
73 | }
74 |
--------------------------------------------------------------------------------
/Assets/XmlScripts/DeserializedLevelsSaver.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b7816f23e21614e6684de77528fbf66f
3 | MonoImporter:
4 | serializedVersion: 2
5 | defaultReferences: []
6 | executionOrder: 0
7 | icon: {instanceID: 0}
8 | userData:
9 |
--------------------------------------------------------------------------------
/Assets/XmlScripts/PlayScript.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine;
2 | using System.Collections;
3 |
4 | public class PlayScript : MonoBehaviour
5 | {
6 |
7 | void Start()
8 | {
9 | DeserializedLevelsLoader d = new DeserializedLevelsLoader();
10 | d.generateItems();
11 | }
12 |
13 | }
14 |
--------------------------------------------------------------------------------
/Assets/XmlScripts/PlayScript.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 01cdeb3258bc3446ba8846c11515fc68
3 | MonoImporter:
4 | serializedVersion: 2
5 | defaultReferences: []
6 | executionOrder: 0
7 | icon: {instanceID: 0}
8 | userData:
9 |
--------------------------------------------------------------------------------
/Assets/XmlScripts/XmlIO.cs:
--------------------------------------------------------------------------------
1 | using System.Xml;
2 | using System.Xml.Serialization;
3 | using System.IO;
4 | using UnityEngine; // necessary for TextAsset
5 |
6 | public static class XmlIO
7 | {
8 | public static void SaveXml (this object deserializedXml, string path) where T : class
9 | {
10 | using(var stream = new FileStream(path, FileMode.Create))
11 | {
12 | var s = new XmlSerializer(typeof(T));
13 | s.Serialize(stream, deserializedXml);
14 | }
15 | }
16 |
17 | public static T LoadXml(string textAssetName) where T : class
18 | {
19 | TextAsset xmlTextAsset = (TextAsset) Resources.Load (textAssetName, typeof(TextAsset));
20 |
21 | using(var stream = new StringReader(xmlTextAsset.text))
22 | {
23 | var s = new XmlSerializer(typeof(T));
24 | return s.Deserialize(stream) as T;
25 | }
26 | }
27 |
28 | }
29 |
--------------------------------------------------------------------------------
/Assets/XmlScripts/XmlIO.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: dfdb2c835c402473bb2b1c1c22822cfb
3 | MonoImporter:
4 | serializedVersion: 2
5 | defaultReferences: []
6 | executionOrder: 0
7 | icon: {instanceID: 0}
8 | userData:
9 |
--------------------------------------------------------------------------------
/Assets/_LOAD_THIS_SCENE_.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b32168d62b6384565b9c8f065120e62d
3 | folderAsset: yes
4 | DefaultImporter:
5 | userData:
6 |
--------------------------------------------------------------------------------
/Assets/_LOAD_THIS_SCENE_/MainScene.unity:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!29 &1
4 | SceneSettings:
5 | m_ObjectHideFlags: 0
6 | m_PVSData:
7 | m_PVSObjectsArray: []
8 | m_PVSPortalsArray: []
9 | m_OcclusionBakeSettings:
10 | smallestOccluder: 5
11 | smallestHole: .25
12 | backfaceThreshold: 100
13 | --- !u!104 &2
14 | RenderSettings:
15 | m_Fog: 0
16 | m_FogColor: {r: .5, g: .5, b: .5, a: 1}
17 | m_FogMode: 3
18 | m_FogDensity: .00999999978
19 | m_LinearFogStart: 0
20 | m_LinearFogEnd: 300
21 | m_AmbientLight: {r: 1, g: 1, b: 1, a: 1}
22 | m_SkyboxMaterial: {fileID: 0}
23 | m_HaloStrength: .5
24 | m_FlareStrength: 1
25 | m_FlareFadeSpeed: 3
26 | m_HaloTexture: {fileID: 0}
27 | m_SpotCookie: {fileID: 0}
28 | m_ObjectHideFlags: 0
29 | --- !u!127 &3
30 | LevelGameManager:
31 | m_ObjectHideFlags: 0
32 | --- !u!157 &4
33 | LightmapSettings:
34 | m_ObjectHideFlags: 0
35 | m_LightProbes: {fileID: 0}
36 | m_Lightmaps: []
37 | m_LightmapsMode: 1
38 | m_BakedColorSpace: 0
39 | m_UseDualLightmapsInForward: 0
40 | m_LightmapEditorSettings:
41 | m_Resolution: 50
42 | m_LastUsedResolution: 0
43 | m_TextureWidth: 1024
44 | m_TextureHeight: 1024
45 | m_BounceBoost: 1
46 | m_BounceIntensity: 1
47 | m_SkyLightColor: {r: .860000014, g: .930000007, b: 1, a: 1}
48 | m_SkyLightIntensity: 0
49 | m_Quality: 0
50 | m_Bounces: 1
51 | m_FinalGatherRays: 1000
52 | m_FinalGatherContrastThreshold: .0500000007
53 | m_FinalGatherGradientThreshold: 0
54 | m_FinalGatherInterpolationPoints: 15
55 | m_AOAmount: 0
56 | m_AOMaxDistance: .100000001
57 | m_AOContrast: 1
58 | m_LODSurfaceMappingDistance: 1
59 | m_Padding: 0
60 | m_TextureCompression: 0
61 | m_LockAtlas: 0
62 | --- !u!196 &5
63 | NavMeshSettings:
64 | m_ObjectHideFlags: 0
65 | m_BuildSettings:
66 | agentRadius: .5
67 | agentHeight: 2
68 | agentSlope: 45
69 | agentClimb: .400000006
70 | ledgeDropHeight: 0
71 | maxJumpAcrossDistance: 0
72 | accuratePlacement: 0
73 | minRegionArea: 2
74 | widthInaccuracy: 16.666666
75 | heightInaccuracy: 10
76 | m_NavMesh: {fileID: 0}
77 | --- !u!1 &698496877
78 | GameObject:
79 | m_ObjectHideFlags: 0
80 | m_PrefabParentObject: {fileID: 0}
81 | m_PrefabInternal: {fileID: 0}
82 | serializedVersion: 4
83 | m_Component:
84 | - 4: {fileID: 698496878}
85 | m_Layer: 0
86 | m_Name: XmlItems
87 | m_TagString: Untagged
88 | m_Icon: {fileID: 0}
89 | m_NavMeshLayer: 0
90 | m_StaticEditorFlags: 0
91 | m_IsActive: 1
92 | --- !u!4 &698496878
93 | Transform:
94 | m_ObjectHideFlags: 0
95 | m_PrefabParentObject: {fileID: 0}
96 | m_PrefabInternal: {fileID: 0}
97 | m_GameObject: {fileID: 698496877}
98 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
99 | m_LocalPosition: {x: 0, y: 0, z: 0}
100 | m_LocalScale: {x: 1, y: 1, z: 1}
101 | m_Children:
102 | - {fileID: 752680529}
103 | - {fileID: 1015352805}
104 | - {fileID: 1499417911}
105 | - {fileID: 2011212740}
106 | m_Father: {fileID: 0}
107 | --- !u!1 &752680525
108 | GameObject:
109 | m_ObjectHideFlags: 0
110 | m_PrefabParentObject: {fileID: 0}
111 | m_PrefabInternal: {fileID: 0}
112 | serializedVersion: 4
113 | m_Component:
114 | - 4: {fileID: 752680529}
115 | - 33: {fileID: 752680528}
116 | - 136: {fileID: 752680527}
117 | - 23: {fileID: 752680526}
118 | m_Layer: 0
119 | m_Name: BlueCapsule(Clone)
120 | m_TagString: Untagged
121 | m_Icon: {fileID: 0}
122 | m_NavMeshLayer: 0
123 | m_StaticEditorFlags: 0
124 | m_IsActive: 1
125 | --- !u!23 &752680526
126 | Renderer:
127 | m_ObjectHideFlags: 0
128 | m_PrefabParentObject: {fileID: 0}
129 | m_PrefabInternal: {fileID: 0}
130 | m_GameObject: {fileID: 752680525}
131 | m_Enabled: 1
132 | m_CastShadows: 1
133 | m_ReceiveShadows: 1
134 | m_LightmapIndex: 255
135 | m_LightmapTilingOffset: {x: 1, y: 1, z: 0, w: 0}
136 | m_Materials:
137 | - {fileID: 2100000, guid: f95c576cb3fc1457284ddd637c377349, type: 2}
138 | m_SubsetIndices:
139 | m_StaticBatchRoot: {fileID: 0}
140 | m_UseLightProbes: 0
141 | m_LightProbeAnchor: {fileID: 0}
142 | m_ScaleInLightmap: 1
143 | m_SortingLayer: 0
144 | m_SortingOrder: 0
145 | m_SortingLayerID: 0
146 | --- !u!136 &752680527
147 | CapsuleCollider:
148 | m_ObjectHideFlags: 0
149 | m_PrefabParentObject: {fileID: 0}
150 | m_PrefabInternal: {fileID: 0}
151 | m_GameObject: {fileID: 752680525}
152 | m_Material: {fileID: 0}
153 | m_IsTrigger: 0
154 | m_Enabled: 1
155 | m_Radius: .5
156 | m_Height: 2
157 | m_Direction: 1
158 | m_Center: {x: 0, y: 0, z: 0}
159 | --- !u!33 &752680528
160 | MeshFilter:
161 | m_ObjectHideFlags: 0
162 | m_PrefabParentObject: {fileID: 0}
163 | m_PrefabInternal: {fileID: 0}
164 | m_GameObject: {fileID: 752680525}
165 | m_Mesh: {fileID: 10208, guid: 0000000000000000e000000000000000, type: 0}
166 | --- !u!4 &752680529
167 | Transform:
168 | m_ObjectHideFlags: 0
169 | m_PrefabParentObject: {fileID: 0}
170 | m_PrefabInternal: {fileID: 0}
171 | m_GameObject: {fileID: 752680525}
172 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
173 | m_LocalPosition: {x: 1, y: 2, z: 0}
174 | m_LocalScale: {x: 1, y: 1, z: 1}
175 | m_Children: []
176 | m_Father: {fileID: 698496878}
177 | --- !u!1 &1015352804
178 | GameObject:
179 | m_ObjectHideFlags: 0
180 | m_PrefabParentObject: {fileID: 0}
181 | m_PrefabInternal: {fileID: 0}
182 | serializedVersion: 4
183 | m_Component:
184 | - 4: {fileID: 1015352805}
185 | - 33: {fileID: 1015352808}
186 | - 135: {fileID: 1015352807}
187 | - 23: {fileID: 1015352806}
188 | m_Layer: 0
189 | m_Name: GreenSphere(Clone)
190 | m_TagString: Untagged
191 | m_Icon: {fileID: 0}
192 | m_NavMeshLayer: 0
193 | m_StaticEditorFlags: 0
194 | m_IsActive: 1
195 | --- !u!4 &1015352805
196 | Transform:
197 | m_ObjectHideFlags: 0
198 | m_PrefabParentObject: {fileID: 0}
199 | m_PrefabInternal: {fileID: 0}
200 | m_GameObject: {fileID: 1015352804}
201 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
202 | m_LocalPosition: {x: -4, y: -2, z: 0}
203 | m_LocalScale: {x: 1, y: 1, z: 1}
204 | m_Children: []
205 | m_Father: {fileID: 698496878}
206 | --- !u!23 &1015352806
207 | Renderer:
208 | m_ObjectHideFlags: 0
209 | m_PrefabParentObject: {fileID: 0}
210 | m_PrefabInternal: {fileID: 0}
211 | m_GameObject: {fileID: 1015352804}
212 | m_Enabled: 1
213 | m_CastShadows: 1
214 | m_ReceiveShadows: 1
215 | m_LightmapIndex: 255
216 | m_LightmapTilingOffset: {x: 1, y: 1, z: 0, w: 0}
217 | m_Materials:
218 | - {fileID: 2100000, guid: 876c81f9d58844072a2b4543ec91267a, type: 2}
219 | m_SubsetIndices:
220 | m_StaticBatchRoot: {fileID: 0}
221 | m_UseLightProbes: 0
222 | m_LightProbeAnchor: {fileID: 0}
223 | m_ScaleInLightmap: 1
224 | m_SortingLayer: 0
225 | m_SortingOrder: 0
226 | m_SortingLayerID: 0
227 | --- !u!135 &1015352807
228 | SphereCollider:
229 | m_ObjectHideFlags: 0
230 | m_PrefabParentObject: {fileID: 0}
231 | m_PrefabInternal: {fileID: 0}
232 | m_GameObject: {fileID: 1015352804}
233 | m_Material: {fileID: 0}
234 | m_IsTrigger: 0
235 | m_Enabled: 1
236 | serializedVersion: 2
237 | m_Radius: .5
238 | m_Center: {x: 0, y: 0, z: 0}
239 | --- !u!33 &1015352808
240 | MeshFilter:
241 | m_ObjectHideFlags: 0
242 | m_PrefabParentObject: {fileID: 0}
243 | m_PrefabInternal: {fileID: 0}
244 | m_GameObject: {fileID: 1015352804}
245 | m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
246 | --- !u!1 &1358294590
247 | GameObject:
248 | m_ObjectHideFlags: 0
249 | m_PrefabParentObject: {fileID: 0}
250 | m_PrefabInternal: {fileID: 0}
251 | serializedVersion: 4
252 | m_Component:
253 | - 4: {fileID: 1358294595}
254 | - 20: {fileID: 1358294594}
255 | - 92: {fileID: 1358294593}
256 | - 124: {fileID: 1358294592}
257 | - 81: {fileID: 1358294591}
258 | - 114: {fileID: 1358294596}
259 | m_Layer: 0
260 | m_Name: Main Camera
261 | m_TagString: MainCamera
262 | m_Icon: {fileID: 0}
263 | m_NavMeshLayer: 0
264 | m_StaticEditorFlags: 0
265 | m_IsActive: 1
266 | --- !u!81 &1358294591
267 | AudioListener:
268 | m_ObjectHideFlags: 0
269 | m_PrefabParentObject: {fileID: 0}
270 | m_PrefabInternal: {fileID: 0}
271 | m_GameObject: {fileID: 1358294590}
272 | m_Enabled: 1
273 | --- !u!124 &1358294592
274 | Behaviour:
275 | m_ObjectHideFlags: 0
276 | m_PrefabParentObject: {fileID: 0}
277 | m_PrefabInternal: {fileID: 0}
278 | m_GameObject: {fileID: 1358294590}
279 | m_Enabled: 1
280 | --- !u!92 &1358294593
281 | Behaviour:
282 | m_ObjectHideFlags: 0
283 | m_PrefabParentObject: {fileID: 0}
284 | m_PrefabInternal: {fileID: 0}
285 | m_GameObject: {fileID: 1358294590}
286 | m_Enabled: 1
287 | --- !u!20 &1358294594
288 | Camera:
289 | m_ObjectHideFlags: 0
290 | m_PrefabParentObject: {fileID: 0}
291 | m_PrefabInternal: {fileID: 0}
292 | m_GameObject: {fileID: 1358294590}
293 | m_Enabled: 1
294 | serializedVersion: 2
295 | m_ClearFlags: 1
296 | m_BackGroundColor: {r: .192156866, g: .301960796, b: .474509805, a: .0196078438}
297 | m_NormalizedViewPortRect:
298 | serializedVersion: 2
299 | x: 0
300 | y: 0
301 | width: 1
302 | height: 1
303 | near clip plane: .300000012
304 | far clip plane: 1000
305 | field of view: 60
306 | orthographic: 1
307 | orthographic size: 5
308 | m_Depth: -1
309 | m_CullingMask:
310 | serializedVersion: 2
311 | m_Bits: 4294967295
312 | m_RenderingPath: -1
313 | m_TargetTexture: {fileID: 0}
314 | m_HDR: 0
315 | m_OcclusionCulling: 1
316 | --- !u!4 &1358294595
317 | Transform:
318 | m_ObjectHideFlags: 0
319 | m_PrefabParentObject: {fileID: 0}
320 | m_PrefabInternal: {fileID: 0}
321 | m_GameObject: {fileID: 1358294590}
322 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
323 | m_LocalPosition: {x: 0, y: 0, z: -10}
324 | m_LocalScale: {x: 1, y: 1, z: 1}
325 | m_Children: []
326 | m_Father: {fileID: 0}
327 | --- !u!114 &1358294596
328 | MonoBehaviour:
329 | m_ObjectHideFlags: 0
330 | m_PrefabParentObject: {fileID: 0}
331 | m_PrefabInternal: {fileID: 0}
332 | m_GameObject: {fileID: 1358294590}
333 | m_Enabled: 1
334 | m_EditorHideFlags: 0
335 | m_Script: {fileID: 11500000, guid: 01cdeb3258bc3446ba8846c11515fc68, type: 3}
336 | m_Name:
337 | m_EditorClassIdentifier:
338 | --- !u!1 &1499417910
339 | GameObject:
340 | m_ObjectHideFlags: 0
341 | m_PrefabParentObject: {fileID: 0}
342 | m_PrefabInternal: {fileID: 0}
343 | serializedVersion: 4
344 | m_Component:
345 | - 4: {fileID: 1499417911}
346 | - 33: {fileID: 1499417914}
347 | - 65: {fileID: 1499417913}
348 | - 23: {fileID: 1499417912}
349 | m_Layer: 0
350 | m_Name: RedCube(Clone)
351 | m_TagString: Untagged
352 | m_Icon: {fileID: 0}
353 | m_NavMeshLayer: 0
354 | m_StaticEditorFlags: 0
355 | m_IsActive: 1
356 | --- !u!4 &1499417911
357 | Transform:
358 | m_ObjectHideFlags: 0
359 | m_PrefabParentObject: {fileID: 0}
360 | m_PrefabInternal: {fileID: 0}
361 | m_GameObject: {fileID: 1499417910}
362 | m_LocalRotation: {x: 0, y: 0, z: .382683456, w: .923879504}
363 | m_LocalPosition: {x: 4, y: 1, z: 0}
364 | m_LocalScale: {x: 1, y: 1, z: 1}
365 | m_Children: []
366 | m_Father: {fileID: 698496878}
367 | --- !u!23 &1499417912
368 | Renderer:
369 | m_ObjectHideFlags: 0
370 | m_PrefabParentObject: {fileID: 0}
371 | m_PrefabInternal: {fileID: 0}
372 | m_GameObject: {fileID: 1499417910}
373 | m_Enabled: 1
374 | m_CastShadows: 1
375 | m_ReceiveShadows: 1
376 | m_LightmapIndex: 255
377 | m_LightmapTilingOffset: {x: 1, y: 1, z: 0, w: 0}
378 | m_Materials:
379 | - {fileID: 2100000, guid: 44c0b6b8a681441999aedda479190d83, type: 2}
380 | m_SubsetIndices:
381 | m_StaticBatchRoot: {fileID: 0}
382 | m_UseLightProbes: 0
383 | m_LightProbeAnchor: {fileID: 0}
384 | m_ScaleInLightmap: 1
385 | m_SortingLayer: 0
386 | m_SortingOrder: 0
387 | m_SortingLayerID: 0
388 | --- !u!65 &1499417913
389 | BoxCollider:
390 | m_ObjectHideFlags: 0
391 | m_PrefabParentObject: {fileID: 0}
392 | m_PrefabInternal: {fileID: 0}
393 | m_GameObject: {fileID: 1499417910}
394 | m_Material: {fileID: 0}
395 | m_IsTrigger: 0
396 | m_Enabled: 1
397 | serializedVersion: 2
398 | m_Size: {x: 1, y: 1, z: 1}
399 | m_Center: {x: 0, y: 0, z: 0}
400 | --- !u!33 &1499417914
401 | MeshFilter:
402 | m_ObjectHideFlags: 0
403 | m_PrefabParentObject: {fileID: 0}
404 | m_PrefabInternal: {fileID: 0}
405 | m_GameObject: {fileID: 1499417910}
406 | m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
407 | --- !u!1 &2011212739
408 | GameObject:
409 | m_ObjectHideFlags: 0
410 | m_PrefabParentObject: {fileID: 0}
411 | m_PrefabInternal: {fileID: 0}
412 | serializedVersion: 4
413 | m_Component:
414 | - 4: {fileID: 2011212740}
415 | - 33: {fileID: 2011212743}
416 | - 65: {fileID: 2011212742}
417 | - 23: {fileID: 2011212741}
418 | m_Layer: 0
419 | m_Name: RedCube(Clone)
420 | m_TagString: Untagged
421 | m_Icon: {fileID: 0}
422 | m_NavMeshLayer: 0
423 | m_StaticEditorFlags: 0
424 | m_IsActive: 1
425 | --- !u!4 &2011212740
426 | Transform:
427 | m_ObjectHideFlags: 0
428 | m_PrefabParentObject: {fileID: 0}
429 | m_PrefabInternal: {fileID: 0}
430 | m_GameObject: {fileID: 2011212739}
431 | m_LocalRotation: {x: 0, y: 0, z: .258819073, w: .965925872}
432 | m_LocalPosition: {x: 0, y: -2, z: 0}
433 | m_LocalScale: {x: 1, y: 3, z: 1}
434 | m_Children: []
435 | m_Father: {fileID: 698496878}
436 | --- !u!23 &2011212741
437 | Renderer:
438 | m_ObjectHideFlags: 0
439 | m_PrefabParentObject: {fileID: 0}
440 | m_PrefabInternal: {fileID: 0}
441 | m_GameObject: {fileID: 2011212739}
442 | m_Enabled: 1
443 | m_CastShadows: 1
444 | m_ReceiveShadows: 1
445 | m_LightmapIndex: 255
446 | m_LightmapTilingOffset: {x: 1, y: 1, z: 0, w: 0}
447 | m_Materials:
448 | - {fileID: 2100000, guid: 44c0b6b8a681441999aedda479190d83, type: 2}
449 | m_SubsetIndices:
450 | m_StaticBatchRoot: {fileID: 0}
451 | m_UseLightProbes: 0
452 | m_LightProbeAnchor: {fileID: 0}
453 | m_ScaleInLightmap: 1
454 | m_SortingLayer: 0
455 | m_SortingOrder: 0
456 | m_SortingLayerID: 0
457 | --- !u!65 &2011212742
458 | BoxCollider:
459 | m_ObjectHideFlags: 0
460 | m_PrefabParentObject: {fileID: 0}
461 | m_PrefabInternal: {fileID: 0}
462 | m_GameObject: {fileID: 2011212739}
463 | m_Material: {fileID: 0}
464 | m_IsTrigger: 0
465 | m_Enabled: 1
466 | serializedVersion: 2
467 | m_Size: {x: 1, y: 1, z: 1}
468 | m_Center: {x: 0, y: 0, z: 0}
469 | --- !u!33 &2011212743
470 | MeshFilter:
471 | m_ObjectHideFlags: 0
472 | m_PrefabParentObject: {fileID: 0}
473 | m_PrefabInternal: {fileID: 0}
474 | m_GameObject: {fileID: 2011212739}
475 | m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
476 |
--------------------------------------------------------------------------------
/Assets/_LOAD_THIS_SCENE_/MainScene.unity.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 8aa8af99d02c94a7cb8b7dc74087ef2a
3 | DefaultImporter:
4 | userData:
5 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2014 GabeMerke
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
--------------------------------------------------------------------------------
/ProjectSettings/AudioManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!11 &1
4 | AudioManager:
5 | m_ObjectHideFlags: 0
6 | m_Volume: 1
7 | Rolloff Scale: 1
8 | m_SpeedOfSound: 347
9 | Doppler Factor: 1
10 | Default Speaker Mode: 2
11 | m_DSPBufferSize: 0
12 | m_DisableAudio: 0
13 |
--------------------------------------------------------------------------------
/ProjectSettings/DynamicsManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!55 &1
4 | PhysicsManager:
5 | m_ObjectHideFlags: 0
6 | m_Gravity: {x: 0, y: -9.81000042, z: 0}
7 | m_DefaultMaterial: {fileID: 0}
8 | m_BounceThreshold: 2
9 | m_SleepVelocity: .150000006
10 | m_SleepAngularVelocity: .140000001
11 | m_MaxAngularVelocity: 7
12 | m_MinPenetrationForPenalty: .00999999978
13 | m_SolverIterationCount: 6
14 | m_RaycastsHitTriggers: 1
15 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
16 |
--------------------------------------------------------------------------------
/ProjectSettings/EditorBuildSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!1045 &1
4 | EditorBuildSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 2
7 | m_Scenes: []
8 |
--------------------------------------------------------------------------------
/ProjectSettings/EditorSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!159 &1
4 | EditorSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 3
7 | m_ExternalVersionControlSupport: Hidden Meta Files
8 | m_SerializationMode: 2
9 | m_WebSecurityEmulationEnabled: 0
10 | m_WebSecurityEmulationHostUrl: http://www.mydomain.com/mygame.unity3d
11 | m_DefaultBehaviorMode: 1
12 | m_SpritePackerMode: 0
13 |
--------------------------------------------------------------------------------
/ProjectSettings/GraphicsSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!30 &1
4 | GraphicsSettings:
5 | m_ObjectHideFlags: 0
6 | m_AlwaysIncludedShaders:
7 | - {fileID: 7, guid: 0000000000000000f000000000000000, type: 0}
8 |
--------------------------------------------------------------------------------
/ProjectSettings/InputManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!13 &1
4 | InputManager:
5 | m_ObjectHideFlags: 0
6 | m_Axes:
7 | - serializedVersion: 3
8 | m_Name: Horizontal
9 | descriptiveName:
10 | descriptiveNegativeName:
11 | negativeButton: left
12 | positiveButton: right
13 | altNegativeButton: a
14 | altPositiveButton: d
15 | gravity: 3
16 | dead: .00100000005
17 | sensitivity: 3
18 | snap: 1
19 | invert: 0
20 | type: 0
21 | axis: 0
22 | joyNum: 0
23 | - serializedVersion: 3
24 | m_Name: Vertical
25 | descriptiveName:
26 | descriptiveNegativeName:
27 | negativeButton: down
28 | positiveButton: up
29 | altNegativeButton: s
30 | altPositiveButton: w
31 | gravity: 3
32 | dead: .00100000005
33 | sensitivity: 3
34 | snap: 1
35 | invert: 0
36 | type: 0
37 | axis: 0
38 | joyNum: 0
39 | - serializedVersion: 3
40 | m_Name: Fire1
41 | descriptiveName:
42 | descriptiveNegativeName:
43 | negativeButton:
44 | positiveButton: left ctrl
45 | altNegativeButton:
46 | altPositiveButton: mouse 0
47 | gravity: 1000
48 | dead: .00100000005
49 | sensitivity: 1000
50 | snap: 0
51 | invert: 0
52 | type: 0
53 | axis: 0
54 | joyNum: 0
55 | - serializedVersion: 3
56 | m_Name: Fire2
57 | descriptiveName:
58 | descriptiveNegativeName:
59 | negativeButton:
60 | positiveButton: left alt
61 | altNegativeButton:
62 | altPositiveButton: mouse 1
63 | gravity: 1000
64 | dead: .00100000005
65 | sensitivity: 1000
66 | snap: 0
67 | invert: 0
68 | type: 0
69 | axis: 0
70 | joyNum: 0
71 | - serializedVersion: 3
72 | m_Name: Fire3
73 | descriptiveName:
74 | descriptiveNegativeName:
75 | negativeButton:
76 | positiveButton: left cmd
77 | altNegativeButton:
78 | altPositiveButton: mouse 2
79 | gravity: 1000
80 | dead: .00100000005
81 | sensitivity: 1000
82 | snap: 0
83 | invert: 0
84 | type: 0
85 | axis: 0
86 | joyNum: 0
87 | - serializedVersion: 3
88 | m_Name: Jump
89 | descriptiveName:
90 | descriptiveNegativeName:
91 | negativeButton:
92 | positiveButton: space
93 | altNegativeButton:
94 | altPositiveButton:
95 | gravity: 1000
96 | dead: .00100000005
97 | sensitivity: 1000
98 | snap: 0
99 | invert: 0
100 | type: 0
101 | axis: 0
102 | joyNum: 0
103 | - serializedVersion: 3
104 | m_Name: Mouse X
105 | descriptiveName:
106 | descriptiveNegativeName:
107 | negativeButton:
108 | positiveButton:
109 | altNegativeButton:
110 | altPositiveButton:
111 | gravity: 0
112 | dead: 0
113 | sensitivity: .100000001
114 | snap: 0
115 | invert: 0
116 | type: 1
117 | axis: 0
118 | joyNum: 0
119 | - serializedVersion: 3
120 | m_Name: Mouse Y
121 | descriptiveName:
122 | descriptiveNegativeName:
123 | negativeButton:
124 | positiveButton:
125 | altNegativeButton:
126 | altPositiveButton:
127 | gravity: 0
128 | dead: 0
129 | sensitivity: .100000001
130 | snap: 0
131 | invert: 0
132 | type: 1
133 | axis: 1
134 | joyNum: 0
135 | - serializedVersion: 3
136 | m_Name: Mouse ScrollWheel
137 | descriptiveName:
138 | descriptiveNegativeName:
139 | negativeButton:
140 | positiveButton:
141 | altNegativeButton:
142 | altPositiveButton:
143 | gravity: 0
144 | dead: 0
145 | sensitivity: .100000001
146 | snap: 0
147 | invert: 0
148 | type: 1
149 | axis: 2
150 | joyNum: 0
151 | - serializedVersion: 3
152 | m_Name: Horizontal
153 | descriptiveName:
154 | descriptiveNegativeName:
155 | negativeButton:
156 | positiveButton:
157 | altNegativeButton:
158 | altPositiveButton:
159 | gravity: 0
160 | dead: .189999998
161 | sensitivity: 1
162 | snap: 0
163 | invert: 0
164 | type: 2
165 | axis: 0
166 | joyNum: 0
167 | - serializedVersion: 3
168 | m_Name: Vertical
169 | descriptiveName:
170 | descriptiveNegativeName:
171 | negativeButton:
172 | positiveButton:
173 | altNegativeButton:
174 | altPositiveButton:
175 | gravity: 0
176 | dead: .189999998
177 | sensitivity: 1
178 | snap: 0
179 | invert: 1
180 | type: 2
181 | axis: 1
182 | joyNum: 0
183 | - serializedVersion: 3
184 | m_Name: Fire1
185 | descriptiveName:
186 | descriptiveNegativeName:
187 | negativeButton:
188 | positiveButton: joystick button 0
189 | altNegativeButton:
190 | altPositiveButton:
191 | gravity: 1000
192 | dead: .00100000005
193 | sensitivity: 1000
194 | snap: 0
195 | invert: 0
196 | type: 0
197 | axis: 0
198 | joyNum: 0
199 | - serializedVersion: 3
200 | m_Name: Fire2
201 | descriptiveName:
202 | descriptiveNegativeName:
203 | negativeButton:
204 | positiveButton: joystick button 1
205 | altNegativeButton:
206 | altPositiveButton:
207 | gravity: 1000
208 | dead: .00100000005
209 | sensitivity: 1000
210 | snap: 0
211 | invert: 0
212 | type: 0
213 | axis: 0
214 | joyNum: 0
215 | - serializedVersion: 3
216 | m_Name: Fire3
217 | descriptiveName:
218 | descriptiveNegativeName:
219 | negativeButton:
220 | positiveButton: joystick button 2
221 | altNegativeButton:
222 | altPositiveButton:
223 | gravity: 1000
224 | dead: .00100000005
225 | sensitivity: 1000
226 | snap: 0
227 | invert: 0
228 | type: 0
229 | axis: 0
230 | joyNum: 0
231 | - serializedVersion: 3
232 | m_Name: Jump
233 | descriptiveName:
234 | descriptiveNegativeName:
235 | negativeButton:
236 | positiveButton: joystick button 3
237 | altNegativeButton:
238 | altPositiveButton:
239 | gravity: 1000
240 | dead: .00100000005
241 | sensitivity: 1000
242 | snap: 0
243 | invert: 0
244 | type: 0
245 | axis: 0
246 | joyNum: 0
247 |
--------------------------------------------------------------------------------
/ProjectSettings/NavMeshLayers.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!126 &1
4 | NavMeshLayers:
5 | m_ObjectHideFlags: 0
6 | Built-in Layer 0:
7 | name: Default
8 | cost: 1
9 | editType: 2
10 | Built-in Layer 1:
11 | name: Not Walkable
12 | cost: 1
13 | editType: 0
14 | Built-in Layer 2:
15 | name: Jump
16 | cost: 2
17 | editType: 2
18 | User Layer 0:
19 | name:
20 | cost: 1
21 | editType: 3
22 | User Layer 1:
23 | name:
24 | cost: 1
25 | editType: 3
26 | User Layer 2:
27 | name:
28 | cost: 1
29 | editType: 3
30 | User Layer 3:
31 | name:
32 | cost: 1
33 | editType: 3
34 | User Layer 4:
35 | name:
36 | cost: 1
37 | editType: 3
38 | User Layer 5:
39 | name:
40 | cost: 1
41 | editType: 3
42 | User Layer 6:
43 | name:
44 | cost: 1
45 | editType: 3
46 | User Layer 7:
47 | name:
48 | cost: 1
49 | editType: 3
50 | User Layer 8:
51 | name:
52 | cost: 1
53 | editType: 3
54 | User Layer 9:
55 | name:
56 | cost: 1
57 | editType: 3
58 | User Layer 10:
59 | name:
60 | cost: 1
61 | editType: 3
62 | User Layer 11:
63 | name:
64 | cost: 1
65 | editType: 3
66 | User Layer 12:
67 | name:
68 | cost: 1
69 | editType: 3
70 | User Layer 13:
71 | name:
72 | cost: 1
73 | editType: 3
74 | User Layer 14:
75 | name:
76 | cost: 1
77 | editType: 3
78 | User Layer 15:
79 | name:
80 | cost: 1
81 | editType: 3
82 | User Layer 16:
83 | name:
84 | cost: 1
85 | editType: 3
86 | User Layer 17:
87 | name:
88 | cost: 1
89 | editType: 3
90 | User Layer 18:
91 | name:
92 | cost: 1
93 | editType: 3
94 | User Layer 19:
95 | name:
96 | cost: 1
97 | editType: 3
98 | User Layer 20:
99 | name:
100 | cost: 1
101 | editType: 3
102 | User Layer 21:
103 | name:
104 | cost: 1
105 | editType: 3
106 | User Layer 22:
107 | name:
108 | cost: 1
109 | editType: 3
110 | User Layer 23:
111 | name:
112 | cost: 1
113 | editType: 3
114 | User Layer 24:
115 | name:
116 | cost: 1
117 | editType: 3
118 | User Layer 25:
119 | name:
120 | cost: 1
121 | editType: 3
122 | User Layer 26:
123 | name:
124 | cost: 1
125 | editType: 3
126 | User Layer 27:
127 | name:
128 | cost: 1
129 | editType: 3
130 | User Layer 28:
131 | name:
132 | cost: 1
133 | editType: 3
134 |
--------------------------------------------------------------------------------
/ProjectSettings/NetworkManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!149 &1
4 | NetworkManager:
5 | m_ObjectHideFlags: 0
6 | m_DebugLevel: 0
7 | m_Sendrate: 15
8 | m_AssetToPrefab: {}
9 |
--------------------------------------------------------------------------------
/ProjectSettings/Physics2DSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!19 &1
4 | Physics2DSettings:
5 | m_ObjectHideFlags: 0
6 | m_Gravity: {x: 0, y: -9.81000042}
7 | m_DefaultMaterial: {fileID: 0}
8 | m_VelocityIterations: 8
9 | m_PositionIterations: 3
10 | m_RaycastsHitTriggers: 1
11 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
12 |
--------------------------------------------------------------------------------
/ProjectSettings/ProjectSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!129 &1
4 | PlayerSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 2
7 | AndroidProfiler: 0
8 | defaultScreenOrientation: 0
9 | targetDevice: 2
10 | targetGlesGraphics: 1
11 | targetResolution: 0
12 | accelerometerFrequency: 60
13 | companyName: DefaultCompany
14 | productName: UnityXmlLevel
15 | defaultCursor: {fileID: 0}
16 | cursorHotspot: {x: 0, y: 0}
17 | defaultScreenWidth: 1024
18 | defaultScreenHeight: 768
19 | defaultScreenWidthWeb: 960
20 | defaultScreenHeightWeb: 600
21 | m_RenderingPath: 1
22 | m_MobileRenderingPath: 1
23 | m_ActiveColorSpace: 0
24 | m_MTRendering: 1
25 | m_MobileMTRendering: 0
26 | m_UseDX11: 0
27 | iosShowActivityIndicatorOnLoading: -1
28 | androidShowActivityIndicatorOnLoading: -1
29 | displayResolutionDialog: 1
30 | allowedAutorotateToPortrait: 1
31 | allowedAutorotateToPortraitUpsideDown: 1
32 | allowedAutorotateToLandscapeRight: 1
33 | allowedAutorotateToLandscapeLeft: 1
34 | useOSAutorotation: 1
35 | use32BitDisplayBuffer: 1
36 | use24BitDepthBuffer: 1
37 | defaultIsFullScreen: 1
38 | defaultIsNativeResolution: 1
39 | runInBackground: 0
40 | captureSingleScreen: 0
41 | Override IPod Music: 0
42 | Prepare IOS For Recording: 0
43 | enableHWStatistics: 1
44 | usePlayerLog: 1
45 | stripPhysics: 0
46 | forceSingleInstance: 0
47 | resizableWindow: 0
48 | useMacAppStoreValidation: 0
49 | gpuSkinning: 0
50 | xboxPIXTextureCapture: 0
51 | xboxEnableAvatar: 0
52 | xboxEnableKinect: 0
53 | xboxEnableKinectAutoTracking: 0
54 | xboxEnableFitness: 0
55 | macFullscreenMode: 2
56 | xboxSpeechDB: 0
57 | xboxEnableHeadOrientation: 0
58 | xboxEnableGuest: 0
59 | wiiHio2Usage: -1
60 | wiiLoadingScreenRectPlacement: 0
61 | wiiLoadingScreenBackground: {r: 1, g: 1, b: 1, a: 1}
62 | wiiLoadingScreenPeriod: 1000
63 | wiiLoadingScreenFileName:
64 | wiiLoadingScreenRect:
65 | serializedVersion: 2
66 | x: 0
67 | y: 0
68 | width: 0
69 | height: 0
70 | m_SupportedAspectRatios:
71 | 4:3: 1
72 | 5:4: 1
73 | 16:10: 1
74 | 16:9: 1
75 | Others: 1
76 | iPhoneBundleIdentifier: com.Company.ProductName
77 | productGUID: 01aad7aa0794e4c03b51372cd0ec91a5
78 | iPhoneBundleVersion: 1.0
79 | AndroidBundleVersionCode: 1
80 | AndroidMinSdkVersion: 9
81 | AndroidPreferredInstallLocation: 1
82 | aotOptions:
83 | apiCompatibilityLevel: 2
84 | iPhoneStrippingLevel: 0
85 | iPhoneScriptCallOptimization: 0
86 | ForceInternetPermission: 0
87 | ForceSDCardPermission: 0
88 | CreateWallpaper: 0
89 | APKExpansionFiles: 0
90 | StripUnusedMeshComponents: 0
91 | iPhoneSdkVersion: 988
92 | iPhoneTargetOSVersion: 16
93 | uIPrerenderedIcon: 0
94 | uIRequiresPersistentWiFi: 0
95 | uIStatusBarHidden: 1
96 | uIExitOnSuspend: 0
97 | uIStatusBarStyle: 0
98 | iPhoneSplashScreen: {fileID: 0}
99 | iPhoneHighResSplashScreen: {fileID: 0}
100 | iPhoneTallHighResSplashScreen: {fileID: 0}
101 | iPadPortraitSplashScreen: {fileID: 0}
102 | iPadHighResPortraitSplashScreen: {fileID: 0}
103 | iPadLandscapeSplashScreen: {fileID: 0}
104 | iPadHighResLandscapeSplashScreen: {fileID: 0}
105 | AndroidTargetDevice: 0
106 | AndroidSplashScreenScale: 0
107 | AndroidKeystoreName:
108 | AndroidKeyaliasName:
109 | resolutionDialogBanner: {fileID: 0}
110 | m_BuildTargetIcons: []
111 | m_BuildTargetBatching: []
112 | webPlayerTemplate: APPLICATION:Default
113 | m_TemplateCustomTags: {}
114 | wiiRegion: 1
115 | wiiGameCode: RABA
116 | wiiGameVersion:
117 | wiiCompanyCode: ZZ
118 | wiiSupportsNunchuk: 0
119 | wiiSupportsClassicController: 0
120 | wiiSupportsBalanceBoard: 0
121 | wiiSupportsMotionPlus: 0
122 | wiiControllerCount: 1
123 | wiiFloatingPointExceptions: 0
124 | wiiScreenCrashDumps: 1
125 | XboxTitleId:
126 | XboxImageXexPath:
127 | XboxSpaPath:
128 | XboxGenerateSpa: 0
129 | XboxDeployKinectResources: 0
130 | XboxSplashScreen: {fileID: 0}
131 | xboxEnableSpeech: 0
132 | xboxAdditionalTitleMemorySize: 0
133 | xboxDeployKinectHeadOrientation: 0
134 | xboxDeployKinectHeadPosition: 0
135 | ps3TitleConfigPath:
136 | ps3DLCConfigPath:
137 | ps3ThumbnailPath:
138 | ps3BackgroundPath:
139 | ps3SoundPath:
140 | ps3TrophyCommId:
141 | ps3NpCommunicationPassphrase:
142 | ps3TrophyPackagePath:
143 | ps3BootCheckMaxSaveGameSizeKB: 128
144 | ps3TrophyCommSig:
145 | ps3SaveGameSlots: 1
146 | ps3TrialMode: 0
147 | flashStrippingLevel: 2
148 | spritePackerPolicy:
149 | scriptingDefineSymbols: {}
150 | metroPackageName: UnityXmlLevel
151 | metroPackageLogo:
152 | metroPackageVersion:
153 | metroCertificatePath:
154 | metroCertificatePassword:
155 | metroCertificateSubject:
156 | metroCertificateIssuer:
157 | metroCertificateNotAfter: 0000000000000000
158 | metroApplicationDescription: UnityXmlLevel
159 | metroTileLogo:
160 | metroTileWideLogo:
161 | metroTileSmallLogo:
162 | metroTileShortName:
163 | metroCommandLineArgsFile:
164 | metroTileShowName: 1
165 | metroTileForegroundText: 1
166 | metroTileBackgroundColor: {r: 0, g: 0, b: 0, a: 1}
167 | metroSplashScreenImage:
168 | metroSplashScreenBackgroundColor: {r: 0, g: 0, b: 0, a: 1}
169 | metroSplashScreenUseBackgroundColor: 0
170 | metroCapabilities: {}
171 | metroCompilationOverrides: 1
172 | blackberryDeviceAddress:
173 | blackberryDevicePassword:
174 | blackberryTokenPath:
175 | blackberryTokenExires:
176 | blackberryTokenAuthor:
177 | blackberryTokenAuthorId:
178 | blackberryAuthorId:
179 | blackberryCskPassword:
180 | blackberrySaveLogPath:
181 | blackberryAuthorIdOveride: 0
182 | blackberrySharedPermissions: 0
183 | blackberryCameraPermissions: 0
184 | blackberryGPSPermissions: 0
185 | blackberryDeviceIDPermissions: 0
186 | blackberryMicrophonePermissions: 0
187 | blackberryGamepadSupport: 0
188 | blackberryBuildId: 0
189 | blackberryLandscapeSplashScreen: {fileID: 0}
190 | blackberryPortraitSplashScreen: {fileID: 0}
191 | blackberrySquareSplashScreen: {fileID: 0}
192 | tizenProductDescription:
193 | tizenProductURL:
194 | tizenCertificatePath:
195 | tizenCertificatePassword:
196 | tizenSaveLogPath:
197 | firstStreamedLevelWithResources: 0
198 | unityRebuildLibraryVersion: 9
199 | unityForwardCompatibleVersion: 39
200 | unityStandardAssetsVersion: 0
201 |
--------------------------------------------------------------------------------
/ProjectSettings/QualitySettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!47 &1
4 | QualitySettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 5
7 | m_CurrentQuality: 3
8 | m_QualitySettings:
9 | - serializedVersion: 2
10 | name: Fastest
11 | pixelLightCount: 0
12 | shadows: 0
13 | shadowResolution: 0
14 | shadowProjection: 1
15 | shadowCascades: 1
16 | shadowDistance: 15
17 | blendWeights: 1
18 | textureQuality: 1
19 | anisotropicTextures: 0
20 | antiAliasing: 0
21 | softParticles: 0
22 | softVegetation: 0
23 | vSyncCount: 0
24 | lodBias: .300000012
25 | maximumLODLevel: 0
26 | particleRaycastBudget: 4
27 | excludedTargetPlatforms: []
28 | - serializedVersion: 2
29 | name: Fast
30 | pixelLightCount: 0
31 | shadows: 0
32 | shadowResolution: 0
33 | shadowProjection: 1
34 | shadowCascades: 1
35 | shadowDistance: 20
36 | blendWeights: 2
37 | textureQuality: 0
38 | anisotropicTextures: 0
39 | antiAliasing: 0
40 | softParticles: 0
41 | softVegetation: 0
42 | vSyncCount: 0
43 | lodBias: .400000006
44 | maximumLODLevel: 0
45 | particleRaycastBudget: 16
46 | excludedTargetPlatforms: []
47 | - serializedVersion: 2
48 | name: Simple
49 | pixelLightCount: 1
50 | shadows: 1
51 | shadowResolution: 0
52 | shadowProjection: 1
53 | shadowCascades: 1
54 | shadowDistance: 20
55 | blendWeights: 2
56 | textureQuality: 0
57 | anisotropicTextures: 1
58 | antiAliasing: 0
59 | softParticles: 0
60 | softVegetation: 0
61 | vSyncCount: 0
62 | lodBias: .699999988
63 | maximumLODLevel: 0
64 | particleRaycastBudget: 64
65 | excludedTargetPlatforms: []
66 | - serializedVersion: 2
67 | name: Good
68 | pixelLightCount: 2
69 | shadows: 2
70 | shadowResolution: 1
71 | shadowProjection: 1
72 | shadowCascades: 2
73 | shadowDistance: 40
74 | blendWeights: 2
75 | textureQuality: 0
76 | anisotropicTextures: 1
77 | antiAliasing: 0
78 | softParticles: 0
79 | softVegetation: 1
80 | vSyncCount: 1
81 | lodBias: 1
82 | maximumLODLevel: 0
83 | particleRaycastBudget: 256
84 | excludedTargetPlatforms: []
85 | - serializedVersion: 2
86 | name: Beautiful
87 | pixelLightCount: 3
88 | shadows: 2
89 | shadowResolution: 2
90 | shadowProjection: 1
91 | shadowCascades: 2
92 | shadowDistance: 70
93 | blendWeights: 4
94 | textureQuality: 0
95 | anisotropicTextures: 2
96 | antiAliasing: 2
97 | softParticles: 1
98 | softVegetation: 1
99 | vSyncCount: 1
100 | lodBias: 1.5
101 | maximumLODLevel: 0
102 | particleRaycastBudget: 1024
103 | excludedTargetPlatforms: []
104 | - serializedVersion: 2
105 | name: Fantastic
106 | pixelLightCount: 4
107 | shadows: 2
108 | shadowResolution: 2
109 | shadowProjection: 1
110 | shadowCascades: 4
111 | shadowDistance: 150
112 | blendWeights: 4
113 | textureQuality: 0
114 | anisotropicTextures: 2
115 | antiAliasing: 2
116 | softParticles: 1
117 | softVegetation: 1
118 | vSyncCount: 1
119 | lodBias: 2
120 | maximumLODLevel: 0
121 | particleRaycastBudget: 4096
122 | excludedTargetPlatforms: []
123 | m_PerPlatformDefaultQuality:
124 | Android: 2
125 | BlackBerry: 2
126 | FlashPlayer: 3
127 | GLES Emulation: 3
128 | PS3: 3
129 | Standalone: 3
130 | Tizen: 2
131 | WP8: 3
132 | Web: 3
133 | Wii: 3
134 | Windows Store Apps: 3
135 | XBOX360: 3
136 | iPhone: 2
137 |
--------------------------------------------------------------------------------
/ProjectSettings/TagManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!78 &1
4 | TagManager:
5 | tags:
6 | -
7 | Builtin Layer 0: Default
8 | Builtin Layer 1: TransparentFX
9 | Builtin Layer 2: Ignore Raycast
10 | Builtin Layer 3:
11 | Builtin Layer 4: Water
12 | Builtin Layer 5:
13 | Builtin Layer 6:
14 | Builtin Layer 7:
15 | User Layer 8:
16 | User Layer 9:
17 | User Layer 10:
18 | User Layer 11:
19 | User Layer 12:
20 | User Layer 13:
21 | User Layer 14:
22 | User Layer 15:
23 | User Layer 16:
24 | User Layer 17:
25 | User Layer 18:
26 | User Layer 19:
27 | User Layer 20:
28 | User Layer 21:
29 | User Layer 22:
30 | User Layer 23:
31 | User Layer 24:
32 | User Layer 25:
33 | User Layer 26:
34 | User Layer 27:
35 | User Layer 28:
36 | User Layer 29:
37 | User Layer 30:
38 | User Layer 31:
39 | m_SortingLayers:
40 | - name: Default
41 | userID: 0
42 | uniqueID: 0
43 | locked: 0
44 |
--------------------------------------------------------------------------------
/ProjectSettings/TimeManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!5 &1
4 | TimeManager:
5 | m_ObjectHideFlags: 0
6 | Fixed Timestep: .0199999996
7 | Maximum Allowed Timestep: .333333343
8 | m_TimeScale: 1
9 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | UnityXmlLevels
2 | ==============
3 |
4 | Load and save levels in Unity3D using XML files, that you can also edit manually easily.
5 |
6 |
7 | #### Example XML snippet
8 | ```
9 |
10 |
11 |
12 |
13 | ```
14 |
15 |
16 | #### Tutorial
17 | Navigate to Team Brookvale website for the full description and tutorial:
18 |
19 | [https://teambrookvale.com.au/articles/tutorial-xml-level-unity](https://teambrookvale.com.au/articles/tutorial-xml-level-unity "Team Brookvale - Tutorial - Roboust XML level building in Unity")
20 |
--------------------------------------------------------------------------------