├── .gitignore
├── Assets
├── Animations.meta
├── Animations
│ ├── Console.meta
│ └── Console
│ │ ├── Console.controller
│ │ ├── Console.controller.meta
│ │ ├── ConsoleDisabledIdle.anim
│ │ ├── ConsoleDisabledIdle.anim.meta
│ │ ├── ConsoleEnabledIdle.anim
│ │ ├── ConsoleEnabledIdle.anim.meta
│ │ ├── ConsoleHide.anim
│ │ ├── ConsoleHide.anim.meta
│ │ ├── ConsoleShow.anim
│ │ └── ConsoleShow.anim.meta
├── Materials.meta
├── Materials
│ ├── Example.meta
│ └── Example
│ │ ├── CubeMat.mat
│ │ ├── CubeMat.mat.meta
│ │ ├── LevelDarkMat.mat
│ │ ├── LevelDarkMat.mat.meta
│ │ ├── LevelLightMat.mat
│ │ └── LevelLightMat.mat.meta
├── Prefabs.meta
├── Prefabs
│ ├── Console.meta
│ ├── Console
│ │ ├── Console.prefab
│ │ ├── Console.prefab.meta
│ │ ├── NetworkConsole.prefab
│ │ └── NetworkConsole.prefab.meta
│ ├── Example.meta
│ └── Example
│ │ ├── Level.prefab
│ │ ├── Level.prefab.meta
│ │ ├── pb_Mesh17774.asset
│ │ └── pb_Mesh17774.asset.meta
├── ProBuilder Data.meta
├── ProBuilder Data
│ ├── ProBuilderPreferences.asset
│ └── ProBuilderPreferences.asset.meta
├── Scenes.meta
├── Scenes
│ ├── SampleScene.unity
│ └── SampleScene.unity.meta
├── Scripts.meta
├── Scripts
│ ├── Console.meta
│ ├── Console
│ │ ├── Args.meta
│ │ ├── Args
│ │ │ ├── VisibilityChangedArgs.cs
│ │ │ └── VisibilityChangedArgs.cs.meta
│ │ ├── Attributes.meta
│ │ ├── Attributes
│ │ │ ├── ConsoleMethod.cs
│ │ │ ├── ConsoleMethod.cs.meta
│ │ │ ├── ConsoleParameter.cs
│ │ │ ├── ConsoleParameter.cs.meta
│ │ │ ├── ConversionMethod.cs
│ │ │ ├── ConversionMethod.cs.meta
│ │ │ ├── ExecutableFromConsole.cs
│ │ │ └── ExecutableFromConsole.cs.meta
│ │ ├── ConsoleLogic.cs
│ │ ├── ConsoleLogic.cs.meta
│ │ ├── Converters.meta
│ │ ├── Converters
│ │ │ ├── BaseConverter.cs
│ │ │ ├── BaseConverter.cs.meta
│ │ │ ├── ColorConverter.cs
│ │ │ ├── ColorConverter.cs.meta
│ │ │ ├── GameObjectConverter.cs
│ │ │ ├── GameObjectConverter.cs.meta
│ │ │ ├── IConverter.cs
│ │ │ ├── IConverter.cs.meta
│ │ │ ├── TypeParser.cs
│ │ │ ├── TypeParser.cs.meta
│ │ │ ├── Vector2Converter.cs
│ │ │ ├── Vector2Converter.cs.meta
│ │ │ ├── Vector3Converter.cs
│ │ │ └── Vector3Converter.cs.meta
│ │ ├── Customization.meta
│ │ ├── Customization
│ │ │ ├── OutputColors.cs
│ │ │ └── OutputColors.cs.meta
│ │ ├── Helpers.meta
│ │ ├── Helpers
│ │ │ ├── ConsoleHistory.cs
│ │ │ ├── ConsoleHistory.cs.meta
│ │ │ ├── ExtensionMethods.cs
│ │ │ ├── ExtensionMethods.cs.meta
│ │ │ ├── InputReceivedEventArgs.cs
│ │ │ └── InputReceivedEventArgs.cs.meta
│ │ ├── IO.meta
│ │ ├── IO
│ │ │ ├── BaseConsoleIO.cs
│ │ │ ├── BaseConsoleIO.cs.meta
│ │ │ ├── ConsoleIO.cs
│ │ │ ├── ConsoleIO.cs.meta
│ │ │ ├── NetworkIO.cs
│ │ │ └── NetworkIO.cs.meta
│ │ ├── Writers.meta
│ │ └── Writers
│ │ │ ├── BaseWriter.cs
│ │ │ ├── BaseWriter.cs.meta
│ │ │ ├── ConsoleWriter.cs
│ │ │ ├── ConsoleWriter.cs.meta
│ │ │ ├── FormattedWriter.cs
│ │ │ ├── FormattedWriter.cs.meta
│ │ │ ├── NetworkWriter.cs
│ │ │ └── NetworkWriter.cs.meta
│ ├── Example.meta
│ └── Example
│ │ ├── CameraShiftEffect.cs
│ │ ├── CameraShiftEffect.cs.meta
│ │ ├── GameControllerCommands.cs
│ │ └── GameControllerCommands.cs.meta
├── Textures.meta
└── Textures
│ ├── LightTileTex.png
│ ├── LightTileTex.png.meta
│ ├── TileTex.png
│ └── TileTex.png.meta
├── Documentation
├── ambiguity.png
├── chelp.png
├── console.png
├── diagram.png
├── screenshot.gif
├── screenshot.psd
└── strings.png
├── LICENSE
├── Packages
└── manifest.json
├── ProjectSettings
├── AudioManager.asset
├── ClusterInputManager.asset
├── DynamicsManager.asset
├── EditorBuildSettings.asset
├── EditorSettings.asset
├── GraphicsSettings.asset
├── InputManager.asset
├── NavMeshAreas.asset
├── NetworkManager.asset
├── Physics2DSettings.asset
├── PresetManager.asset
├── ProjectSettings.asset
├── ProjectVersion.txt
├── QualitySettings.asset
├── TagManager.asset
├── TimeManager.asset
├── UnityConnectSettings.asset
├── VFXManager.asset
└── XRSettings.asset
├── Readme.md
└── ingame-console.unitypackage
/.gitignore:
--------------------------------------------------------------------------------
1 | [Ll]ibrary/
2 | [Tt]emp/
3 | [Oo]bj/
4 | [Bb]uild/
5 | [Bb]uilds/
6 | Assets/AssetStoreTools*
7 |
8 | # Visual Studio cache directory
9 | .vs/
10 |
11 | # Autogenerated VS/MD/Consulo solution and project files
12 | ExportedObj/
13 | .consulo/
14 | *.csproj
15 | *.unityproj
16 | *.sln
17 | *.suo
18 | *.tmp
19 | *.user
20 | *.userprefs
21 | *.pidb
22 | *.booproj
23 | *.svd
24 | *.pdb
25 | *.opendb
26 |
27 | # Unity3D generated meta files
28 | *.pidb.meta
29 | *.pdb.meta
30 |
31 | # Unity3D Generated File On Crash Reports
32 | sysinfo.txt
33 |
34 | # Builds
35 | *.apk
--------------------------------------------------------------------------------
/Assets/Animations.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 61e4672efaf9858409d59b735df0cddf
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Animations/Console.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: dce31d65463e557488ee7c348229e6d9
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Animations/Console/Console.controller:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!91 &9100000
4 | AnimatorController:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInternal: {fileID: 0}
8 | m_Name: Console
9 | serializedVersion: 5
10 | m_AnimatorParameters:
11 | - m_Name: Show
12 | m_Type: 4
13 | m_DefaultFloat: 0
14 | m_DefaultInt: 0
15 | m_DefaultBool: 0
16 | m_Controller: {fileID: 9100000}
17 | m_AnimatorLayers:
18 | - serializedVersion: 5
19 | m_Name: Base Layer
20 | m_StateMachine: {fileID: 1107056528728502042}
21 | m_Mask: {fileID: 0}
22 | m_Motions: []
23 | m_Behaviours: []
24 | m_BlendingMode: 0
25 | m_SyncedLayerIndex: -1
26 | m_DefaultWeight: 0
27 | m_IKPass: 0
28 | m_SyncedLayerAffectsTiming: 0
29 | m_Controller: {fileID: 9100000}
30 | --- !u!1101 &1101058987786663148
31 | AnimatorStateTransition:
32 | m_ObjectHideFlags: 1
33 | m_CorrespondingSourceObject: {fileID: 0}
34 | m_PrefabInternal: {fileID: 0}
35 | m_Name:
36 | m_Conditions:
37 | - m_ConditionMode: 1
38 | m_ConditionEvent: Show
39 | m_EventTreshold: 0
40 | m_DstStateMachine: {fileID: 0}
41 | m_DstState: {fileID: 1102471189829552882}
42 | m_Solo: 0
43 | m_Mute: 0
44 | m_IsExit: 0
45 | serializedVersion: 3
46 | m_TransitionDuration: 0
47 | m_TransitionOffset: 0
48 | m_ExitTime: 0.75
49 | m_HasExitTime: 0
50 | m_HasFixedDuration: 1
51 | m_InterruptionSource: 0
52 | m_OrderedInterruption: 1
53 | m_CanTransitionToSelf: 1
54 | --- !u!1101 &1101118200745156608
55 | AnimatorStateTransition:
56 | m_ObjectHideFlags: 1
57 | m_CorrespondingSourceObject: {fileID: 0}
58 | m_PrefabInternal: {fileID: 0}
59 | m_Name:
60 | m_Conditions: []
61 | m_DstStateMachine: {fileID: 0}
62 | m_DstState: {fileID: 1102297674783844966}
63 | m_Solo: 0
64 | m_Mute: 0
65 | m_IsExit: 0
66 | serializedVersion: 3
67 | m_TransitionDuration: 0
68 | m_TransitionOffset: 0
69 | m_ExitTime: 1
70 | m_HasExitTime: 1
71 | m_HasFixedDuration: 1
72 | m_InterruptionSource: 0
73 | m_OrderedInterruption: 1
74 | m_CanTransitionToSelf: 1
75 | --- !u!1101 &1101148023873969948
76 | AnimatorStateTransition:
77 | m_ObjectHideFlags: 1
78 | m_CorrespondingSourceObject: {fileID: 0}
79 | m_PrefabInternal: {fileID: 0}
80 | m_Name:
81 | m_Conditions:
82 | - m_ConditionMode: 2
83 | m_ConditionEvent: Show
84 | m_EventTreshold: 0
85 | m_DstStateMachine: {fileID: 0}
86 | m_DstState: {fileID: 1102219386955590660}
87 | m_Solo: 0
88 | m_Mute: 0
89 | m_IsExit: 0
90 | serializedVersion: 3
91 | m_TransitionDuration: 0
92 | m_TransitionOffset: 0
93 | m_ExitTime: 1
94 | m_HasExitTime: 0
95 | m_HasFixedDuration: 1
96 | m_InterruptionSource: 0
97 | m_OrderedInterruption: 1
98 | m_CanTransitionToSelf: 1
99 | --- !u!1101 &1101784628261485468
100 | AnimatorStateTransition:
101 | m_ObjectHideFlags: 1
102 | m_CorrespondingSourceObject: {fileID: 0}
103 | m_PrefabInternal: {fileID: 0}
104 | m_Name:
105 | m_Conditions:
106 | - m_ConditionMode: 2
107 | m_ConditionEvent: Show
108 | m_EventTreshold: 0
109 | m_DstStateMachine: {fileID: 0}
110 | m_DstState: {fileID: 1102219386955590660}
111 | m_Solo: 0
112 | m_Mute: 0
113 | m_IsExit: 0
114 | serializedVersion: 3
115 | m_TransitionDuration: 0.25
116 | m_TransitionOffset: 0
117 | m_ExitTime: 0.25
118 | m_HasExitTime: 0
119 | m_HasFixedDuration: 1
120 | m_InterruptionSource: 0
121 | m_OrderedInterruption: 1
122 | m_CanTransitionToSelf: 1
123 | --- !u!1101 &1101826593580416410
124 | AnimatorStateTransition:
125 | m_ObjectHideFlags: 1
126 | m_CorrespondingSourceObject: {fileID: 0}
127 | m_PrefabInternal: {fileID: 0}
128 | m_Name:
129 | m_Conditions:
130 | - m_ConditionMode: 1
131 | m_ConditionEvent: Show
132 | m_EventTreshold: 0
133 | m_DstStateMachine: {fileID: 0}
134 | m_DstState: {fileID: 1102471189829552882}
135 | m_Solo: 0
136 | m_Mute: 0
137 | m_IsExit: 0
138 | serializedVersion: 3
139 | m_TransitionDuration: 0.25
140 | m_TransitionOffset: 0
141 | m_ExitTime: 0.25
142 | m_HasExitTime: 0
143 | m_HasFixedDuration: 1
144 | m_InterruptionSource: 0
145 | m_OrderedInterruption: 1
146 | m_CanTransitionToSelf: 1
147 | --- !u!1101 &1101970532323496856
148 | AnimatorStateTransition:
149 | m_ObjectHideFlags: 1
150 | m_CorrespondingSourceObject: {fileID: 0}
151 | m_PrefabInternal: {fileID: 0}
152 | m_Name:
153 | m_Conditions: []
154 | m_DstStateMachine: {fileID: 0}
155 | m_DstState: {fileID: 1102028995830237472}
156 | m_Solo: 0
157 | m_Mute: 0
158 | m_IsExit: 0
159 | serializedVersion: 3
160 | m_TransitionDuration: 0
161 | m_TransitionOffset: 0
162 | m_ExitTime: 1
163 | m_HasExitTime: 1
164 | m_HasFixedDuration: 1
165 | m_InterruptionSource: 0
166 | m_OrderedInterruption: 1
167 | m_CanTransitionToSelf: 1
168 | --- !u!1102 &1102028995830237472
169 | AnimatorState:
170 | serializedVersion: 5
171 | m_ObjectHideFlags: 1
172 | m_CorrespondingSourceObject: {fileID: 0}
173 | m_PrefabInternal: {fileID: 0}
174 | m_Name: ConsoleEnabledIdle
175 | m_Speed: 1
176 | m_CycleOffset: 0
177 | m_Transitions:
178 | - {fileID: 1101148023873969948}
179 | m_StateMachineBehaviours: []
180 | m_Position: {x: 50, y: 50, z: 0}
181 | m_IKOnFeet: 0
182 | m_WriteDefaultValues: 1
183 | m_Mirror: 0
184 | m_SpeedParameterActive: 0
185 | m_MirrorParameterActive: 0
186 | m_CycleOffsetParameterActive: 0
187 | m_TimeParameterActive: 0
188 | m_Motion: {fileID: 7400000, guid: 4bf79778e014ada4b8754e9177d27b67, type: 2}
189 | m_Tag:
190 | m_SpeedParameter:
191 | m_MirrorParameter:
192 | m_CycleOffsetParameter:
193 | m_TimeParameter:
194 | --- !u!1102 &1102219386955590660
195 | AnimatorState:
196 | serializedVersion: 5
197 | m_ObjectHideFlags: 1
198 | m_CorrespondingSourceObject: {fileID: 0}
199 | m_PrefabInternal: {fileID: 0}
200 | m_Name: ConsoleHide
201 | m_Speed: 1
202 | m_CycleOffset: 0
203 | m_Transitions:
204 | - {fileID: 1101118200745156608}
205 | - {fileID: 1101826593580416410}
206 | m_StateMachineBehaviours: []
207 | m_Position: {x: 50, y: 50, z: 0}
208 | m_IKOnFeet: 0
209 | m_WriteDefaultValues: 1
210 | m_Mirror: 0
211 | m_SpeedParameterActive: 0
212 | m_MirrorParameterActive: 0
213 | m_CycleOffsetParameterActive: 0
214 | m_TimeParameterActive: 0
215 | m_Motion: {fileID: 7400000, guid: 94981eebe6324884993ddb5481b659ca, type: 2}
216 | m_Tag:
217 | m_SpeedParameter:
218 | m_MirrorParameter:
219 | m_CycleOffsetParameter:
220 | m_TimeParameter:
221 | --- !u!1102 &1102297674783844966
222 | AnimatorState:
223 | serializedVersion: 5
224 | m_ObjectHideFlags: 1
225 | m_CorrespondingSourceObject: {fileID: 0}
226 | m_PrefabInternal: {fileID: 0}
227 | m_Name: ConsoleDisabledIdle
228 | m_Speed: 1
229 | m_CycleOffset: 0
230 | m_Transitions:
231 | - {fileID: 1101058987786663148}
232 | m_StateMachineBehaviours: []
233 | m_Position: {x: 50, y: 50, z: 0}
234 | m_IKOnFeet: 0
235 | m_WriteDefaultValues: 1
236 | m_Mirror: 0
237 | m_SpeedParameterActive: 0
238 | m_MirrorParameterActive: 0
239 | m_CycleOffsetParameterActive: 0
240 | m_TimeParameterActive: 0
241 | m_Motion: {fileID: 7400000, guid: 0e1483d14d162c4458a35aa146a48d7f, type: 2}
242 | m_Tag:
243 | m_SpeedParameter:
244 | m_MirrorParameter:
245 | m_CycleOffsetParameter:
246 | m_TimeParameter:
247 | --- !u!1102 &1102471189829552882
248 | AnimatorState:
249 | serializedVersion: 5
250 | m_ObjectHideFlags: 1
251 | m_CorrespondingSourceObject: {fileID: 0}
252 | m_PrefabInternal: {fileID: 0}
253 | m_Name: ConsoleShow
254 | m_Speed: 1
255 | m_CycleOffset: 0
256 | m_Transitions:
257 | - {fileID: 1101970532323496856}
258 | - {fileID: 1101784628261485468}
259 | m_StateMachineBehaviours: []
260 | m_Position: {x: 50, y: 50, z: 0}
261 | m_IKOnFeet: 0
262 | m_WriteDefaultValues: 1
263 | m_Mirror: 0
264 | m_SpeedParameterActive: 0
265 | m_MirrorParameterActive: 0
266 | m_CycleOffsetParameterActive: 0
267 | m_TimeParameterActive: 0
268 | m_Motion: {fileID: 7400000, guid: ac0140abaea7ec34f9fa2bab9638e6f3, type: 2}
269 | m_Tag:
270 | m_SpeedParameter:
271 | m_MirrorParameter:
272 | m_CycleOffsetParameter:
273 | m_TimeParameter:
274 | --- !u!1107 &1107056528728502042
275 | AnimatorStateMachine:
276 | serializedVersion: 5
277 | m_ObjectHideFlags: 1
278 | m_CorrespondingSourceObject: {fileID: 0}
279 | m_PrefabInternal: {fileID: 0}
280 | m_Name: Base Layer
281 | m_ChildStates:
282 | - serializedVersion: 1
283 | m_State: {fileID: 1102297674783844966}
284 | m_Position: {x: 168, y: 24, z: 0}
285 | - serializedVersion: 1
286 | m_State: {fileID: 1102028995830237472}
287 | m_Position: {x: 648, y: 24, z: 0}
288 | - serializedVersion: 1
289 | m_State: {fileID: 1102471189829552882}
290 | m_Position: {x: 408, y: -144, z: 0}
291 | - serializedVersion: 1
292 | m_State: {fileID: 1102219386955590660}
293 | m_Position: {x: 432, y: 264, z: 0}
294 | m_ChildStateMachines: []
295 | m_AnyStateTransitions: []
296 | m_EntryTransitions: []
297 | m_StateMachineTransitions: {}
298 | m_StateMachineBehaviours: []
299 | m_AnyStatePosition: {x: 24, y: -96, z: 0}
300 | m_EntryPosition: {x: 50, y: 120, z: 0}
301 | m_ExitPosition: {x: 852, y: 240, z: 0}
302 | m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
303 | m_DefaultState: {fileID: 1102297674783844966}
304 |
--------------------------------------------------------------------------------
/Assets/Animations/Console/Console.controller.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: fe23686e437aeff4f8edf6e69cb030f5
3 | timeCreated: 1507132186
4 | licenseType: Free
5 | NativeFormatImporter:
6 | mainObjectFileID: 9100000
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/Animations/Console/ConsoleDisabledIdle.anim:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!74 &7400000
4 | AnimationClip:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInternal: {fileID: 0}
8 | m_Name: ConsoleDisabledIdle
9 | serializedVersion: 6
10 | m_Legacy: 0
11 | m_Compressed: 0
12 | m_UseHighQualityCurve: 1
13 | m_RotationCurves: []
14 | m_CompressedRotationCurves: []
15 | m_EulerCurves: []
16 | m_PositionCurves: []
17 | m_ScaleCurves: []
18 | m_FloatCurves:
19 | - curve:
20 | serializedVersion: 2
21 | m_Curve:
22 | - serializedVersion: 3
23 | time: 0
24 | value: 0
25 | inSlope: 0
26 | outSlope: 0
27 | tangentMode: 136
28 | weightedMode: 0
29 | inWeight: 0.33333334
30 | outWeight: 0.33333334
31 | m_PreInfinity: 2
32 | m_PostInfinity: 2
33 | m_RotationOrder: 4
34 | attribute: m_Alpha
35 | path:
36 | classID: 225
37 | script: {fileID: 0}
38 | m_PPtrCurves: []
39 | m_SampleRate: 60
40 | m_WrapMode: 0
41 | m_Bounds:
42 | m_Center: {x: 0, y: 0, z: 0}
43 | m_Extent: {x: 0, y: 0, z: 0}
44 | m_ClipBindingConstant:
45 | genericBindings:
46 | - serializedVersion: 2
47 | path: 0
48 | attribute: 1574349066
49 | script: {fileID: 0}
50 | typeID: 225
51 | customType: 0
52 | isPPtrCurve: 0
53 | pptrCurveMapping: []
54 | m_AnimationClipSettings:
55 | serializedVersion: 2
56 | m_AdditiveReferencePoseClip: {fileID: 0}
57 | m_AdditiveReferencePoseTime: 0
58 | m_StartTime: 0
59 | m_StopTime: 0
60 | m_OrientationOffsetY: 0
61 | m_Level: 0
62 | m_CycleOffset: 0
63 | m_HasAdditiveReferencePose: 0
64 | m_LoopTime: 1
65 | m_LoopBlend: 0
66 | m_LoopBlendOrientation: 0
67 | m_LoopBlendPositionY: 0
68 | m_LoopBlendPositionXZ: 0
69 | m_KeepOriginalOrientation: 0
70 | m_KeepOriginalPositionY: 1
71 | m_KeepOriginalPositionXZ: 0
72 | m_HeightFromFeet: 0
73 | m_Mirror: 0
74 | m_EditorCurves:
75 | - curve:
76 | serializedVersion: 2
77 | m_Curve:
78 | - serializedVersion: 3
79 | time: 0
80 | value: 0
81 | inSlope: 0
82 | outSlope: 0
83 | tangentMode: 136
84 | weightedMode: 0
85 | inWeight: 0.33333334
86 | outWeight: 0.33333334
87 | m_PreInfinity: 2
88 | m_PostInfinity: 2
89 | m_RotationOrder: 4
90 | attribute: m_Alpha
91 | path:
92 | classID: 225
93 | script: {fileID: 0}
94 | m_EulerEditorCurves: []
95 | m_HasGenericRootTransform: 0
96 | m_HasMotionFloatCurves: 0
97 | m_GenerateMotionCurves: 0
98 | m_Events: []
99 |
--------------------------------------------------------------------------------
/Assets/Animations/Console/ConsoleDisabledIdle.anim.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 0e1483d14d162c4458a35aa146a48d7f
3 | timeCreated: 1507132185
4 | licenseType: Free
5 | NativeFormatImporter:
6 | mainObjectFileID: 7400000
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/Animations/Console/ConsoleEnabledIdle.anim:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!74 &7400000
4 | AnimationClip:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInternal: {fileID: 0}
8 | m_Name: ConsoleEnabledIdle
9 | serializedVersion: 6
10 | m_Legacy: 0
11 | m_Compressed: 0
12 | m_UseHighQualityCurve: 1
13 | m_RotationCurves: []
14 | m_CompressedRotationCurves: []
15 | m_EulerCurves: []
16 | m_PositionCurves: []
17 | m_ScaleCurves: []
18 | m_FloatCurves:
19 | - curve:
20 | serializedVersion: 2
21 | m_Curve:
22 | - serializedVersion: 3
23 | time: 0
24 | value: 0.9
25 | inSlope: 0
26 | outSlope: 0
27 | tangentMode: 136
28 | weightedMode: 0
29 | inWeight: 0.33333334
30 | outWeight: 0.33333334
31 | m_PreInfinity: 2
32 | m_PostInfinity: 2
33 | m_RotationOrder: 4
34 | attribute: m_Alpha
35 | path:
36 | classID: 225
37 | script: {fileID: 0}
38 | m_PPtrCurves: []
39 | m_SampleRate: 60
40 | m_WrapMode: 0
41 | m_Bounds:
42 | m_Center: {x: 0, y: 0, z: 0}
43 | m_Extent: {x: 0, y: 0, z: 0}
44 | m_ClipBindingConstant:
45 | genericBindings:
46 | - serializedVersion: 2
47 | path: 0
48 | attribute: 1574349066
49 | script: {fileID: 0}
50 | typeID: 225
51 | customType: 0
52 | isPPtrCurve: 0
53 | pptrCurveMapping: []
54 | m_AnimationClipSettings:
55 | serializedVersion: 2
56 | m_AdditiveReferencePoseClip: {fileID: 0}
57 | m_AdditiveReferencePoseTime: 0
58 | m_StartTime: 0
59 | m_StopTime: 0
60 | m_OrientationOffsetY: 0
61 | m_Level: 0
62 | m_CycleOffset: 0
63 | m_HasAdditiveReferencePose: 0
64 | m_LoopTime: 1
65 | m_LoopBlend: 0
66 | m_LoopBlendOrientation: 0
67 | m_LoopBlendPositionY: 0
68 | m_LoopBlendPositionXZ: 0
69 | m_KeepOriginalOrientation: 0
70 | m_KeepOriginalPositionY: 1
71 | m_KeepOriginalPositionXZ: 0
72 | m_HeightFromFeet: 0
73 | m_Mirror: 0
74 | m_EditorCurves:
75 | - curve:
76 | serializedVersion: 2
77 | m_Curve:
78 | - serializedVersion: 3
79 | time: 0
80 | value: 0.9
81 | inSlope: 0
82 | outSlope: 0
83 | tangentMode: 136
84 | weightedMode: 0
85 | inWeight: 0.33333334
86 | outWeight: 0.33333334
87 | m_PreInfinity: 2
88 | m_PostInfinity: 2
89 | m_RotationOrder: 4
90 | attribute: m_Alpha
91 | path:
92 | classID: 225
93 | script: {fileID: 0}
94 | m_EulerEditorCurves: []
95 | m_HasGenericRootTransform: 0
96 | m_HasMotionFloatCurves: 0
97 | m_GenerateMotionCurves: 0
98 | m_Events: []
99 |
--------------------------------------------------------------------------------
/Assets/Animations/Console/ConsoleEnabledIdle.anim.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 4bf79778e014ada4b8754e9177d27b67
3 | timeCreated: 1507132215
4 | licenseType: Free
5 | NativeFormatImporter:
6 | mainObjectFileID: 7400000
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/Animations/Console/ConsoleHide.anim:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!74 &7400000
4 | AnimationClip:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInternal: {fileID: 0}
8 | m_Name: ConsoleHide
9 | serializedVersion: 6
10 | m_Legacy: 0
11 | m_Compressed: 0
12 | m_UseHighQualityCurve: 1
13 | m_RotationCurves: []
14 | m_CompressedRotationCurves: []
15 | m_EulerCurves: []
16 | m_PositionCurves: []
17 | m_ScaleCurves: []
18 | m_FloatCurves:
19 | - curve:
20 | serializedVersion: 2
21 | m_Curve:
22 | - serializedVersion: 3
23 | time: 0
24 | value: 0.9
25 | inSlope: 0
26 | outSlope: 0
27 | tangentMode: 136
28 | weightedMode: 0
29 | inWeight: 0.33333334
30 | outWeight: 0.33333334
31 | - serializedVersion: 3
32 | time: 0.16666667
33 | value: 0
34 | inSlope: 0
35 | outSlope: 0
36 | tangentMode: 136
37 | weightedMode: 0
38 | inWeight: 0.33333334
39 | outWeight: 0.33333334
40 | m_PreInfinity: 2
41 | m_PostInfinity: 2
42 | m_RotationOrder: 4
43 | attribute: m_Alpha
44 | path:
45 | classID: 225
46 | script: {fileID: 0}
47 | m_PPtrCurves: []
48 | m_SampleRate: 60
49 | m_WrapMode: 0
50 | m_Bounds:
51 | m_Center: {x: 0, y: 0, z: 0}
52 | m_Extent: {x: 0, y: 0, z: 0}
53 | m_ClipBindingConstant:
54 | genericBindings:
55 | - serializedVersion: 2
56 | path: 0
57 | attribute: 1574349066
58 | script: {fileID: 0}
59 | typeID: 225
60 | customType: 0
61 | isPPtrCurve: 0
62 | pptrCurveMapping: []
63 | m_AnimationClipSettings:
64 | serializedVersion: 2
65 | m_AdditiveReferencePoseClip: {fileID: 0}
66 | m_AdditiveReferencePoseTime: 0
67 | m_StartTime: 0
68 | m_StopTime: 0.16666667
69 | m_OrientationOffsetY: 0
70 | m_Level: 0
71 | m_CycleOffset: 0
72 | m_HasAdditiveReferencePose: 0
73 | m_LoopTime: 1
74 | m_LoopBlend: 0
75 | m_LoopBlendOrientation: 0
76 | m_LoopBlendPositionY: 0
77 | m_LoopBlendPositionXZ: 0
78 | m_KeepOriginalOrientation: 0
79 | m_KeepOriginalPositionY: 1
80 | m_KeepOriginalPositionXZ: 0
81 | m_HeightFromFeet: 0
82 | m_Mirror: 0
83 | m_EditorCurves:
84 | - curve:
85 | serializedVersion: 2
86 | m_Curve:
87 | - serializedVersion: 3
88 | time: 0
89 | value: 0.9
90 | inSlope: 0
91 | outSlope: 0
92 | tangentMode: 136
93 | weightedMode: 0
94 | inWeight: 0.33333334
95 | outWeight: 0.33333334
96 | - serializedVersion: 3
97 | time: 0.16666667
98 | value: 0
99 | inSlope: 0
100 | outSlope: 0
101 | tangentMode: 136
102 | weightedMode: 0
103 | inWeight: 0.33333334
104 | outWeight: 0.33333334
105 | m_PreInfinity: 2
106 | m_PostInfinity: 2
107 | m_RotationOrder: 4
108 | attribute: m_Alpha
109 | path:
110 | classID: 225
111 | script: {fileID: 0}
112 | m_EulerEditorCurves: []
113 | m_HasGenericRootTransform: 0
114 | m_HasMotionFloatCurves: 0
115 | m_GenerateMotionCurves: 0
116 | m_Events: []
117 |
--------------------------------------------------------------------------------
/Assets/Animations/Console/ConsoleHide.anim.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 94981eebe6324884993ddb5481b659ca
3 | timeCreated: 1507132386
4 | licenseType: Free
5 | NativeFormatImporter:
6 | mainObjectFileID: 7400000
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/Animations/Console/ConsoleShow.anim:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!74 &7400000
4 | AnimationClip:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInternal: {fileID: 0}
8 | m_Name: ConsoleShow
9 | serializedVersion: 6
10 | m_Legacy: 0
11 | m_Compressed: 0
12 | m_UseHighQualityCurve: 1
13 | m_RotationCurves: []
14 | m_CompressedRotationCurves: []
15 | m_EulerCurves: []
16 | m_PositionCurves: []
17 | m_ScaleCurves: []
18 | m_FloatCurves:
19 | - curve:
20 | serializedVersion: 2
21 | m_Curve:
22 | - serializedVersion: 3
23 | time: 0
24 | value: 0
25 | inSlope: 0
26 | outSlope: 0
27 | tangentMode: 136
28 | weightedMode: 0
29 | inWeight: 0.33333334
30 | outWeight: 0.33333334
31 | - serializedVersion: 3
32 | time: 0.16666667
33 | value: 0.9
34 | inSlope: 0
35 | outSlope: 0
36 | tangentMode: 136
37 | weightedMode: 0
38 | inWeight: 0.33333334
39 | outWeight: 0.33333334
40 | m_PreInfinity: 2
41 | m_PostInfinity: 2
42 | m_RotationOrder: 4
43 | attribute: m_Alpha
44 | path:
45 | classID: 225
46 | script: {fileID: 0}
47 | m_PPtrCurves: []
48 | m_SampleRate: 60
49 | m_WrapMode: 0
50 | m_Bounds:
51 | m_Center: {x: 0, y: 0, z: 0}
52 | m_Extent: {x: 0, y: 0, z: 0}
53 | m_ClipBindingConstant:
54 | genericBindings:
55 | - serializedVersion: 2
56 | path: 0
57 | attribute: 1574349066
58 | script: {fileID: 0}
59 | typeID: 225
60 | customType: 0
61 | isPPtrCurve: 0
62 | pptrCurveMapping: []
63 | m_AnimationClipSettings:
64 | serializedVersion: 2
65 | m_AdditiveReferencePoseClip: {fileID: 0}
66 | m_AdditiveReferencePoseTime: 0
67 | m_StartTime: 0
68 | m_StopTime: 0.16666667
69 | m_OrientationOffsetY: 0
70 | m_Level: 0
71 | m_CycleOffset: 0
72 | m_HasAdditiveReferencePose: 0
73 | m_LoopTime: 1
74 | m_LoopBlend: 0
75 | m_LoopBlendOrientation: 0
76 | m_LoopBlendPositionY: 0
77 | m_LoopBlendPositionXZ: 0
78 | m_KeepOriginalOrientation: 0
79 | m_KeepOriginalPositionY: 1
80 | m_KeepOriginalPositionXZ: 0
81 | m_HeightFromFeet: 0
82 | m_Mirror: 0
83 | m_EditorCurves:
84 | - curve:
85 | serializedVersion: 2
86 | m_Curve:
87 | - serializedVersion: 3
88 | time: 0
89 | value: 0
90 | inSlope: 0
91 | outSlope: 0
92 | tangentMode: 136
93 | weightedMode: 0
94 | inWeight: 0.33333334
95 | outWeight: 0.33333334
96 | - serializedVersion: 3
97 | time: 0.16666667
98 | value: 0.9
99 | inSlope: 0
100 | outSlope: 0
101 | tangentMode: 136
102 | weightedMode: 0
103 | inWeight: 0.33333334
104 | outWeight: 0.33333334
105 | m_PreInfinity: 2
106 | m_PostInfinity: 2
107 | m_RotationOrder: 4
108 | attribute: m_Alpha
109 | path:
110 | classID: 225
111 | script: {fileID: 0}
112 | m_EulerEditorCurves: []
113 | m_HasGenericRootTransform: 0
114 | m_HasMotionFloatCurves: 0
115 | m_GenerateMotionCurves: 0
116 | m_Events: []
117 |
--------------------------------------------------------------------------------
/Assets/Animations/Console/ConsoleShow.anim.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: ac0140abaea7ec34f9fa2bab9638e6f3
3 | timeCreated: 1507132241
4 | licenseType: Free
5 | NativeFormatImporter:
6 | mainObjectFileID: 7400000
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/Materials.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 7aa3d984df797954786ec3a63ec2be00
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Materials/Example.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: ebf576f7aafd07b4ca9e1e45787750fc
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Materials/Example/CubeMat.mat:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!21 &2100000
4 | Material:
5 | serializedVersion: 6
6 | m_ObjectHideFlags: 0
7 | m_CorrespondingSourceObject: {fileID: 0}
8 | m_PrefabInternal: {fileID: 0}
9 | m_Name: CubeMat
10 | m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
11 | m_ShaderKeywords:
12 | m_LightmapFlags: 4
13 | m_EnableInstancingVariants: 0
14 | m_DoubleSidedGI: 0
15 | m_CustomRenderQueue: -1
16 | stringTagMap: {}
17 | disabledShaderPasses: []
18 | m_SavedProperties:
19 | serializedVersion: 3
20 | m_TexEnvs:
21 | - _BumpMap:
22 | m_Texture: {fileID: 0}
23 | m_Scale: {x: 1, y: 1}
24 | m_Offset: {x: 0, y: 0}
25 | - _DetailAlbedoMap:
26 | m_Texture: {fileID: 0}
27 | m_Scale: {x: 1, y: 1}
28 | m_Offset: {x: 0, y: 0}
29 | - _DetailMask:
30 | m_Texture: {fileID: 0}
31 | m_Scale: {x: 1, y: 1}
32 | m_Offset: {x: 0, y: 0}
33 | - _DetailNormalMap:
34 | m_Texture: {fileID: 0}
35 | m_Scale: {x: 1, y: 1}
36 | m_Offset: {x: 0, y: 0}
37 | - _EmissionMap:
38 | m_Texture: {fileID: 0}
39 | m_Scale: {x: 1, y: 1}
40 | m_Offset: {x: 0, y: 0}
41 | - _MainTex:
42 | m_Texture: {fileID: 0}
43 | m_Scale: {x: 1, y: 1}
44 | m_Offset: {x: 0, y: 0}
45 | - _MetallicGlossMap:
46 | m_Texture: {fileID: 0}
47 | m_Scale: {x: 1, y: 1}
48 | m_Offset: {x: 0, y: 0}
49 | - _OcclusionMap:
50 | m_Texture: {fileID: 0}
51 | m_Scale: {x: 1, y: 1}
52 | m_Offset: {x: 0, y: 0}
53 | - _ParallaxMap:
54 | m_Texture: {fileID: 0}
55 | m_Scale: {x: 1, y: 1}
56 | m_Offset: {x: 0, y: 0}
57 | m_Floats:
58 | - _BumpScale: 1
59 | - _Cutoff: 0.5
60 | - _DetailNormalMapScale: 1
61 | - _DstBlend: 0
62 | - _GlossMapScale: 1
63 | - _Glossiness: 0
64 | - _GlossyReflections: 1
65 | - _Metallic: 0
66 | - _Mode: 0
67 | - _OcclusionStrength: 1
68 | - _Parallax: 0.02
69 | - _SmoothnessTextureChannel: 0
70 | - _SpecularHighlights: 1
71 | - _SrcBlend: 1
72 | - _UVSec: 0
73 | - _ZWrite: 1
74 | m_Colors:
75 | - _Color: {r: 0.9490196, g: 0.69411767, b: 0.20392157, a: 1}
76 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
77 |
--------------------------------------------------------------------------------
/Assets/Materials/Example/CubeMat.mat.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 9fe852ba74a9aeb40bb3e503d82ba8b5
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 2100000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Materials/Example/LevelDarkMat.mat:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!21 &2100000
4 | Material:
5 | serializedVersion: 6
6 | m_ObjectHideFlags: 0
7 | m_CorrespondingSourceObject: {fileID: 0}
8 | m_PrefabInternal: {fileID: 0}
9 | m_Name: LevelDarkMat
10 | m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
11 | m_ShaderKeywords:
12 | m_LightmapFlags: 4
13 | m_EnableInstancingVariants: 0
14 | m_DoubleSidedGI: 0
15 | m_CustomRenderQueue: -1
16 | stringTagMap: {}
17 | disabledShaderPasses: []
18 | m_SavedProperties:
19 | serializedVersion: 3
20 | m_TexEnvs:
21 | - _BumpMap:
22 | m_Texture: {fileID: 0}
23 | m_Scale: {x: 1, y: 1}
24 | m_Offset: {x: 0, y: 0}
25 | - _DetailAlbedoMap:
26 | m_Texture: {fileID: 0}
27 | m_Scale: {x: 1, y: 1}
28 | m_Offset: {x: 0, y: 0}
29 | - _DetailMask:
30 | m_Texture: {fileID: 0}
31 | m_Scale: {x: 1, y: 1}
32 | m_Offset: {x: 0, y: 0}
33 | - _DetailNormalMap:
34 | m_Texture: {fileID: 0}
35 | m_Scale: {x: 1, y: 1}
36 | m_Offset: {x: 0, y: 0}
37 | - _EmissionMap:
38 | m_Texture: {fileID: 0}
39 | m_Scale: {x: 1, y: 1}
40 | m_Offset: {x: 0, y: 0}
41 | - _MainTex:
42 | m_Texture: {fileID: 2800000, guid: 02dba095125c86f49a68c21f9b881627, type: 3}
43 | m_Scale: {x: 1, y: 1}
44 | m_Offset: {x: 0, y: 0}
45 | - _MetallicGlossMap:
46 | m_Texture: {fileID: 0}
47 | m_Scale: {x: 1, y: 1}
48 | m_Offset: {x: 0, y: 0}
49 | - _OcclusionMap:
50 | m_Texture: {fileID: 0}
51 | m_Scale: {x: 1, y: 1}
52 | m_Offset: {x: 0, y: 0}
53 | - _ParallaxMap:
54 | m_Texture: {fileID: 0}
55 | m_Scale: {x: 1, y: 1}
56 | m_Offset: {x: 0, y: 0}
57 | m_Floats:
58 | - _BumpScale: 1
59 | - _Cutoff: 0.5
60 | - _DetailNormalMapScale: 1
61 | - _DstBlend: 0
62 | - _GlossMapScale: 1
63 | - _Glossiness: 0
64 | - _GlossyReflections: 1
65 | - _Metallic: 0
66 | - _Mode: 0
67 | - _OcclusionStrength: 1
68 | - _Parallax: 0.02
69 | - _SmoothnessTextureChannel: 0
70 | - _SpecularHighlights: 1
71 | - _SrcBlend: 1
72 | - _UVSec: 0
73 | - _ZWrite: 1
74 | m_Colors:
75 | - _Color: {r: 0.4056604, g: 0.4056604, b: 0.4056604, a: 1}
76 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
77 |
--------------------------------------------------------------------------------
/Assets/Materials/Example/LevelDarkMat.mat.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 0c4d221bcee0e4244b5536ea1d0781e7
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 2100000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Materials/Example/LevelLightMat.mat:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!21 &2100000
4 | Material:
5 | serializedVersion: 6
6 | m_ObjectHideFlags: 0
7 | m_CorrespondingSourceObject: {fileID: 0}
8 | m_PrefabInternal: {fileID: 0}
9 | m_Name: LevelLightMat
10 | m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
11 | m_ShaderKeywords:
12 | m_LightmapFlags: 4
13 | m_EnableInstancingVariants: 0
14 | m_DoubleSidedGI: 0
15 | m_CustomRenderQueue: -1
16 | stringTagMap: {}
17 | disabledShaderPasses: []
18 | m_SavedProperties:
19 | serializedVersion: 3
20 | m_TexEnvs:
21 | - _BumpMap:
22 | m_Texture: {fileID: 0}
23 | m_Scale: {x: 1, y: 1}
24 | m_Offset: {x: 0, y: 0}
25 | - _DetailAlbedoMap:
26 | m_Texture: {fileID: 0}
27 | m_Scale: {x: 1, y: 1}
28 | m_Offset: {x: 0, y: 0}
29 | - _DetailMask:
30 | m_Texture: {fileID: 0}
31 | m_Scale: {x: 1, y: 1}
32 | m_Offset: {x: 0, y: 0}
33 | - _DetailNormalMap:
34 | m_Texture: {fileID: 0}
35 | m_Scale: {x: 1, y: 1}
36 | m_Offset: {x: 0, y: 0}
37 | - _EmissionMap:
38 | m_Texture: {fileID: 0}
39 | m_Scale: {x: 1, y: 1}
40 | m_Offset: {x: 0, y: 0}
41 | - _MainTex:
42 | m_Texture: {fileID: 2800000, guid: 26e38758943309a4d89ebcdf69072a91, type: 3}
43 | m_Scale: {x: 1, y: 1}
44 | m_Offset: {x: 0, y: 0}
45 | - _MetallicGlossMap:
46 | m_Texture: {fileID: 0}
47 | m_Scale: {x: 1, y: 1}
48 | m_Offset: {x: 0, y: 0}
49 | - _OcclusionMap:
50 | m_Texture: {fileID: 0}
51 | m_Scale: {x: 1, y: 1}
52 | m_Offset: {x: 0, y: 0}
53 | - _ParallaxMap:
54 | m_Texture: {fileID: 0}
55 | m_Scale: {x: 1, y: 1}
56 | m_Offset: {x: 0, y: 0}
57 | m_Floats:
58 | - _BumpScale: 1
59 | - _Cutoff: 0.5
60 | - _DetailNormalMapScale: 1
61 | - _DstBlend: 0
62 | - _GlossMapScale: 1
63 | - _Glossiness: 0
64 | - _GlossyReflections: 1
65 | - _Metallic: 0
66 | - _Mode: 0
67 | - _OcclusionStrength: 1
68 | - _Parallax: 0.02
69 | - _SmoothnessTextureChannel: 0
70 | - _SpecularHighlights: 1
71 | - _SrcBlend: 1
72 | - _UVSec: 0
73 | - _ZWrite: 1
74 | m_Colors:
75 | - _Color: {r: 1, g: 1, b: 1, a: 1}
76 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
77 |
--------------------------------------------------------------------------------
/Assets/Materials/Example/LevelLightMat.mat.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f23df3e1b67f1b0449e668a8b1bee2de
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 2100000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Prefabs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 586f847a056af274da7d36046bef3c80
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Prefabs/Console.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 3f81662da834e6a47ae127a0fad41739
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Prefabs/Console/Console.prefab:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!1 &1117157207591462
4 | GameObject:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | serializedVersion: 6
10 | m_Component:
11 | - component: {fileID: 224821719520202754}
12 | - component: {fileID: 222931389215027678}
13 | - component: {fileID: 114377074958403426}
14 | m_Layer: 5
15 | m_Name: Input
16 | m_TagString: Untagged
17 | m_Icon: {fileID: 0}
18 | m_NavMeshLayer: 0
19 | m_StaticEditorFlags: 0
20 | m_IsActive: 1
21 | --- !u!224 &224821719520202754
22 | RectTransform:
23 | m_ObjectHideFlags: 0
24 | m_CorrespondingSourceObject: {fileID: 0}
25 | m_PrefabInstance: {fileID: 0}
26 | m_PrefabAsset: {fileID: 0}
27 | m_GameObject: {fileID: 1117157207591462}
28 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
29 | m_LocalPosition: {x: 0, y: 0, z: 0}
30 | m_LocalScale: {x: 1, y: 1, z: 1}
31 | m_Children: []
32 | m_Father: {fileID: 224610245195119282}
33 | m_RootOrder: 0
34 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
35 | m_AnchorMin: {x: 0, y: 0}
36 | m_AnchorMax: {x: 1, y: 1}
37 | m_AnchoredPosition: {x: 2.5, y: 0}
38 | m_SizeDelta: {x: -5, y: 0}
39 | m_Pivot: {x: 0.5, y: 0.5}
40 | --- !u!222 &222931389215027678
41 | CanvasRenderer:
42 | m_ObjectHideFlags: 0
43 | m_CorrespondingSourceObject: {fileID: 0}
44 | m_PrefabInstance: {fileID: 0}
45 | m_PrefabAsset: {fileID: 0}
46 | m_GameObject: {fileID: 1117157207591462}
47 | m_CullTransparentMesh: 0
48 | --- !u!114 &114377074958403426
49 | MonoBehaviour:
50 | m_ObjectHideFlags: 0
51 | m_CorrespondingSourceObject: {fileID: 0}
52 | m_PrefabInstance: {fileID: 0}
53 | m_PrefabAsset: {fileID: 0}
54 | m_GameObject: {fileID: 1117157207591462}
55 | m_Enabled: 1
56 | m_EditorHideFlags: 0
57 | m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
58 | m_Name:
59 | m_EditorClassIdentifier:
60 | m_Material: {fileID: 0}
61 | m_Color: {r: 0, g: 0, b: 0, a: 1}
62 | m_RaycastTarget: 1
63 | m_OnCullStateChanged:
64 | m_PersistentCalls:
65 | m_Calls: []
66 | m_FontData:
67 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
68 | m_FontSize: 14
69 | m_FontStyle: 0
70 | m_BestFit: 1
71 | m_MinSize: 11
72 | m_MaxSize: 14
73 | m_Alignment: 3
74 | m_AlignByGeometry: 0
75 | m_RichText: 0
76 | m_HorizontalOverflow: 1
77 | m_VerticalOverflow: 0
78 | m_LineSpacing: 1
79 | m_Text:
80 | --- !u!1 &1288808315495784
81 | GameObject:
82 | m_ObjectHideFlags: 0
83 | m_CorrespondingSourceObject: {fileID: 0}
84 | m_PrefabInstance: {fileID: 0}
85 | m_PrefabAsset: {fileID: 0}
86 | serializedVersion: 6
87 | m_Component:
88 | - component: {fileID: 224463688881281336}
89 | - component: {fileID: 222410373376015094}
90 | - component: {fileID: 114978806635254696}
91 | - component: {fileID: 114577636812099652}
92 | m_Layer: 5
93 | m_Name: Output
94 | m_TagString: Untagged
95 | m_Icon: {fileID: 0}
96 | m_NavMeshLayer: 0
97 | m_StaticEditorFlags: 0
98 | m_IsActive: 1
99 | --- !u!224 &224463688881281336
100 | RectTransform:
101 | m_ObjectHideFlags: 0
102 | m_CorrespondingSourceObject: {fileID: 0}
103 | m_PrefabInstance: {fileID: 0}
104 | m_PrefabAsset: {fileID: 0}
105 | m_GameObject: {fileID: 1288808315495784}
106 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
107 | m_LocalPosition: {x: 0, y: 0, z: 0}
108 | m_LocalScale: {x: 1, y: 1, z: 1}
109 | m_Children: []
110 | m_Father: {fileID: 224995589260172240}
111 | m_RootOrder: 0
112 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
113 | m_AnchorMin: {x: 0, y: 0}
114 | m_AnchorMax: {x: 1, y: 1}
115 | m_AnchoredPosition: {x: 2.5, y: 4.205002}
116 | m_SizeDelta: {x: -5, y: -8.409985}
117 | m_Pivot: {x: 0.5, y: 0.5}
118 | --- !u!222 &222410373376015094
119 | CanvasRenderer:
120 | m_ObjectHideFlags: 0
121 | m_CorrespondingSourceObject: {fileID: 0}
122 | m_PrefabInstance: {fileID: 0}
123 | m_PrefabAsset: {fileID: 0}
124 | m_GameObject: {fileID: 1288808315495784}
125 | m_CullTransparentMesh: 0
126 | --- !u!114 &114978806635254696
127 | MonoBehaviour:
128 | m_ObjectHideFlags: 0
129 | m_CorrespondingSourceObject: {fileID: 0}
130 | m_PrefabInstance: {fileID: 0}
131 | m_PrefabAsset: {fileID: 0}
132 | m_GameObject: {fileID: 1288808315495784}
133 | m_Enabled: 1
134 | m_EditorHideFlags: 0
135 | m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
136 | m_Name:
137 | m_EditorClassIdentifier:
138 | m_Material: {fileID: 0}
139 | m_Color: {r: 0, g: 0, b: 0, a: 1}
140 | m_RaycastTarget: 1
141 | m_OnCullStateChanged:
142 | m_PersistentCalls:
143 | m_Calls: []
144 | m_FontData:
145 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
146 | m_FontSize: 14
147 | m_FontStyle: 0
148 | m_BestFit: 0
149 | m_MinSize: 0
150 | m_MaxSize: 116
151 | m_Alignment: 6
152 | m_AlignByGeometry: 0
153 | m_RichText: 1
154 | m_HorizontalOverflow: 0
155 | m_VerticalOverflow: 1
156 | m_LineSpacing: 1.22
157 | m_Text:
158 | --- !u!114 &114577636812099652
159 | MonoBehaviour:
160 | m_ObjectHideFlags: 0
161 | m_CorrespondingSourceObject: {fileID: 0}
162 | m_PrefabInstance: {fileID: 0}
163 | m_PrefabAsset: {fileID: 0}
164 | m_GameObject: {fileID: 1288808315495784}
165 | m_Enabled: 1
166 | m_EditorHideFlags: 0
167 | m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
168 | m_Name:
169 | m_EditorClassIdentifier:
170 | m_IgnoreLayout: 0
171 | m_MinWidth: -1
172 | m_MinHeight: -1
173 | m_PreferredWidth: -1
174 | m_PreferredHeight: -1
175 | m_FlexibleWidth: -1
176 | m_FlexibleHeight: 1
177 | m_LayoutPriority: 1
178 | --- !u!1 &1519667901743868
179 | GameObject:
180 | m_ObjectHideFlags: 0
181 | m_CorrespondingSourceObject: {fileID: 0}
182 | m_PrefabInstance: {fileID: 0}
183 | m_PrefabAsset: {fileID: 0}
184 | serializedVersion: 6
185 | m_Component:
186 | - component: {fileID: 224995589260172240}
187 | - component: {fileID: 222033407412477698}
188 | - component: {fileID: 114403548844107600}
189 | - component: {fileID: 114781661814605540}
190 | - component: {fileID: 114472051250591368}
191 | m_Layer: 5
192 | m_Name: OutputField
193 | m_TagString: Untagged
194 | m_Icon: {fileID: 0}
195 | m_NavMeshLayer: 0
196 | m_StaticEditorFlags: 0
197 | m_IsActive: 1
198 | --- !u!224 &224995589260172240
199 | RectTransform:
200 | m_ObjectHideFlags: 0
201 | m_CorrespondingSourceObject: {fileID: 0}
202 | m_PrefabInstance: {fileID: 0}
203 | m_PrefabAsset: {fileID: 0}
204 | m_GameObject: {fileID: 1519667901743868}
205 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
206 | m_LocalPosition: {x: 0, y: 0, z: 0}
207 | m_LocalScale: {x: 1, y: 1, z: 1}
208 | m_Children:
209 | - {fileID: 224463688881281336}
210 | m_Father: {fileID: 224776946140837980}
211 | m_RootOrder: 0
212 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
213 | m_AnchorMin: {x: 0, y: 1}
214 | m_AnchorMax: {x: 0, y: 1}
215 | m_AnchoredPosition: {x: 5, y: -129.47}
216 | m_SizeDelta: {x: 1628, y: 248.94}
217 | m_Pivot: {x: 0, y: 0.5}
218 | --- !u!222 &222033407412477698
219 | CanvasRenderer:
220 | m_ObjectHideFlags: 0
221 | m_CorrespondingSourceObject: {fileID: 0}
222 | m_PrefabInstance: {fileID: 0}
223 | m_PrefabAsset: {fileID: 0}
224 | m_GameObject: {fileID: 1519667901743868}
225 | m_CullTransparentMesh: 0
226 | --- !u!114 &114403548844107600
227 | MonoBehaviour:
228 | m_ObjectHideFlags: 0
229 | m_CorrespondingSourceObject: {fileID: 0}
230 | m_PrefabInstance: {fileID: 0}
231 | m_PrefabAsset: {fileID: 0}
232 | m_GameObject: {fileID: 1519667901743868}
233 | m_Enabled: 1
234 | m_EditorHideFlags: 0
235 | m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
236 | m_Name:
237 | m_EditorClassIdentifier:
238 | m_Material: {fileID: 0}
239 | m_Color: {r: 1, g: 1, b: 1, a: 1}
240 | m_RaycastTarget: 0
241 | m_OnCullStateChanged:
242 | m_PersistentCalls:
243 | m_Calls: []
244 | m_Sprite: {fileID: 0}
245 | m_Type: 1
246 | m_PreserveAspect: 0
247 | m_FillCenter: 1
248 | m_FillMethod: 4
249 | m_FillAmount: 1
250 | m_FillClockwise: 1
251 | m_FillOrigin: 0
252 | m_UseSpriteMesh: 0
253 | m_PixelsPerUnitMultiplier: 1
254 | --- !u!114 &114781661814605540
255 | MonoBehaviour:
256 | m_ObjectHideFlags: 0
257 | m_CorrespondingSourceObject: {fileID: 0}
258 | m_PrefabInstance: {fileID: 0}
259 | m_PrefabAsset: {fileID: 0}
260 | m_GameObject: {fileID: 1519667901743868}
261 | m_Enabled: 1
262 | m_EditorHideFlags: 0
263 | m_Script: {fileID: 11500000, guid: 3312d7739989d2b4e91e6319e9a96d76, type: 3}
264 | m_Name:
265 | m_EditorClassIdentifier:
266 | --- !u!114 &114472051250591368
267 | MonoBehaviour:
268 | m_ObjectHideFlags: 0
269 | m_CorrespondingSourceObject: {fileID: 0}
270 | m_PrefabInstance: {fileID: 0}
271 | m_PrefabAsset: {fileID: 0}
272 | m_GameObject: {fileID: 1519667901743868}
273 | m_Enabled: 1
274 | m_EditorHideFlags: 0
275 | m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
276 | m_Name:
277 | m_EditorClassIdentifier:
278 | m_IgnoreLayout: 0
279 | m_MinWidth: -1
280 | m_MinHeight: -1
281 | m_PreferredWidth: -1
282 | m_PreferredHeight: -1
283 | m_FlexibleWidth: -1
284 | m_FlexibleHeight: 1
285 | m_LayoutPriority: 1
286 | --- !u!1 &1963310362090744
287 | GameObject:
288 | m_ObjectHideFlags: 0
289 | m_CorrespondingSourceObject: {fileID: 0}
290 | m_PrefabInstance: {fileID: 0}
291 | m_PrefabAsset: {fileID: 0}
292 | serializedVersion: 6
293 | m_Component:
294 | - component: {fileID: 224610245195119282}
295 | - component: {fileID: 222662441423459110}
296 | - component: {fileID: 114589800295884110}
297 | - component: {fileID: 114123234199170210}
298 | - component: {fileID: 114756457132990724}
299 | m_Layer: 5
300 | m_Name: InputField
301 | m_TagString: Untagged
302 | m_Icon: {fileID: 0}
303 | m_NavMeshLayer: 0
304 | m_StaticEditorFlags: 0
305 | m_IsActive: 1
306 | --- !u!224 &224610245195119282
307 | RectTransform:
308 | m_ObjectHideFlags: 0
309 | m_CorrespondingSourceObject: {fileID: 0}
310 | m_PrefabInstance: {fileID: 0}
311 | m_PrefabAsset: {fileID: 0}
312 | m_GameObject: {fileID: 1963310362090744}
313 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
314 | m_LocalPosition: {x: 0, y: 0, z: 0}
315 | m_LocalScale: {x: 1, y: 1, z: 1}
316 | m_Children:
317 | - {fileID: 224821719520202754}
318 | m_Father: {fileID: 224776946140837980}
319 | m_RootOrder: 1
320 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
321 | m_AnchorMin: {x: 0, y: 1}
322 | m_AnchorMax: {x: 0, y: 1}
323 | m_AnchoredPosition: {x: 819, y: -278.94}
324 | m_SizeDelta: {x: 1628, y: 25}
325 | m_Pivot: {x: 0.5, y: 0}
326 | --- !u!222 &222662441423459110
327 | CanvasRenderer:
328 | m_ObjectHideFlags: 0
329 | m_CorrespondingSourceObject: {fileID: 0}
330 | m_PrefabInstance: {fileID: 0}
331 | m_PrefabAsset: {fileID: 0}
332 | m_GameObject: {fileID: 1963310362090744}
333 | m_CullTransparentMesh: 0
334 | --- !u!114 &114589800295884110
335 | MonoBehaviour:
336 | m_ObjectHideFlags: 0
337 | m_CorrespondingSourceObject: {fileID: 0}
338 | m_PrefabInstance: {fileID: 0}
339 | m_PrefabAsset: {fileID: 0}
340 | m_GameObject: {fileID: 1963310362090744}
341 | m_Enabled: 1
342 | m_EditorHideFlags: 0
343 | m_Script: {fileID: 11500000, guid: d199490a83bb2b844b9695cbf13b01ef, type: 3}
344 | m_Name:
345 | m_EditorClassIdentifier:
346 | m_Navigation:
347 | m_Mode: 3
348 | m_SelectOnUp: {fileID: 0}
349 | m_SelectOnDown: {fileID: 0}
350 | m_SelectOnLeft: {fileID: 0}
351 | m_SelectOnRight: {fileID: 0}
352 | m_Transition: 0
353 | m_Colors:
354 | m_NormalColor: {r: 1, g: 1, b: 1, a: 0.566}
355 | m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
356 | m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
357 | m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
358 | m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
359 | m_ColorMultiplier: 1
360 | m_FadeDuration: 0.1
361 | m_SpriteState:
362 | m_HighlightedSprite: {fileID: 0}
363 | m_PressedSprite: {fileID: 0}
364 | m_SelectedSprite: {fileID: 0}
365 | m_DisabledSprite: {fileID: 0}
366 | m_AnimationTriggers:
367 | m_NormalTrigger: Normal
368 | m_HighlightedTrigger: Highlighted
369 | m_PressedTrigger: Pressed
370 | m_SelectedTrigger: Highlighted
371 | m_DisabledTrigger: Disabled
372 | m_Interactable: 1
373 | m_TargetGraphic: {fileID: 114756457132990724}
374 | m_TextComponent: {fileID: 114377074958403426}
375 | m_Placeholder: {fileID: 0}
376 | m_ContentType: 0
377 | m_InputType: 0
378 | m_AsteriskChar: 42
379 | m_KeyboardType: 0
380 | m_LineType: 0
381 | m_HideMobileInput: 0
382 | m_CharacterValidation: 0
383 | m_CharacterLimit: 0
384 | m_OnEndEdit:
385 | m_PersistentCalls:
386 | m_Calls: []
387 | m_OnValueChanged:
388 | m_PersistentCalls:
389 | m_Calls: []
390 | m_CaretColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
391 | m_CustomCaretColor: 0
392 | m_SelectionColor: {r: 0.65882355, g: 0.80784315, b: 1, a: 0.7529412}
393 | m_Text:
394 | m_CaretBlinkRate: 1
395 | m_CaretWidth: 1
396 | m_ReadOnly: 0
397 | --- !u!114 &114123234199170210
398 | MonoBehaviour:
399 | m_ObjectHideFlags: 0
400 | m_CorrespondingSourceObject: {fileID: 0}
401 | m_PrefabInstance: {fileID: 0}
402 | m_PrefabAsset: {fileID: 0}
403 | m_GameObject: {fileID: 1963310362090744}
404 | m_Enabled: 1
405 | m_EditorHideFlags: 0
406 | m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
407 | m_Name:
408 | m_EditorClassIdentifier:
409 | m_IgnoreLayout: 0
410 | m_MinWidth: -1
411 | m_MinHeight: 25
412 | m_PreferredWidth: -1
413 | m_PreferredHeight: -1
414 | m_FlexibleWidth: -1
415 | m_FlexibleHeight: 0
416 | m_LayoutPriority: 1
417 | --- !u!114 &114756457132990724
418 | MonoBehaviour:
419 | m_ObjectHideFlags: 0
420 | m_CorrespondingSourceObject: {fileID: 0}
421 | m_PrefabInstance: {fileID: 0}
422 | m_PrefabAsset: {fileID: 0}
423 | m_GameObject: {fileID: 1963310362090744}
424 | m_Enabled: 1
425 | m_EditorHideFlags: 0
426 | m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
427 | m_Name:
428 | m_EditorClassIdentifier:
429 | m_Material: {fileID: 0}
430 | m_Color: {r: 0.9117647, g: 0.9117647, b: 0.9117647, a: 1}
431 | m_RaycastTarget: 1
432 | m_OnCullStateChanged:
433 | m_PersistentCalls:
434 | m_Calls: []
435 | m_Sprite: {fileID: 0}
436 | m_Type: 0
437 | m_PreserveAspect: 0
438 | m_FillCenter: 1
439 | m_FillMethod: 4
440 | m_FillAmount: 1
441 | m_FillClockwise: 1
442 | m_FillOrigin: 0
443 | m_UseSpriteMesh: 0
444 | m_PixelsPerUnitMultiplier: 1
445 | --- !u!1 &1973097496047182
446 | GameObject:
447 | m_ObjectHideFlags: 0
448 | m_CorrespondingSourceObject: {fileID: 0}
449 | m_PrefabInstance: {fileID: 0}
450 | m_PrefabAsset: {fileID: 0}
451 | serializedVersion: 6
452 | m_Component:
453 | - component: {fileID: 224776946140837980}
454 | - component: {fileID: 222439528717422480}
455 | - component: {fileID: 114214644980205498}
456 | - component: {fileID: 114266614866986558}
457 | - component: {fileID: 114433972584354904}
458 | - component: {fileID: 114236526542159200}
459 | - component: {fileID: 225365798623430200}
460 | - component: {fileID: 95701190638853404}
461 | m_Layer: 5
462 | m_Name: Console
463 | m_TagString: Untagged
464 | m_Icon: {fileID: 0}
465 | m_NavMeshLayer: 0
466 | m_StaticEditorFlags: 0
467 | m_IsActive: 1
468 | --- !u!224 &224776946140837980
469 | RectTransform:
470 | m_ObjectHideFlags: 0
471 | m_CorrespondingSourceObject: {fileID: 0}
472 | m_PrefabInstance: {fileID: 0}
473 | m_PrefabAsset: {fileID: 0}
474 | m_GameObject: {fileID: 1973097496047182}
475 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
476 | m_LocalPosition: {x: 0, y: 0, z: 0}
477 | m_LocalScale: {x: 1, y: 1, z: 1}
478 | m_Children:
479 | - {fileID: 224995589260172240}
480 | - {fileID: 224610245195119282}
481 | m_Father: {fileID: 0}
482 | m_RootOrder: 0
483 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
484 | m_AnchorMin: {x: 0, y: 1}
485 | m_AnchorMax: {x: 1, y: 1}
486 | m_AnchoredPosition: {x: 0, y: 0}
487 | m_SizeDelta: {x: 0, y: 283.94}
488 | m_Pivot: {x: 0.5, y: 1}
489 | --- !u!222 &222439528717422480
490 | CanvasRenderer:
491 | m_ObjectHideFlags: 0
492 | m_CorrespondingSourceObject: {fileID: 0}
493 | m_PrefabInstance: {fileID: 0}
494 | m_PrefabAsset: {fileID: 0}
495 | m_GameObject: {fileID: 1973097496047182}
496 | m_CullTransparentMesh: 0
497 | --- !u!114 &114214644980205498
498 | MonoBehaviour:
499 | m_ObjectHideFlags: 0
500 | m_CorrespondingSourceObject: {fileID: 0}
501 | m_PrefabInstance: {fileID: 0}
502 | m_PrefabAsset: {fileID: 0}
503 | m_GameObject: {fileID: 1973097496047182}
504 | m_Enabled: 1
505 | m_EditorHideFlags: 0
506 | m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
507 | m_Name:
508 | m_EditorClassIdentifier:
509 | m_Material: {fileID: 0}
510 | m_Color: {r: 0, g: 0, b: 0, a: 0.197}
511 | m_RaycastTarget: 1
512 | m_OnCullStateChanged:
513 | m_PersistentCalls:
514 | m_Calls: []
515 | m_Sprite: {fileID: 0}
516 | m_Type: 1
517 | m_PreserveAspect: 0
518 | m_FillCenter: 1
519 | m_FillMethod: 4
520 | m_FillAmount: 1
521 | m_FillClockwise: 1
522 | m_FillOrigin: 0
523 | m_UseSpriteMesh: 0
524 | m_PixelsPerUnitMultiplier: 1
525 | --- !u!114 &114266614866986558
526 | MonoBehaviour:
527 | m_ObjectHideFlags: 0
528 | m_CorrespondingSourceObject: {fileID: 0}
529 | m_PrefabInstance: {fileID: 0}
530 | m_PrefabAsset: {fileID: 0}
531 | m_GameObject: {fileID: 1973097496047182}
532 | m_Enabled: 1
533 | m_EditorHideFlags: 0
534 | m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3}
535 | m_Name:
536 | m_EditorClassIdentifier:
537 | m_Padding:
538 | m_Left: 5
539 | m_Right: 5
540 | m_Top: 5
541 | m_Bottom: 5
542 | m_ChildAlignment: 0
543 | m_Spacing: 0
544 | m_ChildForceExpandWidth: 1
545 | m_ChildForceExpandHeight: 0
546 | m_ChildControlWidth: 1
547 | m_ChildControlHeight: 1
548 | m_ChildScaleWidth: 0
549 | m_ChildScaleHeight: 0
550 | --- !u!114 &114433972584354904
551 | MonoBehaviour:
552 | m_ObjectHideFlags: 0
553 | m_CorrespondingSourceObject: {fileID: 0}
554 | m_PrefabInstance: {fileID: 0}
555 | m_PrefabAsset: {fileID: 0}
556 | m_GameObject: {fileID: 1973097496047182}
557 | m_Enabled: 1
558 | m_EditorHideFlags: 0
559 | m_Script: {fileID: 11500000, guid: cbb6f88eed0554c4baaca8a704f818d0, type: 3}
560 | m_Name:
561 | m_EditorClassIdentifier:
562 | --- !u!114 &114236526542159200
563 | MonoBehaviour:
564 | m_ObjectHideFlags: 0
565 | m_CorrespondingSourceObject: {fileID: 0}
566 | m_PrefabInstance: {fileID: 0}
567 | m_PrefabAsset: {fileID: 0}
568 | m_GameObject: {fileID: 1973097496047182}
569 | m_Enabled: 1
570 | m_EditorHideFlags: 0
571 | m_Script: {fileID: 11500000, guid: 9903e662d006226449d2236047e02216, type: 3}
572 | m_Name:
573 | m_EditorClassIdentifier:
574 | _input: {fileID: 114589800295884110}
575 | _outputText: {fileID: 114978806635254696}
576 | _consoleToggleKey: 9
577 | _inputHistoryCapacity: 10
578 | _errorColor: {r: 1, g: 0, b: 0, a: 0}
579 | _infoColor: {r: 0.11764707, g: 0.38431373, b: 0.80784315, a: 0}
580 | _warningColor: {r: 0.6666667, g: 0.5294118, b: 0.11764706, a: 0}
581 | --- !u!225 &225365798623430200
582 | CanvasGroup:
583 | m_ObjectHideFlags: 0
584 | m_CorrespondingSourceObject: {fileID: 0}
585 | m_PrefabInstance: {fileID: 0}
586 | m_PrefabAsset: {fileID: 0}
587 | m_GameObject: {fileID: 1973097496047182}
588 | m_Enabled: 1
589 | m_Alpha: 1
590 | m_Interactable: 1
591 | m_BlocksRaycasts: 1
592 | m_IgnoreParentGroups: 0
593 | --- !u!95 &95701190638853404
594 | Animator:
595 | serializedVersion: 3
596 | m_ObjectHideFlags: 0
597 | m_CorrespondingSourceObject: {fileID: 0}
598 | m_PrefabInstance: {fileID: 0}
599 | m_PrefabAsset: {fileID: 0}
600 | m_GameObject: {fileID: 1973097496047182}
601 | m_Enabled: 1
602 | m_Avatar: {fileID: 0}
603 | m_Controller: {fileID: 9100000, guid: fe23686e437aeff4f8edf6e69cb030f5, type: 2}
604 | m_CullingMode: 0
605 | m_UpdateMode: 0
606 | m_ApplyRootMotion: 0
607 | m_LinearVelocityBlending: 0
608 | m_WarningMessage:
609 | m_HasTransformHierarchy: 1
610 | m_AllowConstantClipSamplingOptimization: 1
611 | m_KeepAnimatorControllerStateOnDisable: 0
612 |
--------------------------------------------------------------------------------
/Assets/Prefabs/Console/Console.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f9e109f5bfd8c694fa57bdad25c24df2
3 | timeCreated: 1518529608
4 | licenseType: Free
5 | NativeFormatImporter:
6 | externalObjects: {}
7 | mainObjectFileID: 100100000
8 | userData:
9 | assetBundleName:
10 | assetBundleVariant:
11 |
--------------------------------------------------------------------------------
/Assets/Prefabs/Console/NetworkConsole.prefab:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!1001 &100100000
4 | Prefab:
5 | m_ObjectHideFlags: 1
6 | serializedVersion: 2
7 | m_Modification:
8 | m_TransformParent: {fileID: 0}
9 | m_Modifications: []
10 | m_RemovedComponents: []
11 | m_SourcePrefab: {fileID: 0}
12 | m_RootGameObject: {fileID: 1748772945650462}
13 | m_IsPrefabAsset: 1
14 | --- !u!1 &1748772945650462
15 | GameObject:
16 | m_ObjectHideFlags: 0
17 | m_CorrespondingSourceObject: {fileID: 0}
18 | m_PrefabInternal: {fileID: 100100000}
19 | serializedVersion: 6
20 | m_Component:
21 | - component: {fileID: 4001611436347870}
22 | - component: {fileID: 114173754616152330}
23 | - component: {fileID: 114194252144911664}
24 | m_Layer: 5
25 | m_Name: NetworkConsole
26 | m_TagString: Untagged
27 | m_Icon: {fileID: -1412012063857583412, guid: 0000000000000000d000000000000000, type: 0}
28 | m_NavMeshLayer: 0
29 | m_StaticEditorFlags: 0
30 | m_IsActive: 0
31 | --- !u!4 &4001611436347870
32 | Transform:
33 | m_ObjectHideFlags: 1
34 | m_CorrespondingSourceObject: {fileID: 0}
35 | m_PrefabInternal: {fileID: 100100000}
36 | m_GameObject: {fileID: 1748772945650462}
37 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
38 | m_LocalPosition: {x: 5.25, y: -1.75, z: 10}
39 | m_LocalScale: {x: 1, y: 1, z: 1}
40 | m_Children: []
41 | m_Father: {fileID: 0}
42 | m_RootOrder: 0
43 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
44 | --- !u!114 &114173754616152330
45 | MonoBehaviour:
46 | m_ObjectHideFlags: 1
47 | m_CorrespondingSourceObject: {fileID: 0}
48 | m_PrefabInternal: {fileID: 100100000}
49 | m_GameObject: {fileID: 1748772945650462}
50 | m_Enabled: 1
51 | m_EditorHideFlags: 0
52 | m_Script: {fileID: 11500000, guid: cbb6f88eed0554c4baaca8a704f818d0, type: 3}
53 | m_Name:
54 | m_EditorClassIdentifier:
55 | --- !u!114 &114194252144911664
56 | MonoBehaviour:
57 | m_ObjectHideFlags: 1
58 | m_CorrespondingSourceObject: {fileID: 0}
59 | m_PrefabInternal: {fileID: 100100000}
60 | m_GameObject: {fileID: 1748772945650462}
61 | m_Enabled: 1
62 | m_EditorHideFlags: 0
63 | m_Script: {fileID: 11500000, guid: efa778a40cf0b404bafeb2c3abcbdee9, type: 3}
64 | m_Name:
65 | m_EditorClassIdentifier:
66 | ip: 127.0.0.1
67 | port: 6001
68 | logDebugInfo: 1
69 |
--------------------------------------------------------------------------------
/Assets/Prefabs/Console/NetworkConsole.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 4f2676c694fa92c4981c5cbe6b92bb45
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 100100000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Prefabs/Example.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 41c227de676e75f46b1ac48a356fafcd
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Prefabs/Example/Level.prefab:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!1001 &100100000
4 | Prefab:
5 | m_ObjectHideFlags: 1
6 | serializedVersion: 2
7 | m_Modification:
8 | m_TransformParent: {fileID: 0}
9 | m_Modifications: []
10 | m_RemovedComponents: []
11 | m_SourcePrefab: {fileID: 0}
12 | m_RootGameObject: {fileID: 1116070848393148}
13 | m_IsPrefabAsset: 1
14 | --- !u!1 &1116070848393148
15 | GameObject:
16 | m_ObjectHideFlags: 0
17 | m_CorrespondingSourceObject: {fileID: 0}
18 | m_PrefabInternal: {fileID: 100100000}
19 | serializedVersion: 6
20 | m_Component:
21 | - component: {fileID: 4435088406047818}
22 | - component: {fileID: 33269852602127398}
23 | - component: {fileID: 23014493198495306}
24 | m_Layer: 0
25 | m_Name: Level
26 | m_TagString: Untagged
27 | m_Icon: {fileID: 0}
28 | m_NavMeshLayer: 0
29 | m_StaticEditorFlags: 0
30 | m_IsActive: 1
31 | --- !u!4 &4435088406047818
32 | Transform:
33 | m_ObjectHideFlags: 1
34 | m_CorrespondingSourceObject: {fileID: 0}
35 | m_PrefabInternal: {fileID: 100100000}
36 | m_GameObject: {fileID: 1116070848393148}
37 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
38 | m_LocalPosition: {x: 0, y: 0, z: 0}
39 | m_LocalScale: {x: 1, y: 1, z: 1}
40 | m_Children: []
41 | m_Father: {fileID: 0}
42 | m_RootOrder: 0
43 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
44 | --- !u!23 &23014493198495306
45 | MeshRenderer:
46 | m_ObjectHideFlags: 1
47 | m_CorrespondingSourceObject: {fileID: 0}
48 | m_PrefabInternal: {fileID: 100100000}
49 | m_GameObject: {fileID: 1116070848393148}
50 | m_Enabled: 1
51 | m_CastShadows: 1
52 | m_ReceiveShadows: 1
53 | m_DynamicOccludee: 1
54 | m_MotionVectors: 1
55 | m_LightProbeUsage: 1
56 | m_ReflectionProbeUsage: 1
57 | m_RenderingLayerMask: 4294967295
58 | m_Materials:
59 | - {fileID: 2100000, guid: 0c4d221bcee0e4244b5536ea1d0781e7, type: 2}
60 | - {fileID: 2100000, guid: f23df3e1b67f1b0449e668a8b1bee2de, type: 2}
61 | m_StaticBatchInfo:
62 | firstSubMesh: 0
63 | subMeshCount: 0
64 | m_StaticBatchRoot: {fileID: 0}
65 | m_ProbeAnchor: {fileID: 0}
66 | m_LightProbeVolumeOverride: {fileID: 0}
67 | m_ScaleInLightmap: 1
68 | m_PreserveUVs: 0
69 | m_IgnoreNormalsForChartDetection: 0
70 | m_ImportantGI: 0
71 | m_StitchLightmapSeams: 0
72 | m_SelectedEditorRenderState: 3
73 | m_MinimumChartSize: 4
74 | m_AutoUVMaxDistance: 0.5
75 | m_AutoUVMaxAngle: 89
76 | m_LightmapParameters: {fileID: 0}
77 | m_SortingLayerID: 0
78 | m_SortingLayer: 0
79 | m_SortingOrder: 0
80 | --- !u!33 &33269852602127398
81 | MeshFilter:
82 | m_ObjectHideFlags: 1
83 | m_CorrespondingSourceObject: {fileID: 0}
84 | m_PrefabInternal: {fileID: 100100000}
85 | m_GameObject: {fileID: 1116070848393148}
86 | m_Mesh: {fileID: 4300000, guid: bbc5e398b9634ba4da6c0179d75308a3, type: 2}
87 |
--------------------------------------------------------------------------------
/Assets/Prefabs/Example/Level.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 997c0c2a1d68ebd4e99e39ec50d3e5f9
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 100100000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Prefabs/Example/pb_Mesh17774.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: bbc5e398b9634ba4da6c0179d75308a3
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 4300000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/ProBuilder Data.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 99ebe34464e8d654aac7070688ad94a5
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/ProBuilder Data/ProBuilderPreferences.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &11400000
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInternal: {fileID: 0}
8 | m_GameObject: {fileID: 0}
9 | m_Enabled: 1
10 | m_EditorHideFlags: 0
11 | m_Script: {fileID: 680703436, guid: 4f0627da958b4bb78c260446066f065f, type: 3}
12 | m_Name: ProBuilderPreferences
13 | m_EditorClassIdentifier:
14 | m_Bool_keys: []
15 | m_Int_keys: []
16 | m_Float_keys: []
17 | m_String_keys: []
18 | m_Color_keys: []
19 | m_Material_keys: []
20 | m_Bool_values:
21 | m_Int_values:
22 | m_Float_values: []
23 | m_String_values: []
24 | m_Color_values: []
25 | m_Material_values: []
26 |
--------------------------------------------------------------------------------
/Assets/ProBuilder Data/ProBuilderPreferences.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 7cb1e09c3181d1d489138635056bc54c
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 11400000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Scenes.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 4f704ae4b4f98ae41a0bce26658850c1
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Scenes/SampleScene.unity.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 99c9720ab356a0642a771bea13969a05
3 | DefaultImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Assets/Scripts.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 848389817202ea54b9e7156e40f5e305
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Scripts/Console.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 40074c9868021514695a19eb5fa1e4cc
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Scripts/Console/Args.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: a029a66690dd08d4493bcd1410929734
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Scripts/Console/Args/VisibilityChangedArgs.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace IngameConsole
4 | {
5 | public class VisibilityChangedArgs : EventArgs
6 | {
7 | public VisibilityChangedArgs(bool newVisibility)
8 | {
9 | Visibility = newVisibility;
10 | }
11 |
12 | public bool Visibility { get; private set; }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/Assets/Scripts/Console/Args/VisibilityChangedArgs.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 7c3d34b1759408949ac6993a5f0f98ce
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Assets/Scripts/Console/Attributes.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 00cc57a773440bc419117a51cd2af1f7
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Scripts/Console/Attributes/ConsoleMethod.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace IngameConsole
4 | {
5 | [AttributeUsage(AttributeTargets.Method)]
6 | public class ConsoleMethod : Attribute
7 | {
8 | private readonly string command;
9 | private readonly string descr;
10 |
11 | public ConsoleMethod(string command, string descr)
12 | {
13 | this.command = command;
14 | this.descr = descr;
15 | }
16 |
17 | public ConsoleMethod(string command) : this(command, "No description available.")
18 | {
19 | }
20 |
21 | public string Command
22 | {
23 | get { return command; }
24 | }
25 |
26 | public string Description
27 | {
28 | get { return descr; }
29 | }
30 | }
31 | }
--------------------------------------------------------------------------------
/Assets/Scripts/Console/Attributes/ConsoleMethod.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: a26c0dfa83ffb404b9d260658fe8dd79
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Assets/Scripts/Console/Attributes/ConsoleParameter.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace IngameConsole
4 | {
5 | [AttributeUsage(AttributeTargets.Parameter)]
6 | public class ConsoleParameter : Attribute
7 | {
8 | private readonly string descr;
9 |
10 | public ConsoleParameter(string descr)
11 | {
12 | this.descr = descr;
13 | }
14 |
15 | public string Description
16 | {
17 | get { return descr; }
18 | }
19 | }
20 | }
--------------------------------------------------------------------------------
/Assets/Scripts/Console/Attributes/ConsoleParameter.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c603a39cd7f760b4b804d359b9292e26
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Assets/Scripts/Console/Attributes/ConversionMethod.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace IngameConsole
4 | {
5 | [AttributeUsage(AttributeTargets.Method)]
6 | public class ConversionMethod : Attribute
7 | {
8 |
9 | }
10 | }
--------------------------------------------------------------------------------
/Assets/Scripts/Console/Attributes/ConversionMethod.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 37ead7538c7562b49979fc08695d371a
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Assets/Scripts/Console/Attributes/ExecutableFromConsole.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace IngameConsole
4 | {
5 | [AttributeUsage(AttributeTargets.Class)]
6 | public class ExecutableFromConsole : Attribute
7 | {
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/Assets/Scripts/Console/Attributes/ExecutableFromConsole.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 1ae9c18d91cd1ab40aacd20060a39e65
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Assets/Scripts/Console/ConsoleLogic.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using System.Reflection;
3 | using UnityEngine;
4 | using System.Linq;
5 | using System;
6 |
7 | namespace IngameConsole
8 | {
9 | [ExecutableFromConsole]
10 | [RequireComponent(typeof(BaseConsoleIO))]
11 | public class ConsoleLogic : MonoBehaviour
12 | {
13 | private BaseConsoleIO _consoleIO;
14 | private BaseWriter _consoleWriter;
15 |
16 | void Awake()
17 | {
18 | //Connect with IO
19 | _consoleIO = GetComponent(typeof(BaseConsoleIO)) as BaseConsoleIO;
20 | _consoleIO.InputReceived += OnInputReceived;
21 | }
22 |
23 | private void Start()
24 | {
25 | //Initialize writer
26 | FormattedWriter.Initialize();
27 | _consoleWriter = new FormattedWriter();
28 |
29 | //Init IO
30 | _consoleIO.SelectInput();
31 | ShowInitializationMessage();
32 | }
33 |
34 | #region Intialization message
35 |
36 | private void ShowInitializationMessage()
37 | {
38 | _consoleWriter.WriteInfo("Console has been initialized");
39 | _consoleWriter.WriteInfo("Write help for a list of all commands.");
40 | _consoleWriter.WriteInfo("Write chelp command to get further info on a specific command.");
41 |
42 | if (_consoleIO is ConsoleIO)
43 | {
44 | _consoleWriter.WriteInfo(string.Format("Press {0} to close console window.", (_consoleIO as ConsoleIO).ToggleKey.ToString()));
45 | }
46 | }
47 |
48 | #endregion
49 |
50 | #region Handle input
51 |
52 | private void OnInputReceived(object sender, InputReceivedEventArgs args)
53 | {
54 | _consoleWriter.WriteLineItalic("> " + args.Input);
55 |
56 | try
57 | {
58 | ExecuteLine(_consoleIO.Input);
59 | }
60 | catch (Exception e)
61 | {
62 | if (e.Message != string.Empty)
63 | {
64 | _consoleWriter.WriteError(e.Message);
65 | }
66 | }
67 | finally
68 | {
69 | _consoleIO.ClearInput();
70 | _consoleIO.SelectInput();
71 | }
72 | }
73 |
74 | private IEnumerable SplitParameters(string input)
75 | {
76 | //Implementation of the escape sequence \"
77 | //Any occurence of \" will be replaced by a substitution string
78 | //This string will be replaced with a quote after separation is complete
79 | string quoteSubstitution = ">##>";
80 | input = input.Replace(@"\""", quoteSubstitution);
81 |
82 | //There has to be an even number of quotes (opening and closing)
83 | if (input.Count(c => c == '"') % 2 != 0)
84 | {
85 | throw new Exception("Invalid string format.");
86 | }
87 |
88 | var splitsByQuote = input.Split('"');
89 | var parameters = new List();
90 |
91 | for (int i = 0; i < splitsByQuote.Count(); i++)
92 | {
93 | //Splitting by quotes will result in list with a pattern of
94 | //alternating (empty string or string) and (quoted string)
95 | //Empty strings can be ignored
96 | if (i % 2 == 0)
97 | {
98 | //Normal parameters
99 | var splitsBySpace = splitsByQuote[i].Trim(' ').Split(' ').Where(s => s != string.Empty);
100 | parameters.AddRange(splitsBySpace);
101 | }
102 | else
103 | {
104 | //Quoted parameters
105 | parameters.Add(splitsByQuote[i]);
106 | }
107 | }
108 |
109 | parameters = parameters.Select(s => s.Replace(quoteSubstitution, @"""")).ToList();
110 | return parameters;
111 | }
112 |
113 | #endregion
114 |
115 | #region Reflection
116 |
117 | private IEnumerable FindExecutableTypes()
118 | {
119 | var localAssembly = Assembly.GetAssembly(typeof(ConsoleLogic));
120 | var executableTypes = localAssembly.GetTypes().Where(_ => _.IsDefined(typeof(ExecutableFromConsole), false)).ToList();
121 | return executableTypes;
122 | }
123 |
124 | private bool TryFindExecutableInstanceOfType(Type type, out object instance)
125 | {
126 | var instances = FindObjectsOfType(type);
127 | instance = instances.FirstOrDefault();
128 |
129 | //Check for ambiguity
130 | if (instances.Count() > 1)
131 | {
132 | var gameObjectName = (instance as UnityEngine.Object).name;
133 | _consoleWriter.WriteWarning(string.Format("More than one instance found for type {0}. Choosing {1} for execution.", type.ToString(), gameObjectName));
134 | }
135 |
136 | return instance != null;
137 | }
138 |
139 | private void FindCmdMethod(string command, out MethodInfo minfo, out ConsoleMethod cmethod)
140 | {
141 | MethodInfo[] methods = CommandMethods;
142 |
143 | minfo = null;
144 | cmethod = null;
145 |
146 | foreach (MethodInfo method in methods)
147 | {
148 | ConsoleMethod[] attributes = method.GetCustomAttributes(typeof(ConsoleMethod), false) as ConsoleMethod[];
149 | if (attributes != null && attributes.Length > 0)
150 | {
151 | if (attributes[0].Command == command)
152 | {
153 | minfo = method;
154 | cmethod = attributes[0];
155 | }
156 | }
157 | }
158 | }
159 |
160 | public void ExecuteLine(string line)
161 | {
162 | string[] parameters = SplitParameters(line).ToArray();
163 |
164 | if (parameters.Count() == 0)
165 | {
166 | throw new Exception("Empty input.");
167 | }
168 |
169 | string command = parameters[0];
170 |
171 | MethodInfo targetMethod;
172 | ConsoleMethod targetAttribute;
173 |
174 | FindCmdMethod(command, out targetMethod, out targetAttribute);
175 |
176 | if (targetMethod != null)
177 | {
178 | ParameterInfo[] methodParams = targetMethod.GetParameters();
179 | List