├── .gitattributes ├── .gitignore ├── CHANGELOG.md ├── CHANGELOG.md.meta ├── Console.meta ├── Console ├── Prefabs.meta ├── Prefabs │ ├── Console.prefab │ └── Console.prefab.meta ├── Scripts.meta └── Scripts │ ├── Commands.meta │ ├── Commands │ ├── HelpCommand.cs │ ├── HelpCommand.cs.meta │ ├── LoadCommand.cs │ ├── LoadCommand.cs.meta │ ├── QuitCommand.cs │ └── QuitCommand.cs.meta │ ├── Console.cs │ ├── Console.cs.meta │ ├── ConsoleCommand.cs │ ├── ConsoleCommand.cs.meta │ ├── ConsoleCommandsDatabase.cs │ ├── ConsoleCommandsDatabase.cs.meta │ ├── ConsoleController.cs │ ├── ConsoleController.cs.meta │ ├── ConsoleInputHistory.cs │ ├── ConsoleInputHistory.cs.meta │ ├── ConsoleUI.cs │ ├── ConsoleUI.cs.meta │ ├── DefaultCommands.cs │ ├── DefaultCommands.cs.meta │ ├── NoSuchCommandException.cs │ └── NoSuchCommandException.cs.meta ├── LICENSE.txt ├── LICENSE.txt.meta ├── README.md ├── README.md.meta ├── Samples.meta ├── Samples ├── BoxMaterial.mat ├── BoxMaterial.mat.meta ├── Scenes.meta ├── Scenes │ ├── BasicSample.unity │ ├── BasicSample.unity.meta │ ├── CustomCommandsSample.unity │ ├── CustomCommandsSample.unity.meta │ ├── WorldSpaceSample.unity │ └── WorldSpaceSample.unity.meta ├── Scripts.meta ├── Scripts │ ├── CustomCommands.cs │ ├── CustomCommands.cs.meta │ ├── LockedCursor.cs │ ├── LockedCursor.cs.meta │ ├── MouseLook.cs │ ├── MouseLook.cs.meta │ ├── ToggleGameControlsOnConsoleToggle.cs │ ├── ToggleGameControlsOnConsoleToggle.cs.meta │ ├── WASDMovement.cs │ └── WASDMovement.cs.meta ├── Terrain.asset └── Terrain.asset.meta ├── UnityConsole.unitypackage └── UnityConsole.unitypackage.meta /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | 4 | # Custom for Visual Studio 5 | *.cs diff=csharp 6 | *.sln merge=union 7 | *.csproj merge=union 8 | *.vbproj merge=union 9 | *.fsproj merge=union 10 | *.dbproj merge=union 11 | 12 | # Standard to msysgit 13 | *.doc diff=astextplain 14 | *.DOC diff=astextplain 15 | *.docx diff=astextplain 16 | *.DOCX diff=astextplain 17 | *.dot diff=astextplain 18 | *.DOT diff=astextplain 19 | *.pdf diff=astextplain 20 | *.PDF diff=astextplain 21 | *.rtf diff=astextplain 22 | *.RTF diff=astextplain 23 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | [Ll]ibrary/ 2 | [Tt]emp/ 3 | [Oo]bj/ 4 | [Bb]uild/ 5 | 6 | # Autogenerated VS/MD solution and project files 7 | /*.csproj 8 | /*.unityproj 9 | /*.sln 10 | /*.sln.DotSettings 11 | /*.suo 12 | /*.user 13 | /*.userprefs 14 | /*.pidb 15 | /*.booproj 16 | 17 | # ========================= 18 | # Operating System Files 19 | # ========================= 20 | 21 | # OSX 22 | # ========================= 23 | 24 | .DS_Store 25 | .AppleDouble 26 | .LSOverride 27 | 28 | # Icon must ends with two \r. 29 | Icon 30 | 31 | # Thumbnails 32 | ._* 33 | 34 | # Files that might appear on external disk 35 | .Spotlight-V100 36 | .Trashes 37 | 38 | # Windows 39 | # ========================= 40 | 41 | # Windows image file caches 42 | Thumbs.db 43 | ehthumbs.db 44 | 45 | # Folder config file 46 | Desktop.ini 47 | 48 | # Recycle Bin used on file shares 49 | $RECYCLE.BIN/ 50 | 51 | # Windows Installer files 52 | *.cab 53 | *.msi 54 | *.msm 55 | *.msp -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # 0.2.0 2 | 3 | ## Change list 4 | - Include 3 built-in commands 5 | * ``HELP`` - Display the list of available commands or details about a specific command. 6 | * ``LOAD`` - Load the specified scene by name. Before you can load a scene you have to add it to the list of levels used in the game. Use File->Build Settings... in Unity and add the levels you need to the level list there. 7 | * ``QUIT`` - Quit the application. 8 | - Allow the overwriting of an existing command by simply registering a new command with the same name 9 | - Add optional parameters ``description`` and ``usage`` to the simpler overload of ``ConsoleCommandsDatabase.RegisterCommand()`` 10 | - Improve the explanatory text in the sample scenes 11 | - Update the README with a more meaty custom command example 12 | 13 | 14 | # 0.1.0 15 | 16 | ### Migrating from a previous version 17 | 0.1.0 modifies the Console prefab. If you want to upgrade an existing project, make sure you use the updated prefab. 18 | 19 | ## Change list 20 | - Fix incompatibility with Unity 5 and drop Unity 4.6 support 21 | - Fix console preventing user to select any other input field 22 | - Fix scrolling not being enabled by default and weird scrolling behavior 23 | - Fix the input field sometimes losing focus randomly 24 | - Fix the console output text overflowing its rectangle when viewed from behind in World Space render mode 25 | - Fix changing Time.timeScale messing up input field reactivation when submitting a command or reopening the console. 26 | - Fix a strange bug when Unity rebuilds the project while in play mode 27 | - Make input history capacity a constant rather than a inspector-editable value (helps fix the previous bug) 28 | - Add some helpful text to each sample scene 29 | - Overhaul cursor locking in the world space sample scene -------------------------------------------------------------------------------- /CHANGELOG.md.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4fde2f037a677c940a2ada573f51a77f 3 | timeCreated: 1429913976 4 | licenseType: Free 5 | DefaultImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Console.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e6855f74c602d844a918ceab665f84b0 3 | folderAsset: yes 4 | DefaultImporter: 5 | userData: 6 | -------------------------------------------------------------------------------- /Console/Prefabs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8c6d494a103f28b4fa84d95cb508e676 3 | folderAsset: yes 4 | DefaultImporter: 5 | userData: 6 | -------------------------------------------------------------------------------- /Console/Prefabs/Console.prefab: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1 &100000 4 | GameObject: 5 | m_ObjectHideFlags: 1 6 | m_PrefabParentObject: {fileID: 0} 7 | m_PrefabInternal: {fileID: 100100000} 8 | serializedVersion: 4 9 | m_Component: 10 | - 224: {fileID: 22400000} 11 | m_Layer: 5 12 | m_Name: Sliding Area 13 | m_TagString: Untagged 14 | m_Icon: {fileID: 0} 15 | m_NavMeshLayer: 0 16 | m_StaticEditorFlags: 0 17 | m_IsActive: 1 18 | --- !u!1 &100002 19 | GameObject: 20 | m_ObjectHideFlags: 0 21 | m_PrefabParentObject: {fileID: 0} 22 | m_PrefabInternal: {fileID: 100100000} 23 | serializedVersion: 4 24 | m_Component: 25 | - 224: {fileID: 22400002} 26 | - 222: {fileID: 22200000} 27 | - 114: {fileID: 11400004} 28 | - 114: {fileID: 11400002} 29 | m_Layer: 5 30 | m_Name: InputArea 31 | m_TagString: Untagged 32 | m_Icon: {fileID: 0} 33 | m_NavMeshLayer: 0 34 | m_StaticEditorFlags: 0 35 | m_IsActive: 1 36 | --- !u!1 &100004 37 | GameObject: 38 | m_ObjectHideFlags: 0 39 | m_PrefabParentObject: {fileID: 0} 40 | m_PrefabInternal: {fileID: 100100000} 41 | serializedVersion: 4 42 | m_Component: 43 | - 224: {fileID: 22400004} 44 | - 222: {fileID: 22200002} 45 | - 114: {fileID: 11400008} 46 | - 114: {fileID: 11400006} 47 | m_Layer: 5 48 | m_Name: Scrollbar 49 | m_TagString: Untagged 50 | m_Icon: {fileID: 0} 51 | m_NavMeshLayer: 0 52 | m_StaticEditorFlags: 0 53 | m_IsActive: 1 54 | --- !u!1 &100006 55 | GameObject: 56 | m_ObjectHideFlags: 0 57 | m_PrefabParentObject: {fileID: 0} 58 | m_PrefabInternal: {fileID: 100100000} 59 | serializedVersion: 4 60 | m_Component: 61 | - 224: {fileID: 22400006} 62 | - 225: {fileID: 22500000} 63 | - 114: {fileID: 11400010} 64 | - 114: {fileID: 11400012} 65 | - 114: {fileID: 11478696} 66 | m_Layer: 5 67 | m_Name: Console 68 | m_TagString: Untagged 69 | m_Icon: {fileID: 0} 70 | m_NavMeshLayer: 0 71 | m_StaticEditorFlags: 0 72 | m_IsActive: 1 73 | --- !u!1 &100008 74 | GameObject: 75 | m_ObjectHideFlags: 1 76 | m_PrefabParentObject: {fileID: 0} 77 | m_PrefabInternal: {fileID: 100100000} 78 | serializedVersion: 4 79 | m_Component: 80 | - 224: {fileID: 22400008} 81 | - 222: {fileID: 22200004} 82 | - 114: {fileID: 11400016} 83 | - 114: {fileID: 11400014} 84 | m_Layer: 5 85 | m_Name: ScrollingMask 86 | m_TagString: Untagged 87 | m_Icon: {fileID: 0} 88 | m_NavMeshLayer: 0 89 | m_StaticEditorFlags: 0 90 | m_IsActive: 1 91 | --- !u!1 &100010 92 | GameObject: 93 | m_ObjectHideFlags: 1 94 | m_PrefabParentObject: {fileID: 0} 95 | m_PrefabInternal: {fileID: 100100000} 96 | serializedVersion: 4 97 | m_Component: 98 | - 224: {fileID: 22400010} 99 | - 222: {fileID: 22200006} 100 | - 114: {fileID: 11400018} 101 | m_Layer: 5 102 | m_Name: Handle 103 | m_TagString: Untagged 104 | m_Icon: {fileID: 0} 105 | m_NavMeshLayer: 0 106 | m_StaticEditorFlags: 0 107 | m_IsActive: 1 108 | --- !u!1 &100012 109 | GameObject: 110 | m_ObjectHideFlags: 0 111 | m_PrefabParentObject: {fileID: 0} 112 | m_PrefabInternal: {fileID: 100100000} 113 | serializedVersion: 4 114 | m_Component: 115 | - 224: {fileID: 22400012} 116 | - 222: {fileID: 22200008} 117 | - 114: {fileID: 11400022} 118 | - 114: {fileID: 11400020} 119 | m_Layer: 5 120 | m_Name: OutputArea 121 | m_TagString: Untagged 122 | m_Icon: {fileID: 0} 123 | m_NavMeshLayer: 0 124 | m_StaticEditorFlags: 0 125 | m_IsActive: 1 126 | --- !u!1 &100014 127 | GameObject: 128 | m_ObjectHideFlags: 1 129 | m_PrefabParentObject: {fileID: 0} 130 | m_PrefabInternal: {fileID: 100100000} 131 | serializedVersion: 4 132 | m_Component: 133 | - 224: {fileID: 22400014} 134 | - 222: {fileID: 22200010} 135 | - 114: {fileID: 11400024} 136 | m_Layer: 5 137 | m_Name: Text 138 | m_TagString: Untagged 139 | m_Icon: {fileID: 0} 140 | m_NavMeshLayer: 0 141 | m_StaticEditorFlags: 0 142 | m_IsActive: 1 143 | --- !u!1 &100016 144 | GameObject: 145 | m_ObjectHideFlags: 1 146 | m_PrefabParentObject: {fileID: 0} 147 | m_PrefabInternal: {fileID: 100100000} 148 | serializedVersion: 4 149 | m_Component: 150 | - 224: {fileID: 22400016} 151 | - 222: {fileID: 22200012} 152 | - 114: {fileID: 11400028} 153 | - 114: {fileID: 11400026} 154 | m_Layer: 5 155 | m_Name: Text 156 | m_TagString: Untagged 157 | m_Icon: {fileID: 0} 158 | m_NavMeshLayer: 0 159 | m_StaticEditorFlags: 0 160 | m_IsActive: 1 161 | --- !u!114 &11400002 162 | MonoBehaviour: 163 | m_ObjectHideFlags: 1 164 | m_PrefabParentObject: {fileID: 0} 165 | m_PrefabInternal: {fileID: 100100000} 166 | m_GameObject: {fileID: 100002} 167 | m_Enabled: 1 168 | m_EditorHideFlags: 0 169 | m_Script: {fileID: 575553740, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} 170 | m_Name: 171 | m_EditorClassIdentifier: 172 | m_Navigation: 173 | m_Mode: 3 174 | m_SelectOnUp: {fileID: 0} 175 | m_SelectOnDown: {fileID: 0} 176 | m_SelectOnLeft: {fileID: 0} 177 | m_SelectOnRight: {fileID: 0} 178 | m_Transition: 0 179 | m_Colors: 180 | m_NormalColor: {r: .549019635, g: .549019635, b: .549019635, a: .501960814} 181 | m_HighlightedColor: {r: .313725501, g: .313725501, b: .313725501, a: .509803951} 182 | m_PressedColor: {r: .313725501, g: .313725501, b: .313725501, a: .509803951} 183 | m_DisabledColor: {r: .250980407, g: .250980407, b: .250980407, a: .501960814} 184 | m_ColorMultiplier: 2 185 | m_FadeDuration: .100000001 186 | m_SpriteState: 187 | m_HighlightedSprite: {fileID: 0} 188 | m_PressedSprite: {fileID: 0} 189 | m_DisabledSprite: {fileID: 0} 190 | m_AnimationTriggers: 191 | m_NormalTrigger: 4e6f726d616c 192 | m_HighlightedTrigger: 486967686c696768746564 193 | m_PressedTrigger: 50726573736564 194 | m_DisabledTrigger: 44697361626c6564 195 | m_Interactable: 1 196 | m_TargetGraphic: {fileID: 11400004} 197 | m_TextComponent: {fileID: 11400024} 198 | m_Placeholder: {fileID: 0} 199 | m_ContentType: 0 200 | m_InputType: 0 201 | m_AsteriskChar: 42 202 | m_KeyboardType: 0 203 | m_LineType: 0 204 | m_HideMobileInput: 0 205 | m_CharacterValidation: 0 206 | m_CharacterLimit: 0 207 | m_EndEdit: 208 | m_PersistentCalls: 209 | m_Calls: 210 | - m_Target: {fileID: 11400010} 211 | m_MethodName: OnSubmit 212 | m_Mode: 0 213 | m_Arguments: 214 | m_ObjectArgument: {fileID: 0} 215 | m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine, Version=0.0.0.0, 216 | Culture=neutral, PublicKeyToken=null 217 | m_IntArgument: 0 218 | m_FloatArgument: 0 219 | m_StringArgument: 220 | m_BoolArgument: 0 221 | m_CallState: 2 222 | m_TypeName: UnityEngine.UI.InputField+SubmitEvent, UnityEngine.UI, Version=1.0.0.0, 223 | Culture=neutral, PublicKeyToken=null 224 | m_OnValueChange: 225 | m_PersistentCalls: 226 | m_Calls: [] 227 | m_TypeName: UnityEngine.UI.InputField+OnChangeEvent, UnityEngine.UI, Version=1.0.0.0, 228 | Culture=neutral, PublicKeyToken=null 229 | m_SelectionColor: {r: 0, g: .540390015, b: 1, a: .294117659} 230 | m_Text: 231 | m_CaretBlinkRate: 1.70000005 232 | --- !u!114 &11400004 233 | MonoBehaviour: 234 | m_ObjectHideFlags: 1 235 | m_PrefabParentObject: {fileID: 0} 236 | m_PrefabInternal: {fileID: 100100000} 237 | m_GameObject: {fileID: 100002} 238 | m_Enabled: 1 239 | m_EditorHideFlags: 0 240 | m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} 241 | m_Name: 242 | m_EditorClassIdentifier: 243 | m_Material: {fileID: 0} 244 | m_Color: {r: 0, g: 0, b: 0, a: .784313738} 245 | m_Sprite: {fileID: 0} 246 | m_Type: 1 247 | m_PreserveAspect: 0 248 | m_FillCenter: 1 249 | m_FillMethod: 4 250 | m_FillAmount: 1 251 | m_FillClockwise: 1 252 | m_FillOrigin: 0 253 | --- !u!114 &11400006 254 | MonoBehaviour: 255 | m_ObjectHideFlags: 1 256 | m_PrefabParentObject: {fileID: 0} 257 | m_PrefabInternal: {fileID: 100100000} 258 | m_GameObject: {fileID: 100004} 259 | m_Enabled: 1 260 | m_EditorHideFlags: 0 261 | m_Script: {fileID: -2061169968, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} 262 | m_Name: 263 | m_EditorClassIdentifier: 264 | m_Navigation: 265 | m_Mode: 3 266 | m_SelectOnUp: {fileID: 0} 267 | m_SelectOnDown: {fileID: 0} 268 | m_SelectOnLeft: {fileID: 0} 269 | m_SelectOnRight: {fileID: 0} 270 | m_Transition: 1 271 | m_Colors: 272 | m_NormalColor: {r: .801470578, g: .801470578, b: .801470578, a: 1} 273 | m_HighlightedColor: {r: 1, g: 1, b: 1, a: 1} 274 | m_PressedColor: {r: 0, g: .540390015, b: 1, a: 1} 275 | m_DisabledColor: {r: 0, g: 0, b: 0, a: 1} 276 | m_ColorMultiplier: 1 277 | m_FadeDuration: .0799999982 278 | m_SpriteState: 279 | m_HighlightedSprite: {fileID: 0} 280 | m_PressedSprite: {fileID: 0} 281 | m_DisabledSprite: {fileID: 0} 282 | m_AnimationTriggers: 283 | m_NormalTrigger: 4e6f726d616c 284 | m_HighlightedTrigger: 486967686c696768746564 285 | m_PressedTrigger: 50726573736564 286 | m_DisabledTrigger: 44697361626c6564 287 | m_Interactable: 1 288 | m_TargetGraphic: {fileID: 11400018} 289 | m_HandleRect: {fileID: 22400010} 290 | m_Direction: 2 291 | m_Value: 0 292 | m_Size: 1 293 | m_NumberOfSteps: 0 294 | m_OnValueChanged: 295 | m_PersistentCalls: 296 | m_Calls: [] 297 | m_TypeName: UnityEngine.UI.Scrollbar+ScrollEvent, UnityEngine.UI, Version=1.0.0.0, 298 | Culture=neutral, PublicKeyToken=null 299 | --- !u!114 &11400008 300 | MonoBehaviour: 301 | m_ObjectHideFlags: 1 302 | m_PrefabParentObject: {fileID: 0} 303 | m_PrefabInternal: {fileID: 100100000} 304 | m_GameObject: {fileID: 100004} 305 | m_Enabled: 1 306 | m_EditorHideFlags: 0 307 | m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} 308 | m_Name: 309 | m_EditorClassIdentifier: 310 | m_Material: {fileID: 0} 311 | m_Color: {r: .156862751, g: .156862751, b: .156862751, a: .784313738} 312 | m_Sprite: {fileID: 0} 313 | m_Type: 1 314 | m_PreserveAspect: 0 315 | m_FillCenter: 1 316 | m_FillMethod: 4 317 | m_FillAmount: 1 318 | m_FillClockwise: 1 319 | m_FillOrigin: 0 320 | --- !u!114 &11400010 321 | MonoBehaviour: 322 | m_ObjectHideFlags: 1 323 | m_PrefabParentObject: {fileID: 0} 324 | m_PrefabInternal: {fileID: 100100000} 325 | m_GameObject: {fileID: 100006} 326 | m_Enabled: 0 327 | m_EditorHideFlags: 0 328 | m_Script: {fileID: 11500000, guid: 20aea41b5b8ab374cac1e515b4d75f17, type: 3} 329 | m_Name: 330 | m_EditorClassIdentifier: 331 | scrollbar: {fileID: 11400006} 332 | outputText: {fileID: 11400028} 333 | outputArea: {fileID: 11400020} 334 | inputField: {fileID: 11400002} 335 | --- !u!114 &11400012 336 | MonoBehaviour: 337 | m_ObjectHideFlags: 1 338 | m_PrefabParentObject: {fileID: 0} 339 | m_PrefabInternal: {fileID: 100100000} 340 | m_GameObject: {fileID: 100006} 341 | m_Enabled: 1 342 | m_EditorHideFlags: 0 343 | m_Script: {fileID: 11500000, guid: e81e219200b8c38459e6111b9a2b54d9, type: 3} 344 | m_Name: 345 | m_EditorClassIdentifier: 346 | ui: {fileID: 11400010} 347 | toggleKey: 9 348 | closeOnEscape: 0 349 | --- !u!114 &11400014 350 | MonoBehaviour: 351 | m_ObjectHideFlags: 1 352 | m_PrefabParentObject: {fileID: 0} 353 | m_PrefabInternal: {fileID: 100100000} 354 | m_GameObject: {fileID: 100008} 355 | m_Enabled: 1 356 | m_EditorHideFlags: 0 357 | m_Script: {fileID: -1200242548, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} 358 | m_Name: 359 | m_EditorClassIdentifier: 360 | m_ShowMaskGraphic: 0 361 | --- !u!114 &11400016 362 | MonoBehaviour: 363 | m_ObjectHideFlags: 1 364 | m_PrefabParentObject: {fileID: 0} 365 | m_PrefabInternal: {fileID: 100100000} 366 | m_GameObject: {fileID: 100008} 367 | m_Enabled: 1 368 | m_EditorHideFlags: 0 369 | m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} 370 | m_Name: 371 | m_EditorClassIdentifier: 372 | m_Material: {fileID: 0} 373 | m_Color: {r: 0, g: 1, b: .172413826, a: 1} 374 | m_Sprite: {fileID: 0} 375 | m_Type: 1 376 | m_PreserveAspect: 0 377 | m_FillCenter: 1 378 | m_FillMethod: 4 379 | m_FillAmount: 1 380 | m_FillClockwise: 1 381 | m_FillOrigin: 0 382 | --- !u!114 &11400018 383 | MonoBehaviour: 384 | m_ObjectHideFlags: 1 385 | m_PrefabParentObject: {fileID: 0} 386 | m_PrefabInternal: {fileID: 100100000} 387 | m_GameObject: {fileID: 100010} 388 | m_Enabled: 1 389 | m_EditorHideFlags: 0 390 | m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} 391 | m_Name: 392 | m_EditorClassIdentifier: 393 | m_Material: {fileID: 0} 394 | m_Color: {r: .960784316, g: .960784316, b: .960784316, a: 1} 395 | m_Sprite: {fileID: 0} 396 | m_Type: 1 397 | m_PreserveAspect: 0 398 | m_FillCenter: 1 399 | m_FillMethod: 4 400 | m_FillAmount: 1 401 | m_FillClockwise: 1 402 | m_FillOrigin: 0 403 | --- !u!114 &11400020 404 | MonoBehaviour: 405 | m_ObjectHideFlags: 1 406 | m_PrefabParentObject: {fileID: 0} 407 | m_PrefabInternal: {fileID: 100100000} 408 | m_GameObject: {fileID: 100012} 409 | m_Enabled: 1 410 | m_EditorHideFlags: 0 411 | m_Script: {fileID: 1367256648, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} 412 | m_Name: 413 | m_EditorClassIdentifier: 414 | m_Content: {fileID: 22400016} 415 | m_Horizontal: 0 416 | m_Vertical: 1 417 | m_MovementType: 1 418 | m_Elasticity: .100000001 419 | m_Inertia: 1 420 | m_DecelerationRate: .00100000005 421 | m_ScrollSensitivity: 8 422 | m_HorizontalScrollbar: {fileID: 0} 423 | m_VerticalScrollbar: {fileID: 11400006} 424 | m_OnValueChanged: 425 | m_PersistentCalls: 426 | m_Calls: [] 427 | m_TypeName: UnityEngine.UI.ScrollRect+ScrollRectEvent, UnityEngine.UI, Version=1.0.0.0, 428 | Culture=neutral, PublicKeyToken=null 429 | --- !u!114 &11400022 430 | MonoBehaviour: 431 | m_ObjectHideFlags: 1 432 | m_PrefabParentObject: {fileID: 0} 433 | m_PrefabInternal: {fileID: 100100000} 434 | m_GameObject: {fileID: 100012} 435 | m_Enabled: 1 436 | m_EditorHideFlags: 0 437 | m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} 438 | m_Name: 439 | m_EditorClassIdentifier: 440 | m_Material: {fileID: 0} 441 | m_Color: {r: .191176474, g: .191176474, b: .191176474, a: .784313738} 442 | m_Sprite: {fileID: 0} 443 | m_Type: 1 444 | m_PreserveAspect: 0 445 | m_FillCenter: 1 446 | m_FillMethod: 4 447 | m_FillAmount: 1 448 | m_FillClockwise: 1 449 | m_FillOrigin: 0 450 | --- !u!114 &11400024 451 | MonoBehaviour: 452 | m_ObjectHideFlags: 1 453 | m_PrefabParentObject: {fileID: 0} 454 | m_PrefabInternal: {fileID: 100100000} 455 | m_GameObject: {fileID: 100014} 456 | m_Enabled: 1 457 | m_EditorHideFlags: 0 458 | m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} 459 | m_Name: 460 | m_EditorClassIdentifier: 461 | m_Material: {fileID: 0} 462 | m_Color: {r: .745098054, g: .745098054, b: .745098054, a: 1} 463 | m_FontData: 464 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} 465 | m_FontSize: 14 466 | m_FontStyle: 0 467 | m_BestFit: 0 468 | m_MinSize: 10 469 | m_MaxSize: 40 470 | m_Alignment: 0 471 | m_RichText: 0 472 | m_HorizontalOverflow: 0 473 | m_VerticalOverflow: 0 474 | m_LineSpacing: 1 475 | m_Text: 476 | --- !u!114 &11400026 477 | MonoBehaviour: 478 | m_ObjectHideFlags: 1 479 | m_PrefabParentObject: {fileID: 0} 480 | m_PrefabInternal: {fileID: 100100000} 481 | m_GameObject: {fileID: 100016} 482 | m_Enabled: 1 483 | m_EditorHideFlags: 0 484 | m_Script: {fileID: 1741964061, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} 485 | m_Name: 486 | m_EditorClassIdentifier: 487 | m_HorizontalFit: 0 488 | m_VerticalFit: 2 489 | --- !u!114 &11400028 490 | MonoBehaviour: 491 | m_ObjectHideFlags: 1 492 | m_PrefabParentObject: {fileID: 0} 493 | m_PrefabInternal: {fileID: 100100000} 494 | m_GameObject: {fileID: 100016} 495 | m_Enabled: 1 496 | m_EditorHideFlags: 0 497 | m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} 498 | m_Name: 499 | m_EditorClassIdentifier: 500 | m_Material: {fileID: 0} 501 | m_Color: {r: 1, g: 1, b: 1, a: 1} 502 | m_FontData: 503 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} 504 | m_FontSize: 14 505 | m_FontStyle: 0 506 | m_BestFit: 0 507 | m_MinSize: 14 508 | m_MaxSize: 14 509 | m_Alignment: 6 510 | m_RichText: 1 511 | m_HorizontalOverflow: 0 512 | m_VerticalOverflow: 1 513 | m_LineSpacing: 1.25 514 | m_Text: 515 | --- !u!114 &11478696 516 | MonoBehaviour: 517 | m_ObjectHideFlags: 1 518 | m_PrefabParentObject: {fileID: 0} 519 | m_PrefabInternal: {fileID: 100100000} 520 | m_GameObject: {fileID: 100006} 521 | m_Enabled: 1 522 | m_EditorHideFlags: 0 523 | m_Script: {fileID: 11500000, guid: d8b2367013c9b9249861c306a99a3f1f, type: 3} 524 | m_Name: 525 | m_EditorClassIdentifier: 526 | --- !u!222 &22200000 527 | CanvasRenderer: 528 | m_ObjectHideFlags: 1 529 | m_PrefabParentObject: {fileID: 0} 530 | m_PrefabInternal: {fileID: 100100000} 531 | m_GameObject: {fileID: 100002} 532 | --- !u!222 &22200002 533 | CanvasRenderer: 534 | m_ObjectHideFlags: 1 535 | m_PrefabParentObject: {fileID: 0} 536 | m_PrefabInternal: {fileID: 100100000} 537 | m_GameObject: {fileID: 100004} 538 | --- !u!222 &22200004 539 | CanvasRenderer: 540 | m_ObjectHideFlags: 1 541 | m_PrefabParentObject: {fileID: 0} 542 | m_PrefabInternal: {fileID: 100100000} 543 | m_GameObject: {fileID: 100008} 544 | --- !u!222 &22200006 545 | CanvasRenderer: 546 | m_ObjectHideFlags: 1 547 | m_PrefabParentObject: {fileID: 0} 548 | m_PrefabInternal: {fileID: 100100000} 549 | m_GameObject: {fileID: 100010} 550 | --- !u!222 &22200008 551 | CanvasRenderer: 552 | m_ObjectHideFlags: 1 553 | m_PrefabParentObject: {fileID: 0} 554 | m_PrefabInternal: {fileID: 100100000} 555 | m_GameObject: {fileID: 100012} 556 | --- !u!222 &22200010 557 | CanvasRenderer: 558 | m_ObjectHideFlags: 1 559 | m_PrefabParentObject: {fileID: 0} 560 | m_PrefabInternal: {fileID: 100100000} 561 | m_GameObject: {fileID: 100014} 562 | --- !u!222 &22200012 563 | CanvasRenderer: 564 | m_ObjectHideFlags: 1 565 | m_PrefabParentObject: {fileID: 0} 566 | m_PrefabInternal: {fileID: 100100000} 567 | m_GameObject: {fileID: 100016} 568 | --- !u!224 &22400000 569 | RectTransform: 570 | m_ObjectHideFlags: 1 571 | m_PrefabParentObject: {fileID: 0} 572 | m_PrefabInternal: {fileID: 100100000} 573 | m_GameObject: {fileID: 100000} 574 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 575 | m_LocalPosition: {x: 0, y: 0, z: 0} 576 | m_LocalScale: {x: 1, y: 1, z: 1} 577 | m_Children: 578 | - {fileID: 22400010} 579 | m_Father: {fileID: 22400004} 580 | m_RootOrder: 0 581 | m_AnchorMin: {x: 0, y: 0} 582 | m_AnchorMax: {x: 1, y: 1} 583 | m_AnchoredPosition: {x: 0, y: 0} 584 | m_SizeDelta: {x: -20, y: -20} 585 | m_Pivot: {x: .5, y: .5} 586 | --- !u!224 &22400002 587 | RectTransform: 588 | m_ObjectHideFlags: 1 589 | m_PrefabParentObject: {fileID: 0} 590 | m_PrefabInternal: {fileID: 100100000} 591 | m_GameObject: {fileID: 100002} 592 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 593 | m_LocalPosition: {x: 0, y: 0, z: 0} 594 | m_LocalScale: {x: 1, y: 1, z: 1} 595 | m_Children: 596 | - {fileID: 22400014} 597 | m_Father: {fileID: 22400006} 598 | m_RootOrder: 1 599 | m_AnchorMin: {x: 0, y: 0} 600 | m_AnchorMax: {x: 1, y: 0} 601 | m_AnchoredPosition: {x: 0, y: 15} 602 | m_SizeDelta: {x: 0, y: 30} 603 | m_Pivot: {x: .5, y: .500000238} 604 | --- !u!224 &22400004 605 | RectTransform: 606 | m_ObjectHideFlags: 1 607 | m_PrefabParentObject: {fileID: 0} 608 | m_PrefabInternal: {fileID: 100100000} 609 | m_GameObject: {fileID: 100004} 610 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 611 | m_LocalPosition: {x: 0, y: 0, z: 0} 612 | m_LocalScale: {x: 1, y: 1, z: 1} 613 | m_Children: 614 | - {fileID: 22400000} 615 | m_Father: {fileID: 22400006} 616 | m_RootOrder: 0 617 | m_AnchorMin: {x: 1, y: 0} 618 | m_AnchorMax: {x: 1, y: 1} 619 | m_AnchoredPosition: {x: 0, y: 15} 620 | m_SizeDelta: {x: 30, y: -30} 621 | m_Pivot: {x: 1.00000012, y: .5} 622 | --- !u!224 &22400006 623 | RectTransform: 624 | m_ObjectHideFlags: 1 625 | m_PrefabParentObject: {fileID: 0} 626 | m_PrefabInternal: {fileID: 100100000} 627 | m_GameObject: {fileID: 100006} 628 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 629 | m_LocalPosition: {x: 0, y: 0, z: 0} 630 | m_LocalScale: {x: 1, y: 1, z: 1} 631 | m_Children: 632 | - {fileID: 22400004} 633 | - {fileID: 22400002} 634 | - {fileID: 22400012} 635 | m_Father: {fileID: 0} 636 | m_RootOrder: 0 637 | m_AnchorMin: {x: 0, y: 0} 638 | m_AnchorMax: {x: 1, y: 0} 639 | m_AnchoredPosition: {x: 0, y: 5} 640 | m_SizeDelta: {x: -10, y: 200} 641 | m_Pivot: {x: .5, y: 0} 642 | --- !u!224 &22400008 643 | RectTransform: 644 | m_ObjectHideFlags: 1 645 | m_PrefabParentObject: {fileID: 0} 646 | m_PrefabInternal: {fileID: 100100000} 647 | m_GameObject: {fileID: 100008} 648 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 649 | m_LocalPosition: {x: 0, y: 0, z: 0} 650 | m_LocalScale: {x: 1, y: 1, z: 1} 651 | m_Children: 652 | - {fileID: 22400016} 653 | m_Father: {fileID: 22400012} 654 | m_RootOrder: 0 655 | m_AnchorMin: {x: 0, y: 0} 656 | m_AnchorMax: {x: 1, y: 1} 657 | m_AnchoredPosition: {x: 0, y: -3.5} 658 | m_SizeDelta: {x: -10, y: -7} 659 | m_Pivot: {x: .5, y: .5} 660 | --- !u!224 &22400010 661 | RectTransform: 662 | m_ObjectHideFlags: 1 663 | m_PrefabParentObject: {fileID: 0} 664 | m_PrefabInternal: {fileID: 100100000} 665 | m_GameObject: {fileID: 100010} 666 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 667 | m_LocalPosition: {x: 0, y: 0, z: 0} 668 | m_LocalScale: {x: 1, y: 1, z: 1} 669 | m_Children: [] 670 | m_Father: {fileID: 22400000} 671 | m_RootOrder: 0 672 | m_AnchorMin: {x: 0, y: 0} 673 | m_AnchorMax: {x: 0, y: 0} 674 | m_AnchoredPosition: {x: 0, y: 0} 675 | m_SizeDelta: {x: 20, y: 20} 676 | m_Pivot: {x: .5, y: .5} 677 | --- !u!224 &22400012 678 | RectTransform: 679 | m_ObjectHideFlags: 1 680 | m_PrefabParentObject: {fileID: 0} 681 | m_PrefabInternal: {fileID: 100100000} 682 | m_GameObject: {fileID: 100012} 683 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 684 | m_LocalPosition: {x: 0, y: 0, z: 0} 685 | m_LocalScale: {x: 1, y: 1, z: 1} 686 | m_Children: 687 | - {fileID: 22400008} 688 | m_Father: {fileID: 22400006} 689 | m_RootOrder: 2 690 | m_AnchorMin: {x: 0, y: 0} 691 | m_AnchorMax: {x: 1, y: 1} 692 | m_AnchoredPosition: {x: -15, y: 15} 693 | m_SizeDelta: {x: -30, y: -30} 694 | m_Pivot: {x: .5, y: .49999997} 695 | --- !u!224 &22400014 696 | RectTransform: 697 | m_ObjectHideFlags: 1 698 | m_PrefabParentObject: {fileID: 0} 699 | m_PrefabInternal: {fileID: 100100000} 700 | m_GameObject: {fileID: 100014} 701 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 702 | m_LocalPosition: {x: 0, y: 0, z: 0} 703 | m_LocalScale: {x: 1, y: 1, z: 1} 704 | m_Children: [] 705 | m_Father: {fileID: 22400002} 706 | m_RootOrder: 0 707 | m_AnchorMin: {x: 0, y: 0} 708 | m_AnchorMax: {x: 1, y: 1} 709 | m_AnchoredPosition: {x: 0, y: 0} 710 | m_SizeDelta: {x: -10, y: -14} 711 | m_Pivot: {x: .5, y: .5} 712 | --- !u!224 &22400016 713 | RectTransform: 714 | m_ObjectHideFlags: 1 715 | m_PrefabParentObject: {fileID: 0} 716 | m_PrefabInternal: {fileID: 100100000} 717 | m_GameObject: {fileID: 100016} 718 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 719 | m_LocalPosition: {x: 0, y: 0, z: 0} 720 | m_LocalScale: {x: 1, y: 1, z: 1} 721 | m_Children: [] 722 | m_Father: {fileID: 22400008} 723 | m_RootOrder: 0 724 | m_AnchorMin: {x: 0, y: 0} 725 | m_AnchorMax: {x: 1, y: 0} 726 | m_AnchoredPosition: {x: 0, y: 0} 727 | m_SizeDelta: {x: 0, y: 0} 728 | m_Pivot: {x: .5, y: 0} 729 | --- !u!225 &22500000 730 | CanvasGroup: 731 | m_ObjectHideFlags: 1 732 | m_PrefabParentObject: {fileID: 0} 733 | m_PrefabInternal: {fileID: 100100000} 734 | m_GameObject: {fileID: 100006} 735 | m_Enabled: 1 736 | m_Alpha: 1 737 | m_Interactable: 1 738 | m_BlocksRaycasts: 1 739 | m_IgnoreParentGroups: 0 740 | --- !u!1001 &100100000 741 | Prefab: 742 | m_ObjectHideFlags: 1 743 | serializedVersion: 2 744 | m_Modification: 745 | m_TransformParent: {fileID: 0} 746 | m_Modifications: [] 747 | m_RemovedComponents: [] 748 | m_ParentPrefab: {fileID: 0} 749 | m_RootGameObject: {fileID: 100006} 750 | m_IsPrefabParent: 1 751 | -------------------------------------------------------------------------------- /Console/Prefabs/Console.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 312abd0527754e047a6bfbc424f09ace 3 | NativeFormatImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Console/Scripts.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5bdd2e4b478cddb43bca6cb7a636b6c5 3 | folderAsset: yes 4 | DefaultImporter: 5 | userData: 6 | -------------------------------------------------------------------------------- /Console/Scripts/Commands.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 26c42aa2eafe5cb479cdfe76722ec9b3 3 | folderAsset: yes 4 | timeCreated: 1429924215 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Console/Scripts/Commands/HelpCommand.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | using Wenzil.Console; 5 | 6 | namespace Wenzil.Console.Commands 7 | { 8 | /// 9 | /// HELP command. Display the list of available commands or details about a specific command. 10 | /// 11 | public static class HelpCommand 12 | { 13 | public static readonly string name = "HELP"; 14 | public static readonly string description = "Display the list of available commands or details about a specific command."; 15 | public static readonly string usage = "HELP [command]"; 16 | 17 | private static StringBuilder commandList = new StringBuilder(); 18 | 19 | public static string Execute(params string[] args) 20 | { 21 | if (args.Length == 0) 22 | { 23 | return DisplayAvailableCommands(); 24 | } 25 | else 26 | { 27 | return DisplayCommandDetails(args[0]); 28 | } 29 | } 30 | 31 | private static string DisplayAvailableCommands() 32 | { 33 | commandList.Length = 0; // clear the command list before rebuilding it 34 | commandList.Append("Available Commands\n"); 35 | 36 | foreach (ConsoleCommand command in ConsoleCommandsDatabase.commands) 37 | { 38 | commandList.Append(string.Format(" {0} - {1}\n", command.name, command.description)); 39 | } 40 | 41 | commandList.Append("To display details about a specific command, type 'HELP' followed by the command name."); 42 | return commandList.ToString(); 43 | } 44 | 45 | private static string DisplayCommandDetails(string commandName) 46 | { 47 | string formatting = 48 | @"{0} Command 49 | Description: {1} 50 | Usage: {2}"; 51 | 52 | try 53 | { 54 | ConsoleCommand command = ConsoleCommandsDatabase.GetCommand(commandName); 55 | return string.Format(formatting, command.name, command.description, command.usage); 56 | } 57 | catch (NoSuchCommandException exception) 58 | { 59 | return string.Format("Cannot find help information about {0}. Are you sure it is a valid command?", exception.command); 60 | } 61 | } 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /Console/Scripts/Commands/HelpCommand.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: df2b9f2e509e37d499cbeae1e15c819c 3 | timeCreated: 1429924222 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Console/Scripts/Commands/LoadCommand.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using System.Collections; 3 | 4 | /// 5 | /// LOAD command. Load the specified scene by name. 6 | /// 7 | 8 | namespace Wenzil.Console.Commands 9 | { 10 | public static class LoadCommand 11 | { 12 | public static readonly string name = "LOAD"; 13 | public static readonly string description = "Load the specified scene by name. Before you can load a scene you have to add it to the list of levels used in the game. Use File->Build Settings... in Unity and add the levels you need to the level list there."; 14 | public static readonly string usage = "LOAD scene"; 15 | 16 | public static string Execute(params string[] args) 17 | { 18 | if (args.Length == 0) 19 | { 20 | return HelpCommand.Execute(LoadCommand.name); 21 | } 22 | else 23 | { 24 | return LoadLevel(args[0]); 25 | } 26 | } 27 | 28 | private static string LoadLevel(string scene) 29 | { 30 | try 31 | { 32 | Application.LoadLevel(scene); 33 | } 34 | catch 35 | { 36 | return string.Format("Failed to load {0}.", scene); 37 | } 38 | 39 | if (Application.loadedLevelName == scene) // Assume success if we had to load the scene we were already in 40 | return string.Format("Success loading {0}.", scene); 41 | else 42 | return string.Format("Failed to load {0}. Are you sure it's in the list of levels in Build Settings?", scene); 43 | } 44 | } 45 | } -------------------------------------------------------------------------------- /Console/Scripts/Commands/LoadCommand.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d1c46382b81f2c34f92bca189d306615 3 | timeCreated: 1429924459 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Console/Scripts/Commands/QuitCommand.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | namespace Wenzil.Console.Commands 4 | { 5 | /// 6 | /// QUIT command. Quit the application. 7 | /// 8 | public static class QuitCommand 9 | { 10 | public static readonly string name = "QUIT"; 11 | public static readonly string description = "Quit the application."; 12 | public static readonly string usage = "QUIT"; 13 | 14 | public static string Execute(params string[] args) 15 | { 16 | Application.Quit(); 17 | #if UNITY_EDITOR 18 | UnityEditor.EditorApplication.isPlaying = false; 19 | #endif 20 | return "Quitting..."; 21 | } 22 | } 23 | } -------------------------------------------------------------------------------- /Console/Scripts/Commands/QuitCommand.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3241eab04269cb549a0d58518b72652e 3 | timeCreated: 1429924237 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Console/Scripts/Console.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections; 3 | using UnityEngine; 4 | 5 | public delegate void OnConsoleLog(string line); 6 | 7 | namespace Wenzil.Console 8 | { 9 | /// 10 | /// Use Console.Log() anywhere in your code. The Console prefab will display the output. 11 | /// 12 | public static class Console 13 | { 14 | public static OnConsoleLog OnConsoleLog; 15 | 16 | public static void Log(string line) 17 | { 18 | Debug.Log(line); 19 | if (OnConsoleLog != null) 20 | OnConsoleLog(line); 21 | } 22 | 23 | public static string ExecuteCommand(string command, params string[] args) 24 | { 25 | return ConsoleCommandsDatabase.ExecuteCommand(command, args); 26 | } 27 | } 28 | 29 | public static class MBExtensions { 30 | #region Typesafe Invoke 31 | public static void Invoke(this MonoBehaviour mb, Action action, float delay) { 32 | if(delay == 0f) 33 | action(); 34 | else 35 | mb.StartCoroutine(DelayedInvoke(action, delay)); 36 | } 37 | 38 | public static void Invoke(this MonoBehaviour mb, Action action, T arg, float delay) { 39 | if(delay == 0f) 40 | action(arg); 41 | else 42 | mb.StartCoroutine(DelayedInvoke(action, arg, delay)); 43 | } 44 | 45 | public static void Invoke(this MonoBehaviour mb, Action action, T1 arg1, T2 arg2, float delay) { 46 | if(delay == 0f) 47 | action(arg1, arg2); 48 | else 49 | mb.StartCoroutine(DelayedInvoke(action, arg1, arg2, delay)); 50 | } 51 | 52 | public static void Invoke(this MonoBehaviour mb, Action action, T1 arg1, T2 arg2, T3 arg3, float delay) { 53 | if(delay == 0f) 54 | action(arg1, arg2, arg3); 55 | else 56 | mb.StartCoroutine(DelayedInvoke(action, arg1, arg2, arg3, delay)); 57 | } 58 | 59 | public static void Invoke(this MonoBehaviour mb, Action action, T1 arg1, T2 arg2, T3 arg3, T4 arg4, float delay) { 60 | if(delay == 0f) 61 | action(arg1, arg2, arg3, arg4); 62 | else 63 | mb.StartCoroutine(DelayedInvoke(action, arg1, arg2, arg3, arg4, delay)); 64 | } 65 | 66 | private static IEnumerator DelayedInvoke(Action action, float delay) { 67 | yield return new WaitForSeconds(delay); 68 | action(); 69 | } 70 | 71 | private static IEnumerator DelayedInvoke(Action action, T arg, float delay) { 72 | yield return new WaitForSeconds(delay); 73 | action(arg); 74 | } 75 | 76 | private static IEnumerator DelayedInvoke(Action action, T1 arg1, T2 arg2, float delay) { 77 | yield return new WaitForSeconds(delay); 78 | action(arg1, arg2); 79 | } 80 | 81 | private static IEnumerator DelayedInvoke(Action action, T1 arg1, T2 arg2, T3 arg3, float delay) { 82 | yield return new WaitForSeconds(delay); 83 | action(arg1, arg2, arg3); 84 | } 85 | 86 | private static IEnumerator DelayedInvoke(Action action, T1 arg1, T2 arg2, T3 arg3, T4 arg4, float delay) { 87 | yield return new WaitForSeconds(delay); 88 | action(arg1, arg2, arg3, arg4); 89 | } 90 | #endregion 91 | } 92 | } -------------------------------------------------------------------------------- /Console/Scripts/Console.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fe6f452e84a630a469fb63be8133d238 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /Console/Scripts/ConsoleCommand.cs: -------------------------------------------------------------------------------- 1 | namespace Wenzil.Console 2 | { 3 | public delegate string ConsoleCommandCallback(params string[] args); 4 | 5 | public struct ConsoleCommand 6 | { 7 | public string name { get; private set; } 8 | public string description { get; private set; } 9 | public string usage { get; private set; } 10 | public ConsoleCommandCallback callback { get; private set; } 11 | 12 | public ConsoleCommand(string name, string description, string usage, ConsoleCommandCallback callback) : this() 13 | { 14 | this.name = name; 15 | this.description = (string.IsNullOrEmpty(description.Trim()) ? "No description provided" : description); 16 | this.usage = (string.IsNullOrEmpty(usage.Trim()) ? "No usage information provided" : usage); 17 | this.callback = callback; 18 | } 19 | } 20 | } -------------------------------------------------------------------------------- /Console/Scripts/ConsoleCommand.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 83a045961ee58b74d86d9534ef7d346c 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /Console/Scripts/ConsoleCommandsDatabase.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | 5 | namespace Wenzil.Console 6 | { 7 | /// 8 | /// Use RegisterCommand() to register your own commands. Registered commands persist between scenes but don't persist between multiple application executions. 9 | /// 10 | public static class ConsoleCommandsDatabase 11 | { 12 | private static Dictionary database = new Dictionary(StringComparer.OrdinalIgnoreCase); 13 | 14 | /// 15 | /// Return all the commands in alphabetical order. 16 | /// 17 | public static IEnumerable commands { get { return database.OrderBy(kv => kv.Key).Select(kv => kv.Value); } } 18 | 19 | public static void RegisterCommand(string command, ConsoleCommandCallback callback, string description = "", string usage = "") 20 | { 21 | RegisterCommand(command, description, usage, callback); 22 | } 23 | 24 | public static void RegisterCommand(string command, string description, string usage, ConsoleCommandCallback callback) 25 | { 26 | database[command] = new ConsoleCommand(command, description, usage, callback); 27 | } 28 | 29 | public static string ExecuteCommand(string command, params string[] args) 30 | { 31 | try 32 | { 33 | ConsoleCommand retrievedCommand = GetCommand(command); 34 | return retrievedCommand.callback(args); 35 | } 36 | catch (NoSuchCommandException e) 37 | { 38 | return e.Message; 39 | } 40 | } 41 | 42 | public static bool TryGetCommand(string command, out ConsoleCommand result) 43 | { 44 | try 45 | { 46 | result = GetCommand(command); 47 | return true; 48 | } 49 | catch (NoSuchCommandException) 50 | { 51 | result = default(ConsoleCommand); 52 | return false; 53 | } 54 | } 55 | 56 | public static ConsoleCommand GetCommand(string command) 57 | { 58 | if (HasCommand(command)) 59 | { 60 | return database[command]; 61 | } 62 | else 63 | { 64 | command = command.ToUpper(); 65 | throw new NoSuchCommandException("Command " + command + " not found.", command); 66 | } 67 | } 68 | 69 | public static bool HasCommand(string command) 70 | { 71 | return database.ContainsKey(command); 72 | } 73 | } 74 | } -------------------------------------------------------------------------------- /Console/Scripts/ConsoleCommandsDatabase.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d6d8b0d85c6ba3446b04b1f9e7251a06 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /Console/Scripts/ConsoleController.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using System; 3 | using System.Linq; 4 | using System.Collections.Generic; 5 | 6 | namespace Wenzil.Console 7 | { 8 | /// 9 | /// The behavior of the console. 10 | /// 11 | [DisallowMultipleComponent] 12 | [RequireComponent(typeof(ConsoleController))] 13 | public class ConsoleController : MonoBehaviour 14 | { 15 | private const int inputHistoryCapacity = 20; 16 | 17 | public ConsoleUI ui; 18 | public KeyCode toggleKey = KeyCode.BackQuote; 19 | public bool closeOnEscape = false; 20 | 21 | private ConsoleInputHistory inputHistory = new ConsoleInputHistory(inputHistoryCapacity); 22 | 23 | void Awake() 24 | { 25 | /* This instantiation causes a bug when Unity rebuilds the project while in play mode 26 | Solution: move it to class level initialization, and make inputHistoryCapacity a const */ 27 | // inputHistory = new ConsoleInputHistory(inputHistoryCapacity); 28 | } 29 | void OnEnable() 30 | { 31 | Console.OnConsoleLog += ui.AddNewOutputLine; 32 | ui.onSubmitCommand += ExecuteCommand; 33 | ui.onClearConsole += inputHistory.Clear; 34 | } 35 | 36 | void OnDisable() 37 | { 38 | Console.OnConsoleLog -= ui.AddNewOutputLine; 39 | ui.onSubmitCommand -= ExecuteCommand; 40 | ui.onClearConsole -= inputHistory.Clear; 41 | } 42 | 43 | void Update() 44 | { 45 | if (Input.GetKeyDown(toggleKey)) 46 | ui.ToggleConsole(); 47 | else if (Input.GetKeyDown(KeyCode.Escape) && closeOnEscape) 48 | ui.CloseConsole(); 49 | else if (Input.GetKeyDown(KeyCode.UpArrow)) 50 | NavigateInputHistory(true); 51 | else if (Input.GetKeyDown(KeyCode.DownArrow)) 52 | NavigateInputHistory(false); 53 | } 54 | 55 | private void NavigateInputHistory(bool up) 56 | { 57 | string navigatedToInput = inputHistory.Navigate(up); 58 | ui.SetInputText(navigatedToInput); 59 | } 60 | 61 | private void ExecuteCommand(string input) 62 | { 63 | string[] parts = input.Split(' '); 64 | string command = parts[0]; 65 | string[] args = parts.Skip(1).ToArray(); 66 | 67 | Console.Log("> " + input); 68 | Console.Log(ConsoleCommandsDatabase.ExecuteCommand(command, args)); 69 | inputHistory.AddNewInputEntry(input); 70 | } 71 | } 72 | } -------------------------------------------------------------------------------- /Console/Scripts/ConsoleController.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e81e219200b8c38459e6111b9a2b54d9 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /Console/Scripts/ConsoleInputHistory.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using System; 3 | using System.Collections.Generic; 4 | 5 | namespace Wenzil.Console 6 | { 7 | /// 8 | /// Utility for caching and navigating recently executed console commands. 9 | /// 10 | public class ConsoleInputHistory 11 | { 12 | // Input history from most recent to oldest 13 | private List inputHistory; 14 | public int maxCapacity; 15 | 16 | // The go-to input entry index. The one to navigate to when first navigating up. It's usually the one most recently navigated-to. 17 | private int currentInput; 18 | 19 | private bool isNavigating; 20 | 21 | public ConsoleInputHistory(int maxCapacity) 22 | { 23 | inputHistory = new List(maxCapacity); 24 | this.maxCapacity = maxCapacity; 25 | } 26 | 27 | /// 28 | /// Navigates up or down the input history 29 | /// 30 | /// The navigated-to input entry 31 | public string Navigate(bool up) 32 | { 33 | bool down = !up; 34 | 35 | // When first navigating up (if there is an input entry), navigate to the go-to input entry (we actually are already there) 36 | // If navigating up again, navigate to the input entry ABOVE (if there is one) the go-to input entry 37 | // If navigating down at any time, navigate to the input entry BELOW (if there is one) the go-to input entry 38 | if (!isNavigating) 39 | isNavigating = (up && inputHistory.Count > 0) || (down && currentInput > 0); 40 | else if (up) 41 | currentInput++; 42 | if (down) 43 | currentInput--; 44 | 45 | currentInput = Mathf.Clamp(currentInput, 0, inputHistory.Count - 1); 46 | 47 | // Return the navigated-to input entry 48 | if (isNavigating) 49 | return inputHistory[currentInput]; 50 | else 51 | return ""; 52 | } 53 | 54 | /// 55 | /// Add a new input entry to the input history. 56 | /// 57 | public void AddNewInputEntry(string input) 58 | { 59 | // Give the opportunity to "first" navigate up again, so that we can resume navigating up from the go-to input entry 60 | isNavigating = false; 61 | 62 | // Don't add the same input twice in a row 63 | if (inputHistory.Count > 0 && input.Equals(inputHistory[0], StringComparison.OrdinalIgnoreCase)) 64 | return; 65 | 66 | // If we went over capacity, remove the oldest input entry to make room for a new one 67 | if (inputHistory.Count == maxCapacity) 68 | inputHistory.RemoveAt(maxCapacity - 1); 69 | 70 | // Insert the new input entry 71 | inputHistory.Insert(0, input); 72 | 73 | // If the go-to input entry was removed for capacity reasons, then the new input entry becomes go-to input entry 74 | if (currentInput == maxCapacity - 1) 75 | currentInput = 0; 76 | // Otherwise make sure the go-to input entry remains the same by shifting the index 77 | // Note that if there was no input entry before, then the go-to input entry index remains 0 which is the new input entry 78 | else 79 | currentInput = Mathf.Clamp(++currentInput, 0, inputHistory.Count - 1); 80 | 81 | // If the new input entry is different than the go-to input entry, then it becomes the go-to input entry 82 | if (!input.Equals(inputHistory[currentInput], StringComparison.OrdinalIgnoreCase)) 83 | currentInput = 0; 84 | } 85 | 86 | public void Clear() 87 | { 88 | inputHistory.Clear(); 89 | currentInput = 0; 90 | isNavigating = false; 91 | } 92 | } 93 | } 94 | -------------------------------------------------------------------------------- /Console/Scripts/ConsoleInputHistory.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5cc932f1629dafa419950049d397da68 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /Console/Scripts/ConsoleUI.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using UnityEngine.UI; 3 | using UnityEngine.EventSystems; 4 | using System; 5 | 6 | namespace Wenzil.Console 7 | { 8 | 9 | /// 10 | /// The interactive front-end of the console. 11 | /// 12 | [DisallowMultipleComponent] 13 | [RequireComponent(typeof(ConsoleController))] 14 | public class ConsoleUI : MonoBehaviour, IScrollHandler 15 | { 16 | public event Action onToggleConsole; 17 | public event Action onSubmitCommand; 18 | public event Action onClearConsole; 19 | 20 | public Scrollbar scrollbar; 21 | public Text outputText; 22 | public ScrollRect outputArea; 23 | public InputField inputField; 24 | 25 | /// 26 | /// Indicates whether the console is currently open or close. 27 | /// 28 | public bool isConsoleOpen { get { return enabled; } } 29 | 30 | void Awake() 31 | { 32 | Show(false); 33 | } 34 | 35 | /// 36 | /// Opens or closes the console. 37 | /// 38 | public void ToggleConsole() 39 | { 40 | enabled = !enabled; 41 | } 42 | 43 | /// 44 | /// Opens the console. 45 | /// 46 | public void OpenConsole() 47 | { 48 | enabled = true; 49 | } 50 | 51 | /// 52 | /// Closes the console. 53 | /// 54 | public void CloseConsole() 55 | { 56 | enabled = false; 57 | } 58 | 59 | void OnEnable() 60 | { 61 | OnToggle(true); 62 | } 63 | 64 | void OnDisable() 65 | { 66 | OnToggle(false); 67 | } 68 | 69 | private void OnToggle(bool open) 70 | { 71 | Show(open); 72 | 73 | if (open) 74 | inputField.ActivateInputField(); 75 | else 76 | ClearInput(); 77 | 78 | if (onToggleConsole != null) 79 | onToggleConsole(open); 80 | } 81 | 82 | private void Show(bool show) 83 | { 84 | inputField.gameObject.SetActive(show); 85 | outputArea.gameObject.SetActive(show); 86 | scrollbar.gameObject.SetActive(show); 87 | } 88 | 89 | /// 90 | /// What to do when the user wants to submit a command. 91 | /// 92 | public void OnSubmit(string input) 93 | { 94 | if (EventSystem.current.alreadySelecting) // if user selected something else, don't treat as a submit 95 | return; 96 | 97 | if (input.Length > 0) 98 | { 99 | if (onSubmitCommand != null) 100 | onSubmitCommand(input); 101 | scrollbar.value = 0; 102 | ClearInput(); 103 | } 104 | 105 | inputField.ActivateInputField(); 106 | } 107 | 108 | /// 109 | /// What to do when the user uses the scrollwheel while hovering the console input. 110 | /// 111 | public void OnScroll(PointerEventData eventData) 112 | { 113 | scrollbar.value += 0.08f * eventData.scrollDelta.y; 114 | } 115 | 116 | /// 117 | /// Displays the given message as a new entry in the console output. 118 | /// 119 | public void AddNewOutputLine(string line) 120 | { 121 | outputText.text += Environment.NewLine + line; 122 | } 123 | 124 | /// 125 | /// Clears the console output. 126 | /// 127 | public void ClearOutput() 128 | { 129 | outputText.text = ""; 130 | outputText.SetLayoutDirty(); 131 | if(onClearConsole != null) 132 | onClearConsole(); 133 | } 134 | 135 | /// 136 | /// Clears the console input. 137 | /// 138 | public void ClearInput() 139 | { 140 | SetInputText(""); 141 | } 142 | 143 | /// 144 | /// Writes the given string into the console input, ready to be user submitted. 145 | /// 146 | public void SetInputText(string input) 147 | { 148 | inputField.MoveTextStart(false); 149 | inputField.text = input; 150 | inputField.MoveTextEnd(false); 151 | } 152 | } 153 | } -------------------------------------------------------------------------------- /Console/Scripts/ConsoleUI.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 20aea41b5b8ab374cac1e515b4d75f17 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /Console/Scripts/DefaultCommands.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using Wenzil.Console.Commands; 3 | 4 | namespace Wenzil.Console 5 | { 6 | public class DefaultCommands : MonoBehaviour 7 | { 8 | void Start() 9 | { 10 | ConsoleCommandsDatabase.RegisterCommand(QuitCommand.name, QuitCommand.description, QuitCommand.usage, QuitCommand.Execute); 11 | ConsoleCommandsDatabase.RegisterCommand(HelpCommand.name, HelpCommand.description, HelpCommand.usage, HelpCommand.Execute); 12 | ConsoleCommandsDatabase.RegisterCommand(LoadCommand.name, LoadCommand.description, LoadCommand.usage, LoadCommand.Execute); 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Console/Scripts/DefaultCommands.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d8b2367013c9b9249861c306a99a3f1f 3 | timeCreated: 1429931333 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Console/Scripts/NoSuchCommandException.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Runtime.Serialization; 3 | 4 | namespace Wenzil.Console 5 | { 6 | /// 7 | /// An exception thrown when attempting to retrieve a command that does not exist. 8 | /// 9 | [Serializable] 10 | public class NoSuchCommandException : Exception 11 | { 12 | /// 13 | /// The command that does not exist. 14 | /// 15 | public string command { get; private set; } 16 | 17 | public NoSuchCommandException() : base() { } 18 | 19 | public NoSuchCommandException(string message) : base(message) { } 20 | 21 | public NoSuchCommandException(string message, string command) 22 | : base(message) 23 | { 24 | this.command = command; 25 | } 26 | 27 | protected NoSuchCommandException(SerializationInfo info, StreamingContext context) 28 | : base(info, context) 29 | { 30 | if (info != null) 31 | this.command = info.GetString("command"); 32 | } 33 | 34 | // Perform serialization 35 | public override void GetObjectData(SerializationInfo info, StreamingContext context) 36 | { 37 | base.GetObjectData(info, context); 38 | 39 | if (info != null) 40 | info.AddValue("command", command); 41 | } 42 | } 43 | } -------------------------------------------------------------------------------- /Console/Scripts/NoSuchCommandException.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f4cffd2d2815aaf4abc42309b1cefe51 3 | timeCreated: 1429930064 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014 Sami Turcotte 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. -------------------------------------------------------------------------------- /LICENSE.txt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0977942da25555d4cabd8e1c6b981e37 3 | TextScriptImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # UnityConsole 2 | Welcome to UnityConsole, an easy-to-use developer console for Unity 5! 3 | 4 | ![Screenshot](https://dl.dropboxusercontent.com/u/106740647/UnityConsole/Screenshot.jpg) 5 | 6 | ## Getting Started 7 | 1. Import the UnityConsole package into your project (or clone the UnityConsole repository into your Assets folder) 8 | 2. Add a UI canvas to your scene if you don't already have one (GameObject > UI > Canvas) 9 | 3. Drag-and-Drop the ``Console`` prefab onto the canvas in the Hierarchy 10 | 4. Run your scene and press ``TAB`` to toggle the console 11 | 12 | ## Logging 13 | Anywhere in your code, simply use ``Console.Log()`` to output to the console 14 | 15 | ## Default Commands 16 | The console comes with three commands by default. 17 | 18 | * ``HELP`` - Display the list of available commands or details about a specific command. 19 | * ``LOAD`` - Load the specified scene by name. Before you can load a scene you have to add it to the list of levels used in the game. Use File->Build Settings... in Unity and add the levels you need to the level list there. 20 | * ``QUIT`` - Quit the application. 21 | 22 | ## Extending the Console 23 | Use the ``ConsoleCommandsDatabase.RegisterCommand()`` method to register your own commands. Here's an example. 24 | 25 | ```csharp 26 | public class MyCommands : MonoBehaviour 27 | { 28 | void Start() 29 | { 30 | ConsoleCommandsDatabase.RegisterCommand("TAKE", MyCommands.Take, 31 | description: "Partake in a great adventure alone.", 32 | usage: "TAKE"); 33 | 34 | ConsoleCommandsDatabase.RegisterCommand("RANDOM", MyCommands.Random, 35 | description: "Display a random number between a and b using an optional seed.", 36 | usage: "RANDOM a b [seed]"); 37 | } 38 | 39 | private static string Take(params string[] args) 40 | { 41 | return "It is dangerous to go alone! Take this." 42 | } 43 | 44 | private static string Random(params string[] args) 45 | { 46 | if (args.Length < 2) 47 | { 48 | return "Missing range bounds."; 49 | } 50 | 51 | if (args.Length >= 3) 52 | { 53 | int seed = 0; 54 | if (int.TryParse(args[2], out seed)) 55 | { 56 | UnityEngine.Random.seed = seed; 57 | } 58 | else 59 | { 60 | return "Invalid seed."; 61 | } 62 | } 63 | 64 | float a = 0; 65 | float b = 0; 66 | if (float.TryParse(args[0], out a) && 67 | float.TryParse(args[1], out b) && 68 | a <= b) 69 | { 70 | return Convert.ToString(UnityEngine.Random.Range(a, b)); 71 | } 72 | else 73 | { 74 | return "Invalid range bounds."; 75 | } 76 | } 77 | ``` 78 | 79 | Attaching this script to the console will extend it with the two commands at the start of the game. Registered commands can be overwritten and persist between scenes but don't persist between multiple application executions. 80 | 81 | ## World space UI 82 | You can use UnityConsole in world space. Simply set your canvas ``Render Mode`` to ``World Space`` and you're good to go. You may need to scale down the canvas. 83 | 84 | ## Styling the Console 85 | You can easily change the appearance of the console by changing the image sources, font styles and state transitions of the various UI components. It is also possible to anchor the console differently as needed. 86 | 87 | ## Contributing 88 | 89 | Feel free to create pull requests or report any issues you may find. I'll be taking your feedback! 90 | 91 | ## Contact me 92 | 93 | @Syncopath1 on Twitter 94 | -------------------------------------------------------------------------------- /README.md.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d18a5003384c8da4395e553309150974 3 | DefaultImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Samples.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 41aafc4302e6e2a46a03910654e77fd6 3 | folderAsset: yes 4 | DefaultImporter: 5 | userData: 6 | -------------------------------------------------------------------------------- /Samples/BoxMaterial.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!21 &2100000 4 | Material: 5 | serializedVersion: 5 6 | m_ObjectHideFlags: 0 7 | m_PrefabParentObject: {fileID: 0} 8 | m_PrefabInternal: {fileID: 0} 9 | m_Name: BoxMaterial 10 | m_Shader: {fileID: 7, guid: 0000000000000000f000000000000000, type: 0} 11 | m_ShaderKeywords: 12 | m_LightmapFlags: 5 13 | m_CustomRenderQueue: -1 14 | m_SavedProperties: 15 | serializedVersion: 2 16 | m_TexEnvs: 17 | data: 18 | first: 19 | name: _MainTex 20 | second: 21 | m_Texture: {fileID: 0} 22 | m_Scale: {x: 1, y: 1} 23 | m_Offset: {x: 0, y: 0} 24 | m_Floats: {} 25 | m_Colors: 26 | data: 27 | first: 28 | name: _Color 29 | second: {r: 1, g: .435294151, b: .321568638, a: 1} 30 | -------------------------------------------------------------------------------- /Samples/BoxMaterial.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 799ddde0712b42b4f95246a57a8a29d8 3 | NativeFormatImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Samples/Scenes.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e1ebdeeada13f174093dcc2860c1b69f 3 | folderAsset: yes 4 | DefaultImporter: 5 | userData: 6 | -------------------------------------------------------------------------------- /Samples/Scenes/BasicSample.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_ObjectHideFlags: 0 16 | serializedVersion: 6 17 | m_Fog: 0 18 | m_FogColor: {r: .5, g: .5, b: .5, a: 1} 19 | m_FogMode: 3 20 | m_FogDensity: .00999999978 21 | m_LinearFogStart: 0 22 | m_LinearFogEnd: 300 23 | m_AmbientSkyColor: {r: .200000003, g: .200000003, b: .200000003, a: 1} 24 | m_AmbientEquatorColor: {r: .200000003, g: .200000003, b: .200000003, a: 1} 25 | m_AmbientGroundColor: {r: .200000003, g: .200000003, b: .200000003, a: 1} 26 | m_AmbientIntensity: 1 27 | m_AmbientMode: 3 28 | m_SkyboxMaterial: {fileID: 0} 29 | m_HaloStrength: .5 30 | m_FlareStrength: 1 31 | m_FlareFadeSpeed: 3 32 | m_HaloTexture: {fileID: 0} 33 | m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} 34 | m_DefaultReflectionMode: 0 35 | m_DefaultReflectionResolution: 128 36 | m_ReflectionBounces: 1 37 | m_ReflectionIntensity: 1 38 | m_CustomReflection: {fileID: 0} 39 | m_Sun: {fileID: 0} 40 | --- !u!127 &3 41 | LevelGameManager: 42 | m_ObjectHideFlags: 0 43 | --- !u!157 &4 44 | LightmapSettings: 45 | m_ObjectHideFlags: 0 46 | serializedVersion: 5 47 | m_GIWorkflowMode: 1 48 | m_LightmapsMode: 1 49 | m_GISettings: 50 | serializedVersion: 2 51 | m_BounceScale: 1 52 | m_IndirectOutputScale: 1 53 | m_AlbedoBoost: 1 54 | m_TemporalCoherenceThreshold: 1 55 | m_EnvironmentLightingMode: 0 56 | m_EnableBakedLightmaps: 1 57 | m_EnableRealtimeLightmaps: 0 58 | m_LightmapEditorSettings: 59 | serializedVersion: 3 60 | m_Resolution: 1 61 | m_BakeResolution: 50 62 | m_TextureWidth: 1024 63 | m_TextureHeight: 1024 64 | m_AOMaxDistance: 1 65 | m_Padding: 2 66 | m_CompAOExponent: 0 67 | m_LightmapParameters: {fileID: 0} 68 | m_TextureCompression: 0 69 | m_FinalGather: 0 70 | m_FinalGatherRayCount: 1024 71 | m_LightmapSnapshot: {fileID: 0} 72 | m_RuntimeCPUUsage: 25 73 | --- !u!196 &5 74 | NavMeshSettings: 75 | serializedVersion: 2 76 | m_ObjectHideFlags: 0 77 | m_BuildSettings: 78 | serializedVersion: 2 79 | agentRadius: .5 80 | agentHeight: 2 81 | agentSlope: 45 82 | agentClimb: .400000006 83 | ledgeDropHeight: 0 84 | maxJumpAcrossDistance: 0 85 | accuratePlacement: 0 86 | minRegionArea: 2 87 | cellSize: .166666657 88 | manualCellSize: 0 89 | m_NavMeshData: {fileID: 0} 90 | --- !u!1 &343106092 91 | GameObject: 92 | m_ObjectHideFlags: 0 93 | m_PrefabParentObject: {fileID: 0} 94 | m_PrefabInternal: {fileID: 0} 95 | serializedVersion: 4 96 | m_Component: 97 | - 4: {fileID: 343106093} 98 | - 33: {fileID: 343106096} 99 | - 65: {fileID: 343106095} 100 | - 23: {fileID: 343106094} 101 | m_Layer: 0 102 | m_Name: Cube 103 | m_TagString: Untagged 104 | m_Icon: {fileID: 0} 105 | m_NavMeshLayer: 0 106 | m_StaticEditorFlags: 0 107 | m_IsActive: 1 108 | --- !u!4 &343106093 109 | Transform: 110 | m_ObjectHideFlags: 0 111 | m_PrefabParentObject: {fileID: 0} 112 | m_PrefabInternal: {fileID: 0} 113 | m_GameObject: {fileID: 343106092} 114 | m_LocalRotation: {x: -.00507213688, y: -.00506548304, z: .707108617, w: .707068682} 115 | m_LocalPosition: {x: 1036.19995, y: .480040014, z: 387.480011} 116 | m_LocalScale: {x: 1, y: 1, z: 1} 117 | m_Children: [] 118 | m_Father: {fileID: 1111047966} 119 | m_RootOrder: 2 120 | --- !u!23 &343106094 121 | MeshRenderer: 122 | m_ObjectHideFlags: 0 123 | m_PrefabParentObject: {fileID: 0} 124 | m_PrefabInternal: {fileID: 0} 125 | m_GameObject: {fileID: 343106092} 126 | m_Enabled: 1 127 | m_CastShadows: 1 128 | m_ReceiveShadows: 1 129 | m_Materials: 130 | - {fileID: 2100000, guid: 799ddde0712b42b4f95246a57a8a29d8, type: 2} 131 | m_SubsetIndices: 132 | m_StaticBatchRoot: {fileID: 0} 133 | m_UseLightProbes: 0 134 | m_ReflectionProbeUsage: 1 135 | m_ProbeAnchor: {fileID: 0} 136 | m_ScaleInLightmap: 1 137 | m_PreserveUVs: 0 138 | m_ImportantGI: 0 139 | m_AutoUVMaxDistance: .5 140 | m_AutoUVMaxAngle: 89 141 | m_LightmapParameters: {fileID: 0} 142 | m_SortingLayerID: 0 143 | m_SortingOrder: 0 144 | --- !u!65 &343106095 145 | BoxCollider: 146 | m_ObjectHideFlags: 0 147 | m_PrefabParentObject: {fileID: 0} 148 | m_PrefabInternal: {fileID: 0} 149 | m_GameObject: {fileID: 343106092} 150 | m_Material: {fileID: 0} 151 | m_IsTrigger: 0 152 | m_Enabled: 1 153 | serializedVersion: 2 154 | m_Size: {x: 1, y: 1, z: 1} 155 | m_Center: {x: 0, y: 0, z: 0} 156 | --- !u!33 &343106096 157 | MeshFilter: 158 | m_ObjectHideFlags: 0 159 | m_PrefabParentObject: {fileID: 0} 160 | m_PrefabInternal: {fileID: 0} 161 | m_GameObject: {fileID: 343106092} 162 | m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} 163 | --- !u!1 &408379459 164 | GameObject: 165 | m_ObjectHideFlags: 0 166 | m_PrefabParentObject: {fileID: 0} 167 | m_PrefabInternal: {fileID: 0} 168 | serializedVersion: 4 169 | m_Component: 170 | - 4: {fileID: 408379460} 171 | - 108: {fileID: 408379461} 172 | m_Layer: 0 173 | m_Name: Directional light 174 | m_TagString: Untagged 175 | m_Icon: {fileID: 0} 176 | m_NavMeshLayer: 0 177 | m_StaticEditorFlags: 0 178 | m_IsActive: 1 179 | --- !u!4 &408379460 180 | Transform: 181 | m_ObjectHideFlags: 0 182 | m_PrefabParentObject: {fileID: 0} 183 | m_PrefabInternal: {fileID: 0} 184 | m_GameObject: {fileID: 408379459} 185 | m_LocalRotation: {x: .408217937, y: -.234569728, z: .109381661, w: .875426114} 186 | m_LocalPosition: {x: 1044.59998, y: 128.830002, z: 505.079987} 187 | m_LocalScale: {x: 1, y: 1, z: 1} 188 | m_Children: [] 189 | m_Father: {fileID: 1111047966} 190 | m_RootOrder: 5 191 | --- !u!108 &408379461 192 | Light: 193 | m_ObjectHideFlags: 0 194 | m_PrefabParentObject: {fileID: 0} 195 | m_PrefabInternal: {fileID: 0} 196 | m_GameObject: {fileID: 408379459} 197 | m_Enabled: 1 198 | serializedVersion: 6 199 | m_Type: 1 200 | m_Color: {r: 1, g: 1, b: 1, a: 1} 201 | m_Intensity: .319999993 202 | m_Range: 10 203 | m_SpotAngle: 30 204 | m_CookieSize: 10 205 | m_Shadows: 206 | m_Type: 0 207 | m_Resolution: -1 208 | m_Strength: 1 209 | m_Bias: .0500000007 210 | m_NormalBias: .400000006 211 | m_Cookie: {fileID: 0} 212 | m_DrawHalo: 0 213 | m_Flare: {fileID: 0} 214 | m_RenderMode: 0 215 | m_CullingMask: 216 | serializedVersion: 2 217 | m_Bits: 4294967295 218 | m_Lightmapping: 1 219 | m_BounceIntensity: 1 220 | m_ShadowRadius: 0 221 | m_ShadowAngle: 0 222 | m_AreaSize: {x: 1, y: 1} 223 | --- !u!1 &479951991 224 | GameObject: 225 | m_ObjectHideFlags: 0 226 | m_PrefabParentObject: {fileID: 0} 227 | m_PrefabInternal: {fileID: 0} 228 | serializedVersion: 4 229 | m_Component: 230 | - 4: {fileID: 479951992} 231 | - 33: {fileID: 479951995} 232 | - 65: {fileID: 479951994} 233 | - 23: {fileID: 479951993} 234 | m_Layer: 0 235 | m_Name: Cube 236 | m_TagString: Untagged 237 | m_Icon: {fileID: 0} 238 | m_NavMeshLayer: 0 239 | m_StaticEditorFlags: 0 240 | m_IsActive: 1 241 | --- !u!4 &479951992 242 | Transform: 243 | m_ObjectHideFlags: 0 244 | m_PrefabParentObject: {fileID: 0} 245 | m_PrefabInternal: {fileID: 0} 246 | m_GameObject: {fileID: 479951991} 247 | m_LocalRotation: {x: -2.63204201e-05, y: -1.60437594e-05, z: -3.58452744e-05, w: 1} 248 | m_LocalPosition: {x: 1037, y: 1.46010005, z: 387.600006} 249 | m_LocalScale: {x: 1, y: 1, z: 1} 250 | m_Children: [] 251 | m_Father: {fileID: 1111047966} 252 | m_RootOrder: 3 253 | --- !u!23 &479951993 254 | MeshRenderer: 255 | m_ObjectHideFlags: 0 256 | m_PrefabParentObject: {fileID: 0} 257 | m_PrefabInternal: {fileID: 0} 258 | m_GameObject: {fileID: 479951991} 259 | m_Enabled: 1 260 | m_CastShadows: 1 261 | m_ReceiveShadows: 1 262 | m_Materials: 263 | - {fileID: 2100000, guid: 799ddde0712b42b4f95246a57a8a29d8, type: 2} 264 | m_SubsetIndices: 265 | m_StaticBatchRoot: {fileID: 0} 266 | m_UseLightProbes: 0 267 | m_ReflectionProbeUsage: 1 268 | m_ProbeAnchor: {fileID: 0} 269 | m_ScaleInLightmap: 1 270 | m_PreserveUVs: 0 271 | m_ImportantGI: 0 272 | m_AutoUVMaxDistance: .5 273 | m_AutoUVMaxAngle: 89 274 | m_LightmapParameters: {fileID: 0} 275 | m_SortingLayerID: 0 276 | m_SortingOrder: 0 277 | --- !u!65 &479951994 278 | BoxCollider: 279 | m_ObjectHideFlags: 0 280 | m_PrefabParentObject: {fileID: 0} 281 | m_PrefabInternal: {fileID: 0} 282 | m_GameObject: {fileID: 479951991} 283 | m_Material: {fileID: 0} 284 | m_IsTrigger: 0 285 | m_Enabled: 1 286 | serializedVersion: 2 287 | m_Size: {x: 1, y: 1, z: 1} 288 | m_Center: {x: 0, y: 0, z: 0} 289 | --- !u!33 &479951995 290 | MeshFilter: 291 | m_ObjectHideFlags: 0 292 | m_PrefabParentObject: {fileID: 0} 293 | m_PrefabInternal: {fileID: 0} 294 | m_GameObject: {fileID: 479951991} 295 | m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} 296 | --- !u!1 &509757772 297 | GameObject: 298 | m_ObjectHideFlags: 0 299 | m_PrefabParentObject: {fileID: 0} 300 | m_PrefabInternal: {fileID: 0} 301 | serializedVersion: 4 302 | m_Component: 303 | - 4: {fileID: 509757775} 304 | - 218: {fileID: 509757774} 305 | - 154: {fileID: 509757773} 306 | m_Layer: 0 307 | m_Name: Terrain 308 | m_TagString: Untagged 309 | m_Icon: {fileID: 0} 310 | m_NavMeshLayer: 0 311 | m_StaticEditorFlags: 4294967295 312 | m_IsActive: 1 313 | --- !u!154 &509757773 314 | TerrainCollider: 315 | m_ObjectHideFlags: 0 316 | m_PrefabParentObject: {fileID: 0} 317 | m_PrefabInternal: {fileID: 0} 318 | m_GameObject: {fileID: 509757772} 319 | m_Material: {fileID: 0} 320 | m_Enabled: 1 321 | m_TerrainData: {fileID: 15600000, guid: 0cf5a468bf2b9f844b959f3368fc9c51, type: 2} 322 | m_EnableTreeColliders: 1 323 | --- !u!218 &509757774 324 | Terrain: 325 | m_ObjectHideFlags: 0 326 | m_PrefabParentObject: {fileID: 0} 327 | m_PrefabInternal: {fileID: 0} 328 | m_GameObject: {fileID: 509757772} 329 | m_Enabled: 1 330 | serializedVersion: 3 331 | m_TerrainData: {fileID: 15600000, guid: 0cf5a468bf2b9f844b959f3368fc9c51, type: 2} 332 | m_TreeDistance: 5000 333 | m_TreeBillboardDistance: 50 334 | m_TreeCrossFadeLength: 5 335 | m_TreeMaximumFullLODCount: 50 336 | m_DetailObjectDistance: 80 337 | m_DetailObjectDensity: 1 338 | m_HeightmapPixelError: 5 339 | m_SplatMapDistance: 1000 340 | m_HeightmapMaximumLOD: 0 341 | m_CastShadows: 1 342 | m_DrawHeightmap: 1 343 | m_DrawTreesAndFoliage: 1 344 | m_ReflectionProbeUsage: 1 345 | m_MaterialType: 1 346 | m_LegacySpecular: 347 | serializedVersion: 2 348 | rgba: 4286545791 349 | m_LegacyShininess: .078125 350 | m_MaterialTemplate: {fileID: 0} 351 | m_BakeLightProbesForTrees: 1 352 | m_ScaleInLightmap: 1 353 | m_LightmapParameters: {fileID: 15203, guid: 0000000000000000f000000000000000, type: 0} 354 | --- !u!4 &509757775 355 | Transform: 356 | m_ObjectHideFlags: 0 357 | m_PrefabParentObject: {fileID: 0} 358 | m_PrefabInternal: {fileID: 0} 359 | m_GameObject: {fileID: 509757772} 360 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 361 | m_LocalPosition: {x: 0, y: 0, z: 0} 362 | m_LocalScale: {x: 1, y: 1, z: 1} 363 | m_Children: [] 364 | m_Father: {fileID: 0} 365 | m_RootOrder: 1 366 | --- !u!1001 &717902733 367 | Prefab: 368 | m_ObjectHideFlags: 0 369 | serializedVersion: 2 370 | m_Modification: 371 | m_TransformParent: {fileID: 1640871671} 372 | m_Modifications: 373 | - target: {fileID: 22400006, guid: 312abd0527754e047a6bfbc424f09ace, type: 2} 374 | propertyPath: m_LocalPosition.x 375 | value: 0 376 | objectReference: {fileID: 0} 377 | - target: {fileID: 22400006, guid: 312abd0527754e047a6bfbc424f09ace, type: 2} 378 | propertyPath: m_LocalPosition.y 379 | value: 0 380 | objectReference: {fileID: 0} 381 | - target: {fileID: 22400006, guid: 312abd0527754e047a6bfbc424f09ace, type: 2} 382 | propertyPath: m_LocalPosition.z 383 | value: 0 384 | objectReference: {fileID: 0} 385 | - target: {fileID: 22400006, guid: 312abd0527754e047a6bfbc424f09ace, type: 2} 386 | propertyPath: m_LocalRotation.x 387 | value: 0 388 | objectReference: {fileID: 0} 389 | - target: {fileID: 22400006, guid: 312abd0527754e047a6bfbc424f09ace, type: 2} 390 | propertyPath: m_LocalRotation.y 391 | value: 0 392 | objectReference: {fileID: 0} 393 | - target: {fileID: 22400006, guid: 312abd0527754e047a6bfbc424f09ace, type: 2} 394 | propertyPath: m_LocalRotation.z 395 | value: 0 396 | objectReference: {fileID: 0} 397 | - target: {fileID: 22400006, guid: 312abd0527754e047a6bfbc424f09ace, type: 2} 398 | propertyPath: m_LocalRotation.w 399 | value: 1 400 | objectReference: {fileID: 0} 401 | - target: {fileID: 22400006, guid: 312abd0527754e047a6bfbc424f09ace, type: 2} 402 | propertyPath: m_RootOrder 403 | value: 1 404 | objectReference: {fileID: 0} 405 | - target: {fileID: 22400006, guid: 312abd0527754e047a6bfbc424f09ace, type: 2} 406 | propertyPath: m_AnchoredPosition.x 407 | value: 0 408 | objectReference: {fileID: 0} 409 | - target: {fileID: 22400006, guid: 312abd0527754e047a6bfbc424f09ace, type: 2} 410 | propertyPath: m_AnchoredPosition.y 411 | value: 5 412 | objectReference: {fileID: 0} 413 | - target: {fileID: 22400006, guid: 312abd0527754e047a6bfbc424f09ace, type: 2} 414 | propertyPath: m_SizeDelta.x 415 | value: -10 416 | objectReference: {fileID: 0} 417 | - target: {fileID: 22400006, guid: 312abd0527754e047a6bfbc424f09ace, type: 2} 418 | propertyPath: m_SizeDelta.y 419 | value: 200 420 | objectReference: {fileID: 0} 421 | - target: {fileID: 22400006, guid: 312abd0527754e047a6bfbc424f09ace, type: 2} 422 | propertyPath: m_AnchorMin.x 423 | value: 0 424 | objectReference: {fileID: 0} 425 | - target: {fileID: 22400006, guid: 312abd0527754e047a6bfbc424f09ace, type: 2} 426 | propertyPath: m_AnchorMin.y 427 | value: 0 428 | objectReference: {fileID: 0} 429 | - target: {fileID: 22400006, guid: 312abd0527754e047a6bfbc424f09ace, type: 2} 430 | propertyPath: m_AnchorMax.x 431 | value: 1 432 | objectReference: {fileID: 0} 433 | - target: {fileID: 22400006, guid: 312abd0527754e047a6bfbc424f09ace, type: 2} 434 | propertyPath: m_AnchorMax.y 435 | value: 0 436 | objectReference: {fileID: 0} 437 | - target: {fileID: 22400006, guid: 312abd0527754e047a6bfbc424f09ace, type: 2} 438 | propertyPath: m_Pivot.x 439 | value: .5 440 | objectReference: {fileID: 0} 441 | - target: {fileID: 22400006, guid: 312abd0527754e047a6bfbc424f09ace, type: 2} 442 | propertyPath: m_Pivot.y 443 | value: 0 444 | objectReference: {fileID: 0} 445 | - target: {fileID: 22400016, guid: 312abd0527754e047a6bfbc424f09ace, type: 2} 446 | propertyPath: m_SizeDelta.y 447 | value: 0 448 | objectReference: {fileID: 0} 449 | - target: {fileID: 22400010, guid: 312abd0527754e047a6bfbc424f09ace, type: 2} 450 | propertyPath: m_AnchorMax.x 451 | value: 1 452 | objectReference: {fileID: 0} 453 | - target: {fileID: 22400010, guid: 312abd0527754e047a6bfbc424f09ace, type: 2} 454 | propertyPath: m_AnchorMax.y 455 | value: 1 456 | objectReference: {fileID: 0} 457 | m_RemovedComponents: [] 458 | m_ParentPrefab: {fileID: 100100000, guid: 312abd0527754e047a6bfbc424f09ace, type: 2} 459 | m_IsPrefabParent: 0 460 | --- !u!1 &893103585 461 | GameObject: 462 | m_ObjectHideFlags: 0 463 | m_PrefabParentObject: {fileID: 0} 464 | m_PrefabInternal: {fileID: 0} 465 | serializedVersion: 4 466 | m_Component: 467 | - 4: {fileID: 893103589} 468 | - 114: {fileID: 893103588} 469 | - 114: {fileID: 893103587} 470 | - 114: {fileID: 893103586} 471 | m_Layer: 0 472 | m_Name: EventSystem 473 | m_TagString: Untagged 474 | m_Icon: {fileID: 0} 475 | m_NavMeshLayer: 0 476 | m_StaticEditorFlags: 0 477 | m_IsActive: 1 478 | --- !u!114 &893103586 479 | MonoBehaviour: 480 | m_ObjectHideFlags: 0 481 | m_PrefabParentObject: {fileID: 0} 482 | m_PrefabInternal: {fileID: 0} 483 | m_GameObject: {fileID: 893103585} 484 | m_Enabled: 1 485 | m_EditorHideFlags: 0 486 | m_Script: {fileID: 1997211142, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} 487 | m_Name: 488 | m_EditorClassIdentifier: 489 | m_AllowActivationOnStandalone: 0 490 | --- !u!114 &893103587 491 | MonoBehaviour: 492 | m_ObjectHideFlags: 0 493 | m_PrefabParentObject: {fileID: 0} 494 | m_PrefabInternal: {fileID: 0} 495 | m_GameObject: {fileID: 893103585} 496 | m_Enabled: 1 497 | m_EditorHideFlags: 0 498 | m_Script: {fileID: 1077351063, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} 499 | m_Name: 500 | m_EditorClassIdentifier: 501 | m_HorizontalAxis: Horizontal 502 | m_VerticalAxis: Vertical 503 | m_SubmitButton: Submit 504 | m_CancelButton: Cancel 505 | m_InputActionsPerSecond: 10 506 | m_AllowActivationOnMobileDevice: 0 507 | --- !u!114 &893103588 508 | MonoBehaviour: 509 | m_ObjectHideFlags: 0 510 | m_PrefabParentObject: {fileID: 0} 511 | m_PrefabInternal: {fileID: 0} 512 | m_GameObject: {fileID: 893103585} 513 | m_Enabled: 1 514 | m_EditorHideFlags: 0 515 | m_Script: {fileID: -619905303, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} 516 | m_Name: 517 | m_EditorClassIdentifier: 518 | m_FirstSelected: {fileID: 0} 519 | m_sendNavigationEvents: 1 520 | m_DragThreshold: 5 521 | --- !u!4 &893103589 522 | Transform: 523 | m_ObjectHideFlags: 0 524 | m_PrefabParentObject: {fileID: 0} 525 | m_PrefabInternal: {fileID: 0} 526 | m_GameObject: {fileID: 893103585} 527 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 528 | m_LocalPosition: {x: 0, y: 0, z: 0} 529 | m_LocalScale: {x: 1, y: 1, z: 1} 530 | m_Children: [] 531 | m_Father: {fileID: 0} 532 | m_RootOrder: 4 533 | --- !u!1 &1048004576 534 | GameObject: 535 | m_ObjectHideFlags: 0 536 | m_PrefabParentObject: {fileID: 0} 537 | m_PrefabInternal: {fileID: 0} 538 | serializedVersion: 4 539 | m_Component: 540 | - 4: {fileID: 1048004577} 541 | - 108: {fileID: 1048004578} 542 | m_Layer: 0 543 | m_Name: Point light 544 | m_TagString: Untagged 545 | m_Icon: {fileID: 0} 546 | m_NavMeshLayer: 0 547 | m_StaticEditorFlags: 0 548 | m_IsActive: 1 549 | --- !u!4 &1048004577 550 | Transform: 551 | m_ObjectHideFlags: 0 552 | m_PrefabParentObject: {fileID: 0} 553 | m_PrefabInternal: {fileID: 0} 554 | m_GameObject: {fileID: 1048004576} 555 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 556 | m_LocalPosition: {x: 1037.69995, y: 5.09700012, z: 384.100006} 557 | m_LocalScale: {x: 1, y: 1, z: 1} 558 | m_Children: [] 559 | m_Father: {fileID: 1111047966} 560 | m_RootOrder: 4 561 | --- !u!108 &1048004578 562 | Light: 563 | m_ObjectHideFlags: 0 564 | m_PrefabParentObject: {fileID: 0} 565 | m_PrefabInternal: {fileID: 0} 566 | m_GameObject: {fileID: 1048004576} 567 | m_Enabled: 1 568 | serializedVersion: 6 569 | m_Type: 2 570 | m_Color: {r: 1, g: 1, b: 1, a: 1} 571 | m_Intensity: 3.88000011 572 | m_Range: 10 573 | m_SpotAngle: 30 574 | m_CookieSize: 10 575 | m_Shadows: 576 | m_Type: 0 577 | m_Resolution: -1 578 | m_Strength: 1 579 | m_Bias: .0500000007 580 | m_NormalBias: .400000006 581 | m_Cookie: {fileID: 0} 582 | m_DrawHalo: 0 583 | m_Flare: {fileID: 0} 584 | m_RenderMode: 0 585 | m_CullingMask: 586 | serializedVersion: 2 587 | m_Bits: 4294967295 588 | m_Lightmapping: 1 589 | m_BounceIntensity: 1 590 | m_ShadowRadius: 0 591 | m_ShadowAngle: 0 592 | m_AreaSize: {x: 1, y: 1} 593 | --- !u!1 &1111047965 594 | GameObject: 595 | m_ObjectHideFlags: 0 596 | m_PrefabParentObject: {fileID: 0} 597 | m_PrefabInternal: {fileID: 0} 598 | serializedVersion: 4 599 | m_Component: 600 | - 4: {fileID: 1111047966} 601 | m_Layer: 0 602 | m_Name: Props 603 | m_TagString: Untagged 604 | m_Icon: {fileID: 0} 605 | m_NavMeshLayer: 0 606 | m_StaticEditorFlags: 0 607 | m_IsActive: 1 608 | --- !u!4 &1111047966 609 | Transform: 610 | m_ObjectHideFlags: 0 611 | m_PrefabParentObject: {fileID: 0} 612 | m_PrefabInternal: {fileID: 0} 613 | m_GameObject: {fileID: 1111047965} 614 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 615 | m_LocalPosition: {x: 0, y: 0, z: 0} 616 | m_LocalScale: {x: 1, y: 1, z: 1} 617 | m_Children: 618 | - {fileID: 2034558747} 619 | - {fileID: 1548749555} 620 | - {fileID: 343106093} 621 | - {fileID: 479951992} 622 | - {fileID: 1048004577} 623 | - {fileID: 408379460} 624 | m_Father: {fileID: 0} 625 | m_RootOrder: 0 626 | --- !u!224 &1135263333 stripped 627 | RectTransform: 628 | m_PrefabParentObject: {fileID: 22400006, guid: 312abd0527754e047a6bfbc424f09ace, 629 | type: 2} 630 | m_PrefabInternal: {fileID: 717902733} 631 | --- !u!1 &1548749551 632 | GameObject: 633 | m_ObjectHideFlags: 0 634 | m_PrefabParentObject: {fileID: 0} 635 | m_PrefabInternal: {fileID: 0} 636 | serializedVersion: 4 637 | m_Component: 638 | - 4: {fileID: 1548749555} 639 | - 33: {fileID: 1548749554} 640 | - 65: {fileID: 1548749553} 641 | - 23: {fileID: 1548749552} 642 | m_Layer: 0 643 | m_Name: Cube 644 | m_TagString: Untagged 645 | m_Icon: {fileID: 0} 646 | m_NavMeshLayer: 0 647 | m_StaticEditorFlags: 0 648 | m_IsActive: 1 649 | --- !u!23 &1548749552 650 | MeshRenderer: 651 | m_ObjectHideFlags: 0 652 | m_PrefabParentObject: {fileID: 0} 653 | m_PrefabInternal: {fileID: 0} 654 | m_GameObject: {fileID: 1548749551} 655 | m_Enabled: 1 656 | m_CastShadows: 1 657 | m_ReceiveShadows: 1 658 | m_Materials: 659 | - {fileID: 2100000, guid: 799ddde0712b42b4f95246a57a8a29d8, type: 2} 660 | m_SubsetIndices: 661 | m_StaticBatchRoot: {fileID: 0} 662 | m_UseLightProbes: 0 663 | m_ReflectionProbeUsage: 1 664 | m_ProbeAnchor: {fileID: 0} 665 | m_ScaleInLightmap: 1 666 | m_PreserveUVs: 0 667 | m_ImportantGI: 0 668 | m_AutoUVMaxDistance: .5 669 | m_AutoUVMaxAngle: 89 670 | m_LightmapParameters: {fileID: 0} 671 | m_SortingLayerID: 0 672 | m_SortingOrder: 0 673 | --- !u!65 &1548749553 674 | BoxCollider: 675 | m_ObjectHideFlags: 0 676 | m_PrefabParentObject: {fileID: 0} 677 | m_PrefabInternal: {fileID: 0} 678 | m_GameObject: {fileID: 1548749551} 679 | m_Material: {fileID: 0} 680 | m_IsTrigger: 0 681 | m_Enabled: 1 682 | serializedVersion: 2 683 | m_Size: {x: 1, y: 1, z: 1} 684 | m_Center: {x: 0, y: 0, z: 0} 685 | --- !u!33 &1548749554 686 | MeshFilter: 687 | m_ObjectHideFlags: 0 688 | m_PrefabParentObject: {fileID: 0} 689 | m_PrefabInternal: {fileID: 0} 690 | m_GameObject: {fileID: 1548749551} 691 | m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} 692 | --- !u!4 &1548749555 693 | Transform: 694 | m_ObjectHideFlags: 0 695 | m_PrefabParentObject: {fileID: 0} 696 | m_PrefabInternal: {fileID: 0} 697 | m_GameObject: {fileID: 1548749551} 698 | m_LocalRotation: {x: .706373453, y: -.0321294889, z: .0320914239, w: .706381202} 699 | m_LocalPosition: {x: 1037.5, y: .480040014, z: 388.179993} 700 | m_LocalScale: {x: 1, y: 1, z: 1} 701 | m_Children: [] 702 | m_Father: {fileID: 1111047966} 703 | m_RootOrder: 1 704 | --- !u!1 &1550931502 705 | GameObject: 706 | m_ObjectHideFlags: 0 707 | m_PrefabParentObject: {fileID: 0} 708 | m_PrefabInternal: {fileID: 0} 709 | serializedVersion: 4 710 | m_Component: 711 | - 4: {fileID: 1550931507} 712 | - 20: {fileID: 1550931506} 713 | - 92: {fileID: 1550931505} 714 | - 124: {fileID: 1550931504} 715 | - 81: {fileID: 1550931503} 716 | - 114: {fileID: 1550931508} 717 | - 114: {fileID: 1550931510} 718 | m_Layer: 0 719 | m_Name: Main Camera 720 | m_TagString: MainCamera 721 | m_Icon: {fileID: 0} 722 | m_NavMeshLayer: 0 723 | m_StaticEditorFlags: 0 724 | m_IsActive: 1 725 | --- !u!81 &1550931503 726 | AudioListener: 727 | m_ObjectHideFlags: 0 728 | m_PrefabParentObject: {fileID: 0} 729 | m_PrefabInternal: {fileID: 0} 730 | m_GameObject: {fileID: 1550931502} 731 | m_Enabled: 1 732 | --- !u!124 &1550931504 733 | Behaviour: 734 | m_ObjectHideFlags: 0 735 | m_PrefabParentObject: {fileID: 0} 736 | m_PrefabInternal: {fileID: 0} 737 | m_GameObject: {fileID: 1550931502} 738 | m_Enabled: 1 739 | --- !u!92 &1550931505 740 | Behaviour: 741 | m_ObjectHideFlags: 0 742 | m_PrefabParentObject: {fileID: 0} 743 | m_PrefabInternal: {fileID: 0} 744 | m_GameObject: {fileID: 1550931502} 745 | m_Enabled: 1 746 | --- !u!20 &1550931506 747 | Camera: 748 | m_ObjectHideFlags: 0 749 | m_PrefabParentObject: {fileID: 0} 750 | m_PrefabInternal: {fileID: 0} 751 | m_GameObject: {fileID: 1550931502} 752 | m_Enabled: 1 753 | serializedVersion: 2 754 | m_ClearFlags: 1 755 | m_BackGroundColor: {r: .192156866, g: .301960796, b: .474509805, a: .0196078438} 756 | m_NormalizedViewPortRect: 757 | serializedVersion: 2 758 | x: 0 759 | y: 0 760 | width: 1 761 | height: 1 762 | near clip plane: .300000012 763 | far clip plane: 1000 764 | field of view: 60 765 | orthographic: 0 766 | orthographic size: 5 767 | m_Depth: -1 768 | m_CullingMask: 769 | serializedVersion: 2 770 | m_Bits: 4294967295 771 | m_RenderingPath: -1 772 | m_TargetTexture: {fileID: 0} 773 | m_TargetDisplay: 0 774 | m_HDR: 0 775 | m_OcclusionCulling: 1 776 | m_StereoConvergence: 10 777 | m_StereoSeparation: .0219999999 778 | --- !u!4 &1550931507 779 | Transform: 780 | m_ObjectHideFlags: 0 781 | m_PrefabParentObject: {fileID: 0} 782 | m_PrefabInternal: {fileID: 0} 783 | m_GameObject: {fileID: 1550931502} 784 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 785 | m_LocalPosition: {x: 1034.09998, y: 1, z: 381.799988} 786 | m_LocalScale: {x: 1, y: 1, z: 1} 787 | m_Children: [] 788 | m_Father: {fileID: 0} 789 | m_RootOrder: 2 790 | --- !u!114 &1550931508 791 | MonoBehaviour: 792 | m_ObjectHideFlags: 0 793 | m_PrefabParentObject: {fileID: 0} 794 | m_PrefabInternal: {fileID: 0} 795 | m_GameObject: {fileID: 1550931502} 796 | m_Enabled: 1 797 | m_EditorHideFlags: 0 798 | m_Script: {fileID: 11500000, guid: be55439ff6aee1e49a7114e51bc202f5, type: 3} 799 | m_Name: 800 | m_EditorClassIdentifier: 801 | speed: .0500000007 802 | --- !u!114 &1550931510 803 | MonoBehaviour: 804 | m_ObjectHideFlags: 0 805 | m_PrefabParentObject: {fileID: 0} 806 | m_PrefabInternal: {fileID: 0} 807 | m_GameObject: {fileID: 1550931502} 808 | m_Enabled: 1 809 | m_EditorHideFlags: 0 810 | m_Script: {fileID: 11500000, guid: 3dbf6cfd1c1d01a42a62d97e86b60749, type: 3} 811 | m_Name: 812 | m_EditorClassIdentifier: 813 | axes: 0 814 | sensitivityX: 5 815 | sensitivityY: 5 816 | minimumX: -360 817 | maximumX: 360 818 | minimumY: -80 819 | maximumY: 80 820 | --- !u!1 &1640871667 821 | GameObject: 822 | m_ObjectHideFlags: 0 823 | m_PrefabParentObject: {fileID: 0} 824 | m_PrefabInternal: {fileID: 0} 825 | serializedVersion: 4 826 | m_Component: 827 | - 224: {fileID: 1640871671} 828 | - 223: {fileID: 1640871670} 829 | - 114: {fileID: 1640871669} 830 | - 114: {fileID: 1640871668} 831 | m_Layer: 5 832 | m_Name: Canvas 833 | m_TagString: Untagged 834 | m_Icon: {fileID: 0} 835 | m_NavMeshLayer: 0 836 | m_StaticEditorFlags: 0 837 | m_IsActive: 1 838 | --- !u!114 &1640871668 839 | MonoBehaviour: 840 | m_ObjectHideFlags: 0 841 | m_PrefabParentObject: {fileID: 0} 842 | m_PrefabInternal: {fileID: 0} 843 | m_GameObject: {fileID: 1640871667} 844 | m_Enabled: 1 845 | m_EditorHideFlags: 0 846 | m_Script: {fileID: 1301386320, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} 847 | m_Name: 848 | m_EditorClassIdentifier: 849 | m_IgnoreReversedGraphics: 1 850 | m_BlockingObjects: 0 851 | m_BlockingMask: 852 | serializedVersion: 2 853 | m_Bits: 4294967295 854 | --- !u!114 &1640871669 855 | MonoBehaviour: 856 | m_ObjectHideFlags: 0 857 | m_PrefabParentObject: {fileID: 0} 858 | m_PrefabInternal: {fileID: 0} 859 | m_GameObject: {fileID: 1640871667} 860 | m_Enabled: 1 861 | m_EditorHideFlags: 0 862 | m_Script: {fileID: 1980459831, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} 863 | m_Name: 864 | m_EditorClassIdentifier: 865 | m_UiScaleMode: 0 866 | m_ReferencePixelsPerUnit: 100 867 | m_ScaleFactor: 1 868 | m_ReferenceResolution: {x: 800, y: 600} 869 | m_ScreenMatchMode: 0 870 | m_MatchWidthOrHeight: 0 871 | m_PhysicalUnit: 3 872 | m_FallbackScreenDPI: 96 873 | m_DefaultSpriteDPI: 96 874 | m_DynamicPixelsPerUnit: 1 875 | --- !u!223 &1640871670 876 | Canvas: 877 | m_ObjectHideFlags: 0 878 | m_PrefabParentObject: {fileID: 0} 879 | m_PrefabInternal: {fileID: 0} 880 | m_GameObject: {fileID: 1640871667} 881 | m_Enabled: 1 882 | serializedVersion: 2 883 | m_RenderMode: 0 884 | m_Camera: {fileID: 0} 885 | m_PlaneDistance: 100 886 | m_PixelPerfect: 0 887 | m_ReceivesEvents: 1 888 | m_OverrideSorting: 0 889 | m_OverridePixelPerfect: 0 890 | m_SortingLayerID: 0 891 | m_SortingOrder: 0 892 | --- !u!224 &1640871671 893 | RectTransform: 894 | m_ObjectHideFlags: 0 895 | m_PrefabParentObject: {fileID: 0} 896 | m_PrefabInternal: {fileID: 0} 897 | m_GameObject: {fileID: 1640871667} 898 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 899 | m_LocalPosition: {x: 0, y: 0, z: 0} 900 | m_LocalScale: {x: 0, y: 0, z: 0} 901 | m_Children: 902 | - {fileID: 2125372159} 903 | - {fileID: 1135263333} 904 | m_Father: {fileID: 0} 905 | m_RootOrder: 3 906 | m_AnchorMin: {x: 0, y: 0} 907 | m_AnchorMax: {x: 0, y: 0} 908 | m_AnchoredPosition: {x: 0, y: 0} 909 | m_SizeDelta: {x: 0, y: 0} 910 | m_Pivot: {x: 0, y: 0} 911 | --- !u!1 &2034558746 912 | GameObject: 913 | m_ObjectHideFlags: 0 914 | m_PrefabParentObject: {fileID: 0} 915 | m_PrefabInternal: {fileID: 0} 916 | serializedVersion: 4 917 | m_Component: 918 | - 4: {fileID: 2034558747} 919 | - 33: {fileID: 2034558750} 920 | - 65: {fileID: 2034558749} 921 | - 23: {fileID: 2034558748} 922 | m_Layer: 0 923 | m_Name: Cube 924 | m_TagString: Untagged 925 | m_Icon: {fileID: 0} 926 | m_NavMeshLayer: 0 927 | m_StaticEditorFlags: 0 928 | m_IsActive: 1 929 | --- !u!4 &2034558747 930 | Transform: 931 | m_ObjectHideFlags: 0 932 | m_PrefabParentObject: {fileID: 0} 933 | m_PrefabInternal: {fileID: 0} 934 | m_GameObject: {fileID: 2034558746} 935 | m_LocalRotation: {x: 6.78426659e-06, y: -2.51293022e-06, z: -2.32044222e-05, w: 1} 936 | m_LocalPosition: {x: 1037.30005, y: .480040014, z: 387.130005} 937 | m_LocalScale: {x: 1, y: 1, z: 1} 938 | m_Children: [] 939 | m_Father: {fileID: 1111047966} 940 | m_RootOrder: 0 941 | --- !u!23 &2034558748 942 | MeshRenderer: 943 | m_ObjectHideFlags: 0 944 | m_PrefabParentObject: {fileID: 0} 945 | m_PrefabInternal: {fileID: 0} 946 | m_GameObject: {fileID: 2034558746} 947 | m_Enabled: 1 948 | m_CastShadows: 1 949 | m_ReceiveShadows: 1 950 | m_Materials: 951 | - {fileID: 2100000, guid: 799ddde0712b42b4f95246a57a8a29d8, type: 2} 952 | m_SubsetIndices: 953 | m_StaticBatchRoot: {fileID: 0} 954 | m_UseLightProbes: 0 955 | m_ReflectionProbeUsage: 1 956 | m_ProbeAnchor: {fileID: 0} 957 | m_ScaleInLightmap: 1 958 | m_PreserveUVs: 0 959 | m_ImportantGI: 0 960 | m_AutoUVMaxDistance: .5 961 | m_AutoUVMaxAngle: 89 962 | m_LightmapParameters: {fileID: 0} 963 | m_SortingLayerID: 0 964 | m_SortingOrder: 0 965 | --- !u!65 &2034558749 966 | BoxCollider: 967 | m_ObjectHideFlags: 0 968 | m_PrefabParentObject: {fileID: 0} 969 | m_PrefabInternal: {fileID: 0} 970 | m_GameObject: {fileID: 2034558746} 971 | m_Material: {fileID: 0} 972 | m_IsTrigger: 0 973 | m_Enabled: 1 974 | serializedVersion: 2 975 | m_Size: {x: 1, y: 1, z: 1} 976 | m_Center: {x: 0, y: 0, z: 0} 977 | --- !u!33 &2034558750 978 | MeshFilter: 979 | m_ObjectHideFlags: 0 980 | m_PrefabParentObject: {fileID: 0} 981 | m_PrefabInternal: {fileID: 0} 982 | m_GameObject: {fileID: 2034558746} 983 | m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} 984 | --- !u!1 &2125372158 985 | GameObject: 986 | m_ObjectHideFlags: 0 987 | m_PrefabParentObject: {fileID: 0} 988 | m_PrefabInternal: {fileID: 0} 989 | serializedVersion: 4 990 | m_Component: 991 | - 224: {fileID: 2125372159} 992 | - 222: {fileID: 2125372161} 993 | - 114: {fileID: 2125372160} 994 | m_Layer: 5 995 | m_Name: Text 996 | m_TagString: Untagged 997 | m_Icon: {fileID: 0} 998 | m_NavMeshLayer: 0 999 | m_StaticEditorFlags: 0 1000 | m_IsActive: 1 1001 | --- !u!224 &2125372159 1002 | RectTransform: 1003 | m_ObjectHideFlags: 0 1004 | m_PrefabParentObject: {fileID: 0} 1005 | m_PrefabInternal: {fileID: 0} 1006 | m_GameObject: {fileID: 2125372158} 1007 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 1008 | m_LocalPosition: {x: 0, y: 0, z: 0} 1009 | m_LocalScale: {x: 1, y: 1, z: 1} 1010 | m_Children: [] 1011 | m_Father: {fileID: 1640871671} 1012 | m_RootOrder: 0 1013 | m_AnchorMin: {x: 0, y: 0} 1014 | m_AnchorMax: {x: 1, y: 1} 1015 | m_AnchoredPosition: {x: 0, y: 99.999939} 1016 | m_SizeDelta: {x: -64, y: -264} 1017 | m_Pivot: {x: .5, y: .500000238} 1018 | --- !u!114 &2125372160 1019 | MonoBehaviour: 1020 | m_ObjectHideFlags: 0 1021 | m_PrefabParentObject: {fileID: 0} 1022 | m_PrefabInternal: {fileID: 0} 1023 | m_GameObject: {fileID: 2125372158} 1024 | m_Enabled: 1 1025 | m_EditorHideFlags: 0 1026 | m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} 1027 | m_Name: 1028 | m_EditorClassIdentifier: 1029 | m_Material: {fileID: 0} 1030 | m_Color: {r: 1, g: 1, b: 1, a: 1} 1031 | m_FontData: 1032 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} 1033 | m_FontSize: 32 1034 | m_FontStyle: 0 1035 | m_BestFit: 0 1036 | m_MinSize: 10 1037 | m_MaxSize: 40 1038 | m_Alignment: 0 1039 | m_RichText: 1 1040 | m_HorizontalOverflow: 0 1041 | m_VerticalOverflow: 0 1042 | m_LineSpacing: 1.5 1043 | m_Text: 'Press TAB to toggle the console. 1044 | 1045 | Type HELP to see the list of available commands. 1046 | 1047 | Anywhere in your code, use Console.Log() 1048 | to log messages.' 1049 | --- !u!222 &2125372161 1050 | CanvasRenderer: 1051 | m_ObjectHideFlags: 0 1052 | m_PrefabParentObject: {fileID: 0} 1053 | m_PrefabInternal: {fileID: 0} 1054 | m_GameObject: {fileID: 2125372158} 1055 | -------------------------------------------------------------------------------- /Samples/Scenes/BasicSample.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 763ac6515c5de9e419999b3641d3f17f 3 | DefaultImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Samples/Scenes/CustomCommandsSample.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_ObjectHideFlags: 0 16 | serializedVersion: 6 17 | m_Fog: 0 18 | m_FogColor: {r: .5, g: .5, b: .5, a: 1} 19 | m_FogMode: 3 20 | m_FogDensity: .00999999978 21 | m_LinearFogStart: 0 22 | m_LinearFogEnd: 300 23 | m_AmbientSkyColor: {r: .200000003, g: .200000003, b: .200000003, a: 1} 24 | m_AmbientEquatorColor: {r: .200000003, g: .200000003, b: .200000003, a: 1} 25 | m_AmbientGroundColor: {r: .200000003, g: .200000003, b: .200000003, a: 1} 26 | m_AmbientIntensity: 1 27 | m_AmbientMode: 3 28 | m_SkyboxMaterial: {fileID: 0} 29 | m_HaloStrength: .5 30 | m_FlareStrength: 1 31 | m_FlareFadeSpeed: 3 32 | m_HaloTexture: {fileID: 0} 33 | m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} 34 | m_DefaultReflectionMode: 0 35 | m_DefaultReflectionResolution: 128 36 | m_ReflectionBounces: 1 37 | m_ReflectionIntensity: 1 38 | m_CustomReflection: {fileID: 0} 39 | m_Sun: {fileID: 0} 40 | --- !u!127 &3 41 | LevelGameManager: 42 | m_ObjectHideFlags: 0 43 | --- !u!157 &4 44 | LightmapSettings: 45 | m_ObjectHideFlags: 0 46 | serializedVersion: 5 47 | m_GIWorkflowMode: 1 48 | m_LightmapsMode: 1 49 | m_GISettings: 50 | serializedVersion: 2 51 | m_BounceScale: 1 52 | m_IndirectOutputScale: 1 53 | m_AlbedoBoost: 1 54 | m_TemporalCoherenceThreshold: 1 55 | m_EnvironmentLightingMode: 0 56 | m_EnableBakedLightmaps: 1 57 | m_EnableRealtimeLightmaps: 0 58 | m_LightmapEditorSettings: 59 | serializedVersion: 3 60 | m_Resolution: 1 61 | m_BakeResolution: 50 62 | m_TextureWidth: 1024 63 | m_TextureHeight: 1024 64 | m_AOMaxDistance: 1 65 | m_Padding: 2 66 | m_CompAOExponent: 0 67 | m_LightmapParameters: {fileID: 0} 68 | m_TextureCompression: 0 69 | m_FinalGather: 0 70 | m_FinalGatherRayCount: 1024 71 | m_LightmapSnapshot: {fileID: 0} 72 | m_RuntimeCPUUsage: 25 73 | --- !u!196 &5 74 | NavMeshSettings: 75 | serializedVersion: 2 76 | m_ObjectHideFlags: 0 77 | m_BuildSettings: 78 | serializedVersion: 2 79 | agentRadius: .5 80 | agentHeight: 2 81 | agentSlope: 45 82 | agentClimb: .400000006 83 | ledgeDropHeight: 0 84 | maxJumpAcrossDistance: 0 85 | accuratePlacement: 0 86 | minRegionArea: 2 87 | cellSize: .166666657 88 | manualCellSize: 0 89 | m_NavMeshData: {fileID: 0} 90 | --- !u!1 &343106092 91 | GameObject: 92 | m_ObjectHideFlags: 0 93 | m_PrefabParentObject: {fileID: 0} 94 | m_PrefabInternal: {fileID: 0} 95 | serializedVersion: 4 96 | m_Component: 97 | - 4: {fileID: 343106093} 98 | - 33: {fileID: 343106096} 99 | - 65: {fileID: 343106095} 100 | - 23: {fileID: 343106094} 101 | m_Layer: 0 102 | m_Name: Cube 103 | m_TagString: Untagged 104 | m_Icon: {fileID: 0} 105 | m_NavMeshLayer: 0 106 | m_StaticEditorFlags: 0 107 | m_IsActive: 1 108 | --- !u!4 &343106093 109 | Transform: 110 | m_ObjectHideFlags: 0 111 | m_PrefabParentObject: {fileID: 0} 112 | m_PrefabInternal: {fileID: 0} 113 | m_GameObject: {fileID: 343106092} 114 | m_LocalRotation: {x: -.00507213688, y: -.00506548304, z: .707108617, w: .707068682} 115 | m_LocalPosition: {x: 1036.19995, y: .480040014, z: 387.480011} 116 | m_LocalScale: {x: 1, y: 1, z: 1} 117 | m_Children: [] 118 | m_Father: {fileID: 1111047966} 119 | m_RootOrder: 2 120 | --- !u!23 &343106094 121 | MeshRenderer: 122 | m_ObjectHideFlags: 0 123 | m_PrefabParentObject: {fileID: 0} 124 | m_PrefabInternal: {fileID: 0} 125 | m_GameObject: {fileID: 343106092} 126 | m_Enabled: 1 127 | m_CastShadows: 1 128 | m_ReceiveShadows: 1 129 | m_Materials: 130 | - {fileID: 2100000, guid: 799ddde0712b42b4f95246a57a8a29d8, type: 2} 131 | m_SubsetIndices: 132 | m_StaticBatchRoot: {fileID: 0} 133 | m_UseLightProbes: 0 134 | m_ReflectionProbeUsage: 1 135 | m_ProbeAnchor: {fileID: 0} 136 | m_ScaleInLightmap: 1 137 | m_PreserveUVs: 0 138 | m_ImportantGI: 0 139 | m_AutoUVMaxDistance: .5 140 | m_AutoUVMaxAngle: 89 141 | m_LightmapParameters: {fileID: 0} 142 | m_SortingLayerID: 0 143 | m_SortingOrder: 0 144 | --- !u!65 &343106095 145 | BoxCollider: 146 | m_ObjectHideFlags: 0 147 | m_PrefabParentObject: {fileID: 0} 148 | m_PrefabInternal: {fileID: 0} 149 | m_GameObject: {fileID: 343106092} 150 | m_Material: {fileID: 0} 151 | m_IsTrigger: 0 152 | m_Enabled: 1 153 | serializedVersion: 2 154 | m_Size: {x: 1, y: 1, z: 1} 155 | m_Center: {x: 0, y: 0, z: 0} 156 | --- !u!33 &343106096 157 | MeshFilter: 158 | m_ObjectHideFlags: 0 159 | m_PrefabParentObject: {fileID: 0} 160 | m_PrefabInternal: {fileID: 0} 161 | m_GameObject: {fileID: 343106092} 162 | m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} 163 | --- !u!1 &408379459 164 | GameObject: 165 | m_ObjectHideFlags: 0 166 | m_PrefabParentObject: {fileID: 0} 167 | m_PrefabInternal: {fileID: 0} 168 | serializedVersion: 4 169 | m_Component: 170 | - 4: {fileID: 408379460} 171 | - 108: {fileID: 408379461} 172 | m_Layer: 0 173 | m_Name: Directional light 174 | m_TagString: Untagged 175 | m_Icon: {fileID: 0} 176 | m_NavMeshLayer: 0 177 | m_StaticEditorFlags: 0 178 | m_IsActive: 1 179 | --- !u!4 &408379460 180 | Transform: 181 | m_ObjectHideFlags: 0 182 | m_PrefabParentObject: {fileID: 0} 183 | m_PrefabInternal: {fileID: 0} 184 | m_GameObject: {fileID: 408379459} 185 | m_LocalRotation: {x: .408217937, y: -.234569728, z: .109381661, w: .875426114} 186 | m_LocalPosition: {x: 1044.59998, y: 128.830002, z: 505.079987} 187 | m_LocalScale: {x: 1, y: 1, z: 1} 188 | m_Children: [] 189 | m_Father: {fileID: 1111047966} 190 | m_RootOrder: 5 191 | --- !u!108 &408379461 192 | Light: 193 | m_ObjectHideFlags: 0 194 | m_PrefabParentObject: {fileID: 0} 195 | m_PrefabInternal: {fileID: 0} 196 | m_GameObject: {fileID: 408379459} 197 | m_Enabled: 1 198 | serializedVersion: 6 199 | m_Type: 1 200 | m_Color: {r: 1, g: 1, b: 1, a: 1} 201 | m_Intensity: .319999993 202 | m_Range: 10 203 | m_SpotAngle: 30 204 | m_CookieSize: 10 205 | m_Shadows: 206 | m_Type: 0 207 | m_Resolution: -1 208 | m_Strength: 1 209 | m_Bias: .0500000007 210 | m_NormalBias: .400000006 211 | m_Cookie: {fileID: 0} 212 | m_DrawHalo: 0 213 | m_Flare: {fileID: 0} 214 | m_RenderMode: 0 215 | m_CullingMask: 216 | serializedVersion: 2 217 | m_Bits: 4294967295 218 | m_Lightmapping: 1 219 | m_BounceIntensity: 1 220 | m_ShadowRadius: 0 221 | m_ShadowAngle: 0 222 | m_AreaSize: {x: 1, y: 1} 223 | --- !u!1 &479951991 224 | GameObject: 225 | m_ObjectHideFlags: 0 226 | m_PrefabParentObject: {fileID: 0} 227 | m_PrefabInternal: {fileID: 0} 228 | serializedVersion: 4 229 | m_Component: 230 | - 4: {fileID: 479951992} 231 | - 33: {fileID: 479951995} 232 | - 65: {fileID: 479951994} 233 | - 23: {fileID: 479951993} 234 | m_Layer: 0 235 | m_Name: Cube 236 | m_TagString: Untagged 237 | m_Icon: {fileID: 0} 238 | m_NavMeshLayer: 0 239 | m_StaticEditorFlags: 0 240 | m_IsActive: 1 241 | --- !u!4 &479951992 242 | Transform: 243 | m_ObjectHideFlags: 0 244 | m_PrefabParentObject: {fileID: 0} 245 | m_PrefabInternal: {fileID: 0} 246 | m_GameObject: {fileID: 479951991} 247 | m_LocalRotation: {x: -2.63204201e-05, y: -1.60437594e-05, z: -3.58452744e-05, w: 1} 248 | m_LocalPosition: {x: 1037, y: 1.46010005, z: 387.600006} 249 | m_LocalScale: {x: 1, y: 1, z: 1} 250 | m_Children: [] 251 | m_Father: {fileID: 1111047966} 252 | m_RootOrder: 3 253 | --- !u!23 &479951993 254 | MeshRenderer: 255 | m_ObjectHideFlags: 0 256 | m_PrefabParentObject: {fileID: 0} 257 | m_PrefabInternal: {fileID: 0} 258 | m_GameObject: {fileID: 479951991} 259 | m_Enabled: 1 260 | m_CastShadows: 1 261 | m_ReceiveShadows: 1 262 | m_Materials: 263 | - {fileID: 2100000, guid: 799ddde0712b42b4f95246a57a8a29d8, type: 2} 264 | m_SubsetIndices: 265 | m_StaticBatchRoot: {fileID: 0} 266 | m_UseLightProbes: 0 267 | m_ReflectionProbeUsage: 1 268 | m_ProbeAnchor: {fileID: 0} 269 | m_ScaleInLightmap: 1 270 | m_PreserveUVs: 0 271 | m_ImportantGI: 0 272 | m_AutoUVMaxDistance: .5 273 | m_AutoUVMaxAngle: 89 274 | m_LightmapParameters: {fileID: 0} 275 | m_SortingLayerID: 0 276 | m_SortingOrder: 0 277 | --- !u!65 &479951994 278 | BoxCollider: 279 | m_ObjectHideFlags: 0 280 | m_PrefabParentObject: {fileID: 0} 281 | m_PrefabInternal: {fileID: 0} 282 | m_GameObject: {fileID: 479951991} 283 | m_Material: {fileID: 0} 284 | m_IsTrigger: 0 285 | m_Enabled: 1 286 | serializedVersion: 2 287 | m_Size: {x: 1, y: 1, z: 1} 288 | m_Center: {x: 0, y: 0, z: 0} 289 | --- !u!33 &479951995 290 | MeshFilter: 291 | m_ObjectHideFlags: 0 292 | m_PrefabParentObject: {fileID: 0} 293 | m_PrefabInternal: {fileID: 0} 294 | m_GameObject: {fileID: 479951991} 295 | m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} 296 | --- !u!1 &509757772 297 | GameObject: 298 | m_ObjectHideFlags: 0 299 | m_PrefabParentObject: {fileID: 0} 300 | m_PrefabInternal: {fileID: 0} 301 | serializedVersion: 4 302 | m_Component: 303 | - 4: {fileID: 509757775} 304 | - 218: {fileID: 509757774} 305 | - 154: {fileID: 509757773} 306 | m_Layer: 0 307 | m_Name: Terrain 308 | m_TagString: Untagged 309 | m_Icon: {fileID: 0} 310 | m_NavMeshLayer: 0 311 | m_StaticEditorFlags: 4294967295 312 | m_IsActive: 1 313 | --- !u!154 &509757773 314 | TerrainCollider: 315 | m_ObjectHideFlags: 0 316 | m_PrefabParentObject: {fileID: 0} 317 | m_PrefabInternal: {fileID: 0} 318 | m_GameObject: {fileID: 509757772} 319 | m_Material: {fileID: 0} 320 | m_Enabled: 1 321 | m_TerrainData: {fileID: 15600000, guid: 0cf5a468bf2b9f844b959f3368fc9c51, type: 2} 322 | m_EnableTreeColliders: 1 323 | --- !u!218 &509757774 324 | Terrain: 325 | m_ObjectHideFlags: 0 326 | m_PrefabParentObject: {fileID: 0} 327 | m_PrefabInternal: {fileID: 0} 328 | m_GameObject: {fileID: 509757772} 329 | m_Enabled: 1 330 | serializedVersion: 3 331 | m_TerrainData: {fileID: 15600000, guid: 0cf5a468bf2b9f844b959f3368fc9c51, type: 2} 332 | m_TreeDistance: 5000 333 | m_TreeBillboardDistance: 50 334 | m_TreeCrossFadeLength: 5 335 | m_TreeMaximumFullLODCount: 50 336 | m_DetailObjectDistance: 80 337 | m_DetailObjectDensity: 1 338 | m_HeightmapPixelError: 5 339 | m_SplatMapDistance: 1000 340 | m_HeightmapMaximumLOD: 0 341 | m_CastShadows: 1 342 | m_DrawHeightmap: 1 343 | m_DrawTreesAndFoliage: 1 344 | m_ReflectionProbeUsage: 1 345 | m_MaterialType: 1 346 | m_LegacySpecular: 347 | serializedVersion: 2 348 | rgba: 4286545791 349 | m_LegacyShininess: .078125 350 | m_MaterialTemplate: {fileID: 0} 351 | m_BakeLightProbesForTrees: 1 352 | m_ScaleInLightmap: 1 353 | m_LightmapParameters: {fileID: 15203, guid: 0000000000000000f000000000000000, type: 0} 354 | --- !u!4 &509757775 355 | Transform: 356 | m_ObjectHideFlags: 0 357 | m_PrefabParentObject: {fileID: 0} 358 | m_PrefabInternal: {fileID: 0} 359 | m_GameObject: {fileID: 509757772} 360 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 361 | m_LocalPosition: {x: 0, y: 0, z: 0} 362 | m_LocalScale: {x: 1, y: 1, z: 1} 363 | m_Children: [] 364 | m_Father: {fileID: 0} 365 | m_RootOrder: 1 366 | --- !u!1 &522344714 367 | GameObject: 368 | m_ObjectHideFlags: 0 369 | m_PrefabParentObject: {fileID: 0} 370 | m_PrefabInternal: {fileID: 0} 371 | serializedVersion: 4 372 | m_Component: 373 | - 4: {fileID: 522344718} 374 | - 114: {fileID: 522344717} 375 | - 114: {fileID: 522344716} 376 | - 114: {fileID: 522344715} 377 | m_Layer: 0 378 | m_Name: EventSystem 379 | m_TagString: Untagged 380 | m_Icon: {fileID: 0} 381 | m_NavMeshLayer: 0 382 | m_StaticEditorFlags: 0 383 | m_IsActive: 1 384 | --- !u!114 &522344715 385 | MonoBehaviour: 386 | m_ObjectHideFlags: 0 387 | m_PrefabParentObject: {fileID: 0} 388 | m_PrefabInternal: {fileID: 0} 389 | m_GameObject: {fileID: 522344714} 390 | m_Enabled: 1 391 | m_EditorHideFlags: 0 392 | m_Script: {fileID: 1997211142, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} 393 | m_Name: 394 | m_EditorClassIdentifier: 395 | m_AllowActivationOnStandalone: 0 396 | --- !u!114 &522344716 397 | MonoBehaviour: 398 | m_ObjectHideFlags: 0 399 | m_PrefabParentObject: {fileID: 0} 400 | m_PrefabInternal: {fileID: 0} 401 | m_GameObject: {fileID: 522344714} 402 | m_Enabled: 1 403 | m_EditorHideFlags: 0 404 | m_Script: {fileID: 1077351063, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} 405 | m_Name: 406 | m_EditorClassIdentifier: 407 | m_HorizontalAxis: Horizontal 408 | m_VerticalAxis: Vertical 409 | m_SubmitButton: Submit 410 | m_CancelButton: Cancel 411 | m_InputActionsPerSecond: 10 412 | m_AllowActivationOnMobileDevice: 0 413 | --- !u!114 &522344717 414 | MonoBehaviour: 415 | m_ObjectHideFlags: 0 416 | m_PrefabParentObject: {fileID: 0} 417 | m_PrefabInternal: {fileID: 0} 418 | m_GameObject: {fileID: 522344714} 419 | m_Enabled: 1 420 | m_EditorHideFlags: 0 421 | m_Script: {fileID: -619905303, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} 422 | m_Name: 423 | m_EditorClassIdentifier: 424 | m_FirstSelected: {fileID: 0} 425 | m_sendNavigationEvents: 1 426 | m_DragThreshold: 5 427 | --- !u!4 &522344718 428 | Transform: 429 | m_ObjectHideFlags: 0 430 | m_PrefabParentObject: {fileID: 0} 431 | m_PrefabInternal: {fileID: 0} 432 | m_GameObject: {fileID: 522344714} 433 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 434 | m_LocalPosition: {x: 0, y: 0, z: 0} 435 | m_LocalScale: {x: 1, y: 1, z: 1} 436 | m_Children: [] 437 | m_Father: {fileID: 0} 438 | m_RootOrder: 3 439 | --- !u!1 &702712915 440 | GameObject: 441 | m_ObjectHideFlags: 0 442 | m_PrefabParentObject: {fileID: 0} 443 | m_PrefabInternal: {fileID: 0} 444 | serializedVersion: 4 445 | m_Component: 446 | - 224: {fileID: 702712916} 447 | - 223: {fileID: 702712918} 448 | - 114: {fileID: 702712919} 449 | - 114: {fileID: 702712917} 450 | m_Layer: 5 451 | m_Name: Canvas 452 | m_TagString: Untagged 453 | m_Icon: {fileID: 0} 454 | m_NavMeshLayer: 0 455 | m_StaticEditorFlags: 0 456 | m_IsActive: 1 457 | --- !u!224 &702712916 458 | RectTransform: 459 | m_ObjectHideFlags: 0 460 | m_PrefabParentObject: {fileID: 0} 461 | m_PrefabInternal: {fileID: 0} 462 | m_GameObject: {fileID: 702712915} 463 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 464 | m_LocalPosition: {x: 0, y: 0, z: 0} 465 | m_LocalScale: {x: 0, y: 0, z: 0} 466 | m_Children: 467 | - {fileID: 1729978354} 468 | - {fileID: 1763936327} 469 | m_Father: {fileID: 0} 470 | m_RootOrder: 2 471 | m_AnchorMin: {x: 0, y: 0} 472 | m_AnchorMax: {x: 0, y: 0} 473 | m_AnchoredPosition: {x: 0, y: 0} 474 | m_SizeDelta: {x: 0, y: 0} 475 | m_Pivot: {x: 0, y: 0} 476 | --- !u!114 &702712917 477 | MonoBehaviour: 478 | m_ObjectHideFlags: 0 479 | m_PrefabParentObject: {fileID: 0} 480 | m_PrefabInternal: {fileID: 0} 481 | m_GameObject: {fileID: 702712915} 482 | m_Enabled: 1 483 | m_EditorHideFlags: 0 484 | m_Script: {fileID: 1301386320, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} 485 | m_Name: 486 | m_EditorClassIdentifier: 487 | m_IgnoreReversedGraphics: 1 488 | m_BlockingObjects: 0 489 | m_BlockingMask: 490 | serializedVersion: 2 491 | m_Bits: 4294967295 492 | --- !u!223 &702712918 493 | Canvas: 494 | m_ObjectHideFlags: 0 495 | m_PrefabParentObject: {fileID: 0} 496 | m_PrefabInternal: {fileID: 0} 497 | m_GameObject: {fileID: 702712915} 498 | m_Enabled: 1 499 | serializedVersion: 2 500 | m_RenderMode: 0 501 | m_Camera: {fileID: 0} 502 | m_PlaneDistance: 100 503 | m_PixelPerfect: 1 504 | m_ReceivesEvents: 1 505 | m_OverrideSorting: 0 506 | m_OverridePixelPerfect: 0 507 | m_SortingLayerID: 0 508 | m_SortingOrder: 0 509 | --- !u!114 &702712919 510 | MonoBehaviour: 511 | m_ObjectHideFlags: 0 512 | m_PrefabParentObject: {fileID: 0} 513 | m_PrefabInternal: {fileID: 0} 514 | m_GameObject: {fileID: 702712915} 515 | m_Enabled: 1 516 | m_EditorHideFlags: 0 517 | m_Script: {fileID: 1980459831, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} 518 | m_Name: 519 | m_EditorClassIdentifier: 520 | m_UiScaleMode: 0 521 | m_ReferencePixelsPerUnit: 100 522 | m_ScaleFactor: 1 523 | m_ReferenceResolution: {x: 800, y: 600} 524 | m_ScreenMatchMode: 0 525 | m_MatchWidthOrHeight: 0 526 | m_PhysicalUnit: 3 527 | m_FallbackScreenDPI: 96 528 | m_DefaultSpriteDPI: 96 529 | m_DynamicPixelsPerUnit: 1 530 | --- !u!1 &1048004576 531 | GameObject: 532 | m_ObjectHideFlags: 0 533 | m_PrefabParentObject: {fileID: 0} 534 | m_PrefabInternal: {fileID: 0} 535 | serializedVersion: 4 536 | m_Component: 537 | - 4: {fileID: 1048004577} 538 | - 108: {fileID: 1048004578} 539 | m_Layer: 0 540 | m_Name: Point light 541 | m_TagString: Untagged 542 | m_Icon: {fileID: 0} 543 | m_NavMeshLayer: 0 544 | m_StaticEditorFlags: 0 545 | m_IsActive: 1 546 | --- !u!4 &1048004577 547 | Transform: 548 | m_ObjectHideFlags: 0 549 | m_PrefabParentObject: {fileID: 0} 550 | m_PrefabInternal: {fileID: 0} 551 | m_GameObject: {fileID: 1048004576} 552 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 553 | m_LocalPosition: {x: 1037.69995, y: 5.09700012, z: 384.100006} 554 | m_LocalScale: {x: 1, y: 1, z: 1} 555 | m_Children: [] 556 | m_Father: {fileID: 1111047966} 557 | m_RootOrder: 4 558 | --- !u!108 &1048004578 559 | Light: 560 | m_ObjectHideFlags: 0 561 | m_PrefabParentObject: {fileID: 0} 562 | m_PrefabInternal: {fileID: 0} 563 | m_GameObject: {fileID: 1048004576} 564 | m_Enabled: 1 565 | serializedVersion: 6 566 | m_Type: 2 567 | m_Color: {r: 1, g: 1, b: 1, a: 1} 568 | m_Intensity: 3.88000011 569 | m_Range: 10 570 | m_SpotAngle: 30 571 | m_CookieSize: 10 572 | m_Shadows: 573 | m_Type: 0 574 | m_Resolution: -1 575 | m_Strength: 1 576 | m_Bias: .0500000007 577 | m_NormalBias: .400000006 578 | m_Cookie: {fileID: 0} 579 | m_DrawHalo: 0 580 | m_Flare: {fileID: 0} 581 | m_RenderMode: 0 582 | m_CullingMask: 583 | serializedVersion: 2 584 | m_Bits: 4294967295 585 | m_Lightmapping: 1 586 | m_BounceIntensity: 1 587 | m_ShadowRadius: 0 588 | m_ShadowAngle: 0 589 | m_AreaSize: {x: 1, y: 1} 590 | --- !u!1 &1111047965 591 | GameObject: 592 | m_ObjectHideFlags: 0 593 | m_PrefabParentObject: {fileID: 0} 594 | m_PrefabInternal: {fileID: 0} 595 | serializedVersion: 4 596 | m_Component: 597 | - 4: {fileID: 1111047966} 598 | m_Layer: 0 599 | m_Name: Props 600 | m_TagString: Untagged 601 | m_Icon: {fileID: 0} 602 | m_NavMeshLayer: 0 603 | m_StaticEditorFlags: 0 604 | m_IsActive: 1 605 | --- !u!4 &1111047966 606 | Transform: 607 | m_ObjectHideFlags: 0 608 | m_PrefabParentObject: {fileID: 0} 609 | m_PrefabInternal: {fileID: 0} 610 | m_GameObject: {fileID: 1111047965} 611 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 612 | m_LocalPosition: {x: 0, y: 0, z: 0} 613 | m_LocalScale: {x: 1, y: 1, z: 1} 614 | m_Children: 615 | - {fileID: 2034558747} 616 | - {fileID: 1548749555} 617 | - {fileID: 343106093} 618 | - {fileID: 479951992} 619 | - {fileID: 1048004577} 620 | - {fileID: 408379460} 621 | m_Father: {fileID: 0} 622 | m_RootOrder: 0 623 | --- !u!1001 &1131284804 624 | Prefab: 625 | m_ObjectHideFlags: 0 626 | serializedVersion: 2 627 | m_Modification: 628 | m_TransformParent: {fileID: 702712916} 629 | m_Modifications: 630 | - target: {fileID: 22400006, guid: 312abd0527754e047a6bfbc424f09ace, type: 2} 631 | propertyPath: m_LocalPosition.x 632 | value: 0 633 | objectReference: {fileID: 0} 634 | - target: {fileID: 22400006, guid: 312abd0527754e047a6bfbc424f09ace, type: 2} 635 | propertyPath: m_LocalPosition.y 636 | value: 0 637 | objectReference: {fileID: 0} 638 | - target: {fileID: 22400006, guid: 312abd0527754e047a6bfbc424f09ace, type: 2} 639 | propertyPath: m_LocalPosition.z 640 | value: 0 641 | objectReference: {fileID: 0} 642 | - target: {fileID: 22400006, guid: 312abd0527754e047a6bfbc424f09ace, type: 2} 643 | propertyPath: m_LocalRotation.x 644 | value: 0 645 | objectReference: {fileID: 0} 646 | - target: {fileID: 22400006, guid: 312abd0527754e047a6bfbc424f09ace, type: 2} 647 | propertyPath: m_LocalRotation.y 648 | value: 0 649 | objectReference: {fileID: 0} 650 | - target: {fileID: 22400006, guid: 312abd0527754e047a6bfbc424f09ace, type: 2} 651 | propertyPath: m_LocalRotation.z 652 | value: 0 653 | objectReference: {fileID: 0} 654 | - target: {fileID: 22400006, guid: 312abd0527754e047a6bfbc424f09ace, type: 2} 655 | propertyPath: m_LocalRotation.w 656 | value: 1 657 | objectReference: {fileID: 0} 658 | - target: {fileID: 22400006, guid: 312abd0527754e047a6bfbc424f09ace, type: 2} 659 | propertyPath: m_RootOrder 660 | value: 1 661 | objectReference: {fileID: 0} 662 | - target: {fileID: 22400006, guid: 312abd0527754e047a6bfbc424f09ace, type: 2} 663 | propertyPath: m_AnchoredPosition.x 664 | value: 0 665 | objectReference: {fileID: 0} 666 | - target: {fileID: 22400006, guid: 312abd0527754e047a6bfbc424f09ace, type: 2} 667 | propertyPath: m_AnchoredPosition.y 668 | value: 5 669 | objectReference: {fileID: 0} 670 | - target: {fileID: 22400006, guid: 312abd0527754e047a6bfbc424f09ace, type: 2} 671 | propertyPath: m_SizeDelta.x 672 | value: -10 673 | objectReference: {fileID: 0} 674 | - target: {fileID: 22400006, guid: 312abd0527754e047a6bfbc424f09ace, type: 2} 675 | propertyPath: m_SizeDelta.y 676 | value: 200 677 | objectReference: {fileID: 0} 678 | - target: {fileID: 22400006, guid: 312abd0527754e047a6bfbc424f09ace, type: 2} 679 | propertyPath: m_AnchorMin.x 680 | value: 0 681 | objectReference: {fileID: 0} 682 | - target: {fileID: 22400006, guid: 312abd0527754e047a6bfbc424f09ace, type: 2} 683 | propertyPath: m_AnchorMin.y 684 | value: 0 685 | objectReference: {fileID: 0} 686 | - target: {fileID: 22400006, guid: 312abd0527754e047a6bfbc424f09ace, type: 2} 687 | propertyPath: m_AnchorMax.x 688 | value: 1 689 | objectReference: {fileID: 0} 690 | - target: {fileID: 22400006, guid: 312abd0527754e047a6bfbc424f09ace, type: 2} 691 | propertyPath: m_AnchorMax.y 692 | value: 0 693 | objectReference: {fileID: 0} 694 | - target: {fileID: 22400006, guid: 312abd0527754e047a6bfbc424f09ace, type: 2} 695 | propertyPath: m_Pivot.x 696 | value: .5 697 | objectReference: {fileID: 0} 698 | - target: {fileID: 22400006, guid: 312abd0527754e047a6bfbc424f09ace, type: 2} 699 | propertyPath: m_Pivot.y 700 | value: 0 701 | objectReference: {fileID: 0} 702 | - target: {fileID: 22400010, guid: 312abd0527754e047a6bfbc424f09ace, type: 2} 703 | propertyPath: m_AnchorMax.x 704 | value: 1 705 | objectReference: {fileID: 0} 706 | - target: {fileID: 22400010, guid: 312abd0527754e047a6bfbc424f09ace, type: 2} 707 | propertyPath: m_AnchorMax.y 708 | value: 1 709 | objectReference: {fileID: 0} 710 | - target: {fileID: 22400016, guid: 312abd0527754e047a6bfbc424f09ace, type: 2} 711 | propertyPath: m_SizeDelta.y 712 | value: 20 713 | objectReference: {fileID: 0} 714 | - target: {fileID: 11400012, guid: 312abd0527754e047a6bfbc424f09ace, type: 2} 715 | propertyPath: myName 716 | value: scene 717 | objectReference: {fileID: 0} 718 | - target: {fileID: 100012, guid: 312abd0527754e047a6bfbc424f09ace, type: 2} 719 | propertyPath: m_TagString 720 | value: Smelly 721 | objectReference: {fileID: 0} 722 | - target: {fileID: 11400010, guid: 312abd0527754e047a6bfbc424f09ace, type: 2} 723 | propertyPath: m_Enabled 724 | value: 1 725 | objectReference: {fileID: 0} 726 | m_RemovedComponents: [] 727 | m_ParentPrefab: {fileID: 100100000, guid: 312abd0527754e047a6bfbc424f09ace, type: 2} 728 | m_IsPrefabParent: 0 729 | --- !u!1 &1548749551 730 | GameObject: 731 | m_ObjectHideFlags: 0 732 | m_PrefabParentObject: {fileID: 0} 733 | m_PrefabInternal: {fileID: 0} 734 | serializedVersion: 4 735 | m_Component: 736 | - 4: {fileID: 1548749555} 737 | - 33: {fileID: 1548749554} 738 | - 65: {fileID: 1548749553} 739 | - 23: {fileID: 1548749552} 740 | m_Layer: 0 741 | m_Name: Cube 742 | m_TagString: Untagged 743 | m_Icon: {fileID: 0} 744 | m_NavMeshLayer: 0 745 | m_StaticEditorFlags: 0 746 | m_IsActive: 1 747 | --- !u!23 &1548749552 748 | MeshRenderer: 749 | m_ObjectHideFlags: 0 750 | m_PrefabParentObject: {fileID: 0} 751 | m_PrefabInternal: {fileID: 0} 752 | m_GameObject: {fileID: 1548749551} 753 | m_Enabled: 1 754 | m_CastShadows: 1 755 | m_ReceiveShadows: 1 756 | m_Materials: 757 | - {fileID: 2100000, guid: 799ddde0712b42b4f95246a57a8a29d8, type: 2} 758 | m_SubsetIndices: 759 | m_StaticBatchRoot: {fileID: 0} 760 | m_UseLightProbes: 0 761 | m_ReflectionProbeUsage: 1 762 | m_ProbeAnchor: {fileID: 0} 763 | m_ScaleInLightmap: 1 764 | m_PreserveUVs: 0 765 | m_ImportantGI: 0 766 | m_AutoUVMaxDistance: .5 767 | m_AutoUVMaxAngle: 89 768 | m_LightmapParameters: {fileID: 0} 769 | m_SortingLayerID: 0 770 | m_SortingOrder: 0 771 | --- !u!65 &1548749553 772 | BoxCollider: 773 | m_ObjectHideFlags: 0 774 | m_PrefabParentObject: {fileID: 0} 775 | m_PrefabInternal: {fileID: 0} 776 | m_GameObject: {fileID: 1548749551} 777 | m_Material: {fileID: 0} 778 | m_IsTrigger: 0 779 | m_Enabled: 1 780 | serializedVersion: 2 781 | m_Size: {x: 1, y: 1, z: 1} 782 | m_Center: {x: 0, y: 0, z: 0} 783 | --- !u!33 &1548749554 784 | MeshFilter: 785 | m_ObjectHideFlags: 0 786 | m_PrefabParentObject: {fileID: 0} 787 | m_PrefabInternal: {fileID: 0} 788 | m_GameObject: {fileID: 1548749551} 789 | m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} 790 | --- !u!4 &1548749555 791 | Transform: 792 | m_ObjectHideFlags: 0 793 | m_PrefabParentObject: {fileID: 0} 794 | m_PrefabInternal: {fileID: 0} 795 | m_GameObject: {fileID: 1548749551} 796 | m_LocalRotation: {x: .706373453, y: -.0321294889, z: .0320914239, w: .706381202} 797 | m_LocalPosition: {x: 1037.5, y: .480040014, z: 388.179993} 798 | m_LocalScale: {x: 1, y: 1, z: 1} 799 | m_Children: [] 800 | m_Father: {fileID: 1111047966} 801 | m_RootOrder: 1 802 | --- !u!1 &1550931502 803 | GameObject: 804 | m_ObjectHideFlags: 0 805 | m_PrefabParentObject: {fileID: 0} 806 | m_PrefabInternal: {fileID: 0} 807 | serializedVersion: 4 808 | m_Component: 809 | - 4: {fileID: 1550931507} 810 | - 20: {fileID: 1550931506} 811 | - 92: {fileID: 1550931505} 812 | - 124: {fileID: 1550931504} 813 | - 81: {fileID: 1550931503} 814 | - 114: {fileID: 1550931508} 815 | - 114: {fileID: 1550931510} 816 | m_Layer: 0 817 | m_Name: Main Camera 818 | m_TagString: MainCamera 819 | m_Icon: {fileID: 0} 820 | m_NavMeshLayer: 0 821 | m_StaticEditorFlags: 0 822 | m_IsActive: 1 823 | --- !u!81 &1550931503 824 | AudioListener: 825 | m_ObjectHideFlags: 0 826 | m_PrefabParentObject: {fileID: 0} 827 | m_PrefabInternal: {fileID: 0} 828 | m_GameObject: {fileID: 1550931502} 829 | m_Enabled: 1 830 | --- !u!124 &1550931504 831 | Behaviour: 832 | m_ObjectHideFlags: 0 833 | m_PrefabParentObject: {fileID: 0} 834 | m_PrefabInternal: {fileID: 0} 835 | m_GameObject: {fileID: 1550931502} 836 | m_Enabled: 1 837 | --- !u!92 &1550931505 838 | Behaviour: 839 | m_ObjectHideFlags: 0 840 | m_PrefabParentObject: {fileID: 0} 841 | m_PrefabInternal: {fileID: 0} 842 | m_GameObject: {fileID: 1550931502} 843 | m_Enabled: 1 844 | --- !u!20 &1550931506 845 | Camera: 846 | m_ObjectHideFlags: 0 847 | m_PrefabParentObject: {fileID: 0} 848 | m_PrefabInternal: {fileID: 0} 849 | m_GameObject: {fileID: 1550931502} 850 | m_Enabled: 1 851 | serializedVersion: 2 852 | m_ClearFlags: 1 853 | m_BackGroundColor: {r: .192156866, g: .301960796, b: .474509805, a: .0196078438} 854 | m_NormalizedViewPortRect: 855 | serializedVersion: 2 856 | x: 0 857 | y: 0 858 | width: 1 859 | height: 1 860 | near clip plane: .300000012 861 | far clip plane: 1000 862 | field of view: 60 863 | orthographic: 0 864 | orthographic size: 5 865 | m_Depth: -1 866 | m_CullingMask: 867 | serializedVersion: 2 868 | m_Bits: 4294967295 869 | m_RenderingPath: -1 870 | m_TargetTexture: {fileID: 0} 871 | m_TargetDisplay: 0 872 | m_HDR: 0 873 | m_OcclusionCulling: 1 874 | m_StereoConvergence: 10 875 | m_StereoSeparation: .0219999999 876 | --- !u!4 &1550931507 877 | Transform: 878 | m_ObjectHideFlags: 0 879 | m_PrefabParentObject: {fileID: 0} 880 | m_PrefabInternal: {fileID: 0} 881 | m_GameObject: {fileID: 1550931502} 882 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 883 | m_LocalPosition: {x: 1034.09998, y: 1, z: 381.799988} 884 | m_LocalScale: {x: 1, y: 1, z: 1} 885 | m_Children: [] 886 | m_Father: {fileID: 0} 887 | m_RootOrder: 4 888 | --- !u!114 &1550931508 889 | MonoBehaviour: 890 | m_ObjectHideFlags: 0 891 | m_PrefabParentObject: {fileID: 0} 892 | m_PrefabInternal: {fileID: 0} 893 | m_GameObject: {fileID: 1550931502} 894 | m_Enabled: 1 895 | m_EditorHideFlags: 0 896 | m_Script: {fileID: 11500000, guid: be55439ff6aee1e49a7114e51bc202f5, type: 3} 897 | m_Name: 898 | m_EditorClassIdentifier: 899 | speed: .0500000007 900 | --- !u!114 &1550931510 901 | MonoBehaviour: 902 | m_ObjectHideFlags: 0 903 | m_PrefabParentObject: {fileID: 0} 904 | m_PrefabInternal: {fileID: 0} 905 | m_GameObject: {fileID: 1550931502} 906 | m_Enabled: 1 907 | m_EditorHideFlags: 0 908 | m_Script: {fileID: 11500000, guid: 3dbf6cfd1c1d01a42a62d97e86b60749, type: 3} 909 | m_Name: 910 | m_EditorClassIdentifier: 911 | axes: 0 912 | sensitivityX: 5 913 | sensitivityY: 5 914 | minimumX: -360 915 | maximumX: 360 916 | minimumY: -80 917 | maximumY: 80 918 | --- !u!1 &1729978353 919 | GameObject: 920 | m_ObjectHideFlags: 0 921 | m_PrefabParentObject: {fileID: 0} 922 | m_PrefabInternal: {fileID: 0} 923 | serializedVersion: 4 924 | m_Component: 925 | - 224: {fileID: 1729978354} 926 | - 222: {fileID: 1729978356} 927 | - 114: {fileID: 1729978355} 928 | m_Layer: 5 929 | m_Name: Text 930 | m_TagString: Untagged 931 | m_Icon: {fileID: 0} 932 | m_NavMeshLayer: 0 933 | m_StaticEditorFlags: 0 934 | m_IsActive: 1 935 | --- !u!224 &1729978354 936 | RectTransform: 937 | m_ObjectHideFlags: 0 938 | m_PrefabParentObject: {fileID: 0} 939 | m_PrefabInternal: {fileID: 0} 940 | m_GameObject: {fileID: 1729978353} 941 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 942 | m_LocalPosition: {x: 0, y: 0, z: 0} 943 | m_LocalScale: {x: 1, y: 1, z: 1} 944 | m_Children: [] 945 | m_Father: {fileID: 702712916} 946 | m_RootOrder: 0 947 | m_AnchorMin: {x: 0, y: 0} 948 | m_AnchorMax: {x: 1, y: 1} 949 | m_AnchoredPosition: {x: 0, y: 99.9999313} 950 | m_SizeDelta: {x: -64, y: -264} 951 | m_Pivot: {x: .5, y: .500000238} 952 | --- !u!114 &1729978355 953 | MonoBehaviour: 954 | m_ObjectHideFlags: 0 955 | m_PrefabParentObject: {fileID: 0} 956 | m_PrefabInternal: {fileID: 0} 957 | m_GameObject: {fileID: 1729978353} 958 | m_Enabled: 1 959 | m_EditorHideFlags: 0 960 | m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} 961 | m_Name: 962 | m_EditorClassIdentifier: 963 | m_Material: {fileID: 0} 964 | m_Color: {r: 1, g: 1, b: 1, a: 1} 965 | m_FontData: 966 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} 967 | m_FontSize: 32 968 | m_FontStyle: 0 969 | m_BestFit: 0 970 | m_MinSize: 10 971 | m_MaxSize: 40 972 | m_Alignment: 0 973 | m_RichText: 1 974 | m_HorizontalOverflow: 0 975 | m_VerticalOverflow: 0 976 | m_LineSpacing: 1.5 977 | m_Text: The console can be extended with custom commands. This is done by attaching 978 | a script to the console. See CustomCommands.cs. 979 | --- !u!222 &1729978356 980 | CanvasRenderer: 981 | m_ObjectHideFlags: 0 982 | m_PrefabParentObject: {fileID: 0} 983 | m_PrefabInternal: {fileID: 0} 984 | m_GameObject: {fileID: 1729978353} 985 | --- !u!1 &1763936326 stripped 986 | GameObject: 987 | m_PrefabParentObject: {fileID: 100006, guid: 312abd0527754e047a6bfbc424f09ace, type: 2} 988 | m_PrefabInternal: {fileID: 1131284804} 989 | --- !u!224 &1763936327 stripped 990 | RectTransform: 991 | m_PrefabParentObject: {fileID: 22400006, guid: 312abd0527754e047a6bfbc424f09ace, 992 | type: 2} 993 | m_PrefabInternal: {fileID: 1131284804} 994 | --- !u!114 &1763936329 stripped 995 | MonoBehaviour: 996 | m_PrefabParentObject: {fileID: 11400010, guid: 312abd0527754e047a6bfbc424f09ace, 997 | type: 2} 998 | m_PrefabInternal: {fileID: 1131284804} 999 | m_Script: {fileID: 11500000, guid: 20aea41b5b8ab374cac1e515b4d75f17, type: 3} 1000 | --- !u!114 &1763936331 1001 | MonoBehaviour: 1002 | m_ObjectHideFlags: 0 1003 | m_PrefabParentObject: {fileID: 0} 1004 | m_PrefabInternal: {fileID: 0} 1005 | m_GameObject: {fileID: 1763936326} 1006 | m_Enabled: 1 1007 | m_EditorHideFlags: 0 1008 | m_Script: {fileID: 11500000, guid: 12c783ec6a6aa61499a40bae9720648e, type: 3} 1009 | m_Name: 1010 | m_EditorClassIdentifier: 1011 | console: {fileID: 1763936329} 1012 | mouseLook: {fileID: 1550931510} 1013 | wasdMovement: {fileID: 1550931508} 1014 | --- !u!114 &1763936332 1015 | MonoBehaviour: 1016 | m_ObjectHideFlags: 0 1017 | m_PrefabParentObject: {fileID: 0} 1018 | m_PrefabInternal: {fileID: 0} 1019 | m_GameObject: {fileID: 1763936326} 1020 | m_Enabled: 1 1021 | m_EditorHideFlags: 0 1022 | m_Script: {fileID: 11500000, guid: 08a07bac799ec7d44a9e2e9a138be882, type: 3} 1023 | m_Name: 1024 | m_EditorClassIdentifier: 1025 | --- !u!1 &2034558746 1026 | GameObject: 1027 | m_ObjectHideFlags: 0 1028 | m_PrefabParentObject: {fileID: 0} 1029 | m_PrefabInternal: {fileID: 0} 1030 | serializedVersion: 4 1031 | m_Component: 1032 | - 4: {fileID: 2034558747} 1033 | - 33: {fileID: 2034558750} 1034 | - 65: {fileID: 2034558749} 1035 | - 23: {fileID: 2034558748} 1036 | m_Layer: 0 1037 | m_Name: Cube 1038 | m_TagString: Untagged 1039 | m_Icon: {fileID: 0} 1040 | m_NavMeshLayer: 0 1041 | m_StaticEditorFlags: 0 1042 | m_IsActive: 1 1043 | --- !u!4 &2034558747 1044 | Transform: 1045 | m_ObjectHideFlags: 0 1046 | m_PrefabParentObject: {fileID: 0} 1047 | m_PrefabInternal: {fileID: 0} 1048 | m_GameObject: {fileID: 2034558746} 1049 | m_LocalRotation: {x: 6.78426659e-06, y: -2.51293022e-06, z: -2.32044222e-05, w: 1} 1050 | m_LocalPosition: {x: 1037.30005, y: .480040014, z: 387.130005} 1051 | m_LocalScale: {x: 1, y: 1, z: 1} 1052 | m_Children: [] 1053 | m_Father: {fileID: 1111047966} 1054 | m_RootOrder: 0 1055 | --- !u!23 &2034558748 1056 | MeshRenderer: 1057 | m_ObjectHideFlags: 0 1058 | m_PrefabParentObject: {fileID: 0} 1059 | m_PrefabInternal: {fileID: 0} 1060 | m_GameObject: {fileID: 2034558746} 1061 | m_Enabled: 1 1062 | m_CastShadows: 1 1063 | m_ReceiveShadows: 1 1064 | m_Materials: 1065 | - {fileID: 2100000, guid: 799ddde0712b42b4f95246a57a8a29d8, type: 2} 1066 | m_SubsetIndices: 1067 | m_StaticBatchRoot: {fileID: 0} 1068 | m_UseLightProbes: 0 1069 | m_ReflectionProbeUsage: 1 1070 | m_ProbeAnchor: {fileID: 0} 1071 | m_ScaleInLightmap: 1 1072 | m_PreserveUVs: 0 1073 | m_ImportantGI: 0 1074 | m_AutoUVMaxDistance: .5 1075 | m_AutoUVMaxAngle: 89 1076 | m_LightmapParameters: {fileID: 0} 1077 | m_SortingLayerID: 0 1078 | m_SortingOrder: 0 1079 | --- !u!65 &2034558749 1080 | BoxCollider: 1081 | m_ObjectHideFlags: 0 1082 | m_PrefabParentObject: {fileID: 0} 1083 | m_PrefabInternal: {fileID: 0} 1084 | m_GameObject: {fileID: 2034558746} 1085 | m_Material: {fileID: 0} 1086 | m_IsTrigger: 0 1087 | m_Enabled: 1 1088 | serializedVersion: 2 1089 | m_Size: {x: 1, y: 1, z: 1} 1090 | m_Center: {x: 0, y: 0, z: 0} 1091 | --- !u!33 &2034558750 1092 | MeshFilter: 1093 | m_ObjectHideFlags: 0 1094 | m_PrefabParentObject: {fileID: 0} 1095 | m_PrefabInternal: {fileID: 0} 1096 | m_GameObject: {fileID: 2034558746} 1097 | m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} 1098 | -------------------------------------------------------------------------------- /Samples/Scenes/CustomCommandsSample.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7d7cd0d376fe42e49a76046bb43002b3 3 | DefaultImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Samples/Scenes/WorldSpaceSample.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_ObjectHideFlags: 0 16 | serializedVersion: 6 17 | m_Fog: 0 18 | m_FogColor: {r: .5, g: .5, b: .5, a: 1} 19 | m_FogMode: 3 20 | m_FogDensity: .00999999978 21 | m_LinearFogStart: 0 22 | m_LinearFogEnd: 300 23 | m_AmbientSkyColor: {r: .200000003, g: .200000003, b: .200000003, a: 1} 24 | m_AmbientEquatorColor: {r: .200000003, g: .200000003, b: .200000003, a: 1} 25 | m_AmbientGroundColor: {r: .200000003, g: .200000003, b: .200000003, a: 1} 26 | m_AmbientIntensity: 1 27 | m_AmbientMode: 3 28 | m_SkyboxMaterial: {fileID: 0} 29 | m_HaloStrength: .5 30 | m_FlareStrength: 1 31 | m_FlareFadeSpeed: 3 32 | m_HaloTexture: {fileID: 0} 33 | m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} 34 | m_DefaultReflectionMode: 0 35 | m_DefaultReflectionResolution: 128 36 | m_ReflectionBounces: 1 37 | m_ReflectionIntensity: 1 38 | m_CustomReflection: {fileID: 0} 39 | m_Sun: {fileID: 0} 40 | --- !u!127 &3 41 | LevelGameManager: 42 | m_ObjectHideFlags: 0 43 | --- !u!157 &4 44 | LightmapSettings: 45 | m_ObjectHideFlags: 0 46 | serializedVersion: 5 47 | m_GIWorkflowMode: 1 48 | m_LightmapsMode: 1 49 | m_GISettings: 50 | serializedVersion: 2 51 | m_BounceScale: 1 52 | m_IndirectOutputScale: 1 53 | m_AlbedoBoost: 1 54 | m_TemporalCoherenceThreshold: 1 55 | m_EnvironmentLightingMode: 0 56 | m_EnableBakedLightmaps: 1 57 | m_EnableRealtimeLightmaps: 0 58 | m_LightmapEditorSettings: 59 | serializedVersion: 3 60 | m_Resolution: 1 61 | m_BakeResolution: 50 62 | m_TextureWidth: 1024 63 | m_TextureHeight: 1024 64 | m_AOMaxDistance: 1 65 | m_Padding: 2 66 | m_CompAOExponent: 0 67 | m_LightmapParameters: {fileID: 0} 68 | m_TextureCompression: 0 69 | m_FinalGather: 0 70 | m_FinalGatherRayCount: 1024 71 | m_LightmapSnapshot: {fileID: 0} 72 | m_RuntimeCPUUsage: 25 73 | --- !u!196 &5 74 | NavMeshSettings: 75 | serializedVersion: 2 76 | m_ObjectHideFlags: 0 77 | m_BuildSettings: 78 | serializedVersion: 2 79 | agentRadius: .5 80 | agentHeight: 2 81 | agentSlope: 45 82 | agentClimb: .400000006 83 | ledgeDropHeight: 0 84 | maxJumpAcrossDistance: 0 85 | accuratePlacement: 0 86 | minRegionArea: 2 87 | cellSize: .166666657 88 | manualCellSize: 0 89 | m_NavMeshData: {fileID: 0} 90 | --- !u!1001 &153025984 91 | Prefab: 92 | m_ObjectHideFlags: 0 93 | serializedVersion: 2 94 | m_Modification: 95 | m_TransformParent: {fileID: 702712916} 96 | m_Modifications: 97 | - target: {fileID: 22400006, guid: 312abd0527754e047a6bfbc424f09ace, type: 2} 98 | propertyPath: m_LocalPosition.x 99 | value: 0 100 | objectReference: {fileID: 0} 101 | - target: {fileID: 22400006, guid: 312abd0527754e047a6bfbc424f09ace, type: 2} 102 | propertyPath: m_LocalPosition.y 103 | value: 0 104 | objectReference: {fileID: 0} 105 | - target: {fileID: 22400006, guid: 312abd0527754e047a6bfbc424f09ace, type: 2} 106 | propertyPath: m_LocalPosition.z 107 | value: 0 108 | objectReference: {fileID: 0} 109 | - target: {fileID: 22400006, guid: 312abd0527754e047a6bfbc424f09ace, type: 2} 110 | propertyPath: m_LocalRotation.x 111 | value: 0 112 | objectReference: {fileID: 0} 113 | - target: {fileID: 22400006, guid: 312abd0527754e047a6bfbc424f09ace, type: 2} 114 | propertyPath: m_LocalRotation.y 115 | value: 0 116 | objectReference: {fileID: 0} 117 | - target: {fileID: 22400006, guid: 312abd0527754e047a6bfbc424f09ace, type: 2} 118 | propertyPath: m_LocalRotation.z 119 | value: 0 120 | objectReference: {fileID: 0} 121 | - target: {fileID: 22400006, guid: 312abd0527754e047a6bfbc424f09ace, type: 2} 122 | propertyPath: m_LocalRotation.w 123 | value: 1 124 | objectReference: {fileID: 0} 125 | - target: {fileID: 22400006, guid: 312abd0527754e047a6bfbc424f09ace, type: 2} 126 | propertyPath: m_RootOrder 127 | value: 1 128 | objectReference: {fileID: 0} 129 | - target: {fileID: 22400006, guid: 312abd0527754e047a6bfbc424f09ace, type: 2} 130 | propertyPath: m_AnchoredPosition.x 131 | value: 0 132 | objectReference: {fileID: 0} 133 | - target: {fileID: 22400006, guid: 312abd0527754e047a6bfbc424f09ace, type: 2} 134 | propertyPath: m_AnchoredPosition.y 135 | value: 5 136 | objectReference: {fileID: 0} 137 | - target: {fileID: 22400006, guid: 312abd0527754e047a6bfbc424f09ace, type: 2} 138 | propertyPath: m_SizeDelta.x 139 | value: -64 140 | objectReference: {fileID: 0} 141 | - target: {fileID: 22400006, guid: 312abd0527754e047a6bfbc424f09ace, type: 2} 142 | propertyPath: m_SizeDelta.y 143 | value: 200 144 | objectReference: {fileID: 0} 145 | - target: {fileID: 22400006, guid: 312abd0527754e047a6bfbc424f09ace, type: 2} 146 | propertyPath: m_AnchorMin.x 147 | value: 0 148 | objectReference: {fileID: 0} 149 | - target: {fileID: 22400006, guid: 312abd0527754e047a6bfbc424f09ace, type: 2} 150 | propertyPath: m_AnchorMin.y 151 | value: 0 152 | objectReference: {fileID: 0} 153 | - target: {fileID: 22400006, guid: 312abd0527754e047a6bfbc424f09ace, type: 2} 154 | propertyPath: m_AnchorMax.x 155 | value: 1 156 | objectReference: {fileID: 0} 157 | - target: {fileID: 22400006, guid: 312abd0527754e047a6bfbc424f09ace, type: 2} 158 | propertyPath: m_AnchorMax.y 159 | value: 0 160 | objectReference: {fileID: 0} 161 | - target: {fileID: 22400006, guid: 312abd0527754e047a6bfbc424f09ace, type: 2} 162 | propertyPath: m_Pivot.x 163 | value: .5 164 | objectReference: {fileID: 0} 165 | - target: {fileID: 22400006, guid: 312abd0527754e047a6bfbc424f09ace, type: 2} 166 | propertyPath: m_Pivot.y 167 | value: 0 168 | objectReference: {fileID: 0} 169 | - target: {fileID: 11400010, guid: 312abd0527754e047a6bfbc424f09ace, type: 2} 170 | propertyPath: m_Enabled 171 | value: 1 172 | objectReference: {fileID: 0} 173 | - target: {fileID: 22400010, guid: 312abd0527754e047a6bfbc424f09ace, type: 2} 174 | propertyPath: m_AnchorMax.x 175 | value: 1 176 | objectReference: {fileID: 0} 177 | - target: {fileID: 22400010, guid: 312abd0527754e047a6bfbc424f09ace, type: 2} 178 | propertyPath: m_AnchorMax.y 179 | value: 1 180 | objectReference: {fileID: 0} 181 | - target: {fileID: 22400016, guid: 312abd0527754e047a6bfbc424f09ace, type: 2} 182 | propertyPath: m_SizeDelta.y 183 | value: 20 184 | objectReference: {fileID: 0} 185 | m_RemovedComponents: [] 186 | m_ParentPrefab: {fileID: 100100000, guid: 312abd0527754e047a6bfbc424f09ace, type: 2} 187 | m_IsPrefabParent: 0 188 | --- !u!1 &302516678 189 | GameObject: 190 | m_ObjectHideFlags: 0 191 | m_PrefabParentObject: {fileID: 0} 192 | m_PrefabInternal: {fileID: 0} 193 | serializedVersion: 4 194 | m_Component: 195 | - 4: {fileID: 302516680} 196 | - 108: {fileID: 302516679} 197 | m_Layer: 0 198 | m_Name: Directional light 199 | m_TagString: Untagged 200 | m_Icon: {fileID: 0} 201 | m_NavMeshLayer: 0 202 | m_StaticEditorFlags: 0 203 | m_IsActive: 1 204 | --- !u!108 &302516679 205 | Light: 206 | m_ObjectHideFlags: 0 207 | m_PrefabParentObject: {fileID: 0} 208 | m_PrefabInternal: {fileID: 0} 209 | m_GameObject: {fileID: 302516678} 210 | m_Enabled: 1 211 | serializedVersion: 6 212 | m_Type: 1 213 | m_Color: {r: 1, g: 1, b: 1, a: 1} 214 | m_Intensity: .319999993 215 | m_Range: 10 216 | m_SpotAngle: 30 217 | m_CookieSize: 10 218 | m_Shadows: 219 | m_Type: 0 220 | m_Resolution: -1 221 | m_Strength: 1 222 | m_Bias: .0500000007 223 | m_NormalBias: .400000006 224 | m_Cookie: {fileID: 0} 225 | m_DrawHalo: 0 226 | m_Flare: {fileID: 0} 227 | m_RenderMode: 0 228 | m_CullingMask: 229 | serializedVersion: 2 230 | m_Bits: 4294967295 231 | m_Lightmapping: 1 232 | m_BounceIntensity: 1 233 | m_ShadowRadius: 0 234 | m_ShadowAngle: 0 235 | m_AreaSize: {x: 1, y: 1} 236 | --- !u!4 &302516680 237 | Transform: 238 | m_ObjectHideFlags: 0 239 | m_PrefabParentObject: {fileID: 0} 240 | m_PrefabInternal: {fileID: 0} 241 | m_GameObject: {fileID: 302516678} 242 | m_LocalRotation: {x: .408217937, y: -.234569728, z: .109381661, w: .875426114} 243 | m_LocalPosition: {x: 1044.59998, y: 128.830002, z: 505.079987} 244 | m_LocalScale: {x: 1, y: 1, z: 1} 245 | m_Children: [] 246 | m_Father: {fileID: 1207911001} 247 | m_RootOrder: 5 248 | --- !u!1 &375463405 249 | GameObject: 250 | m_ObjectHideFlags: 0 251 | m_PrefabParentObject: {fileID: 0} 252 | m_PrefabInternal: {fileID: 0} 253 | serializedVersion: 4 254 | m_Component: 255 | - 4: {fileID: 375463409} 256 | - 33: {fileID: 375463408} 257 | - 65: {fileID: 375463407} 258 | - 23: {fileID: 375463406} 259 | m_Layer: 0 260 | m_Name: Cube 261 | m_TagString: Untagged 262 | m_Icon: {fileID: 0} 263 | m_NavMeshLayer: 0 264 | m_StaticEditorFlags: 0 265 | m_IsActive: 1 266 | --- !u!23 &375463406 267 | MeshRenderer: 268 | m_ObjectHideFlags: 0 269 | m_PrefabParentObject: {fileID: 0} 270 | m_PrefabInternal: {fileID: 0} 271 | m_GameObject: {fileID: 375463405} 272 | m_Enabled: 1 273 | m_CastShadows: 1 274 | m_ReceiveShadows: 1 275 | m_Materials: 276 | - {fileID: 2100000, guid: 799ddde0712b42b4f95246a57a8a29d8, type: 2} 277 | m_SubsetIndices: 278 | m_StaticBatchRoot: {fileID: 0} 279 | m_UseLightProbes: 0 280 | m_ReflectionProbeUsage: 1 281 | m_ProbeAnchor: {fileID: 0} 282 | m_ScaleInLightmap: 1 283 | m_PreserveUVs: 0 284 | m_ImportantGI: 0 285 | m_AutoUVMaxDistance: .5 286 | m_AutoUVMaxAngle: 89 287 | m_LightmapParameters: {fileID: 0} 288 | m_SortingLayerID: 0 289 | m_SortingOrder: 0 290 | --- !u!65 &375463407 291 | BoxCollider: 292 | m_ObjectHideFlags: 0 293 | m_PrefabParentObject: {fileID: 0} 294 | m_PrefabInternal: {fileID: 0} 295 | m_GameObject: {fileID: 375463405} 296 | m_Material: {fileID: 0} 297 | m_IsTrigger: 0 298 | m_Enabled: 1 299 | serializedVersion: 2 300 | m_Size: {x: 1, y: 1, z: 1} 301 | m_Center: {x: 0, y: 0, z: 0} 302 | --- !u!33 &375463408 303 | MeshFilter: 304 | m_ObjectHideFlags: 0 305 | m_PrefabParentObject: {fileID: 0} 306 | m_PrefabInternal: {fileID: 0} 307 | m_GameObject: {fileID: 375463405} 308 | m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} 309 | --- !u!4 &375463409 310 | Transform: 311 | m_ObjectHideFlags: 0 312 | m_PrefabParentObject: {fileID: 0} 313 | m_PrefabInternal: {fileID: 0} 314 | m_GameObject: {fileID: 375463405} 315 | m_LocalRotation: {x: 6.78426659e-06, y: -2.51293022e-06, z: -2.32044222e-05, w: 1} 316 | m_LocalPosition: {x: 1037.30005, y: .480040014, z: 387.130005} 317 | m_LocalScale: {x: 1, y: 1, z: 1} 318 | m_Children: [] 319 | m_Father: {fileID: 1207911001} 320 | m_RootOrder: 0 321 | --- !u!1 &377237372 322 | GameObject: 323 | m_ObjectHideFlags: 0 324 | m_PrefabParentObject: {fileID: 0} 325 | m_PrefabInternal: {fileID: 0} 326 | serializedVersion: 4 327 | m_Component: 328 | - 4: {fileID: 377237377} 329 | - 33: {fileID: 377237376} 330 | - 65: {fileID: 377237375} 331 | - 23: {fileID: 377237374} 332 | m_Layer: 0 333 | m_Name: Cube 334 | m_TagString: Untagged 335 | m_Icon: {fileID: 0} 336 | m_NavMeshLayer: 0 337 | m_StaticEditorFlags: 0 338 | m_IsActive: 1 339 | --- !u!23 &377237374 340 | MeshRenderer: 341 | m_ObjectHideFlags: 0 342 | m_PrefabParentObject: {fileID: 0} 343 | m_PrefabInternal: {fileID: 0} 344 | m_GameObject: {fileID: 377237372} 345 | m_Enabled: 1 346 | m_CastShadows: 1 347 | m_ReceiveShadows: 1 348 | m_Materials: 349 | - {fileID: 2100000, guid: 799ddde0712b42b4f95246a57a8a29d8, type: 2} 350 | m_SubsetIndices: 351 | m_StaticBatchRoot: {fileID: 0} 352 | m_UseLightProbes: 0 353 | m_ReflectionProbeUsage: 1 354 | m_ProbeAnchor: {fileID: 0} 355 | m_ScaleInLightmap: 1 356 | m_PreserveUVs: 0 357 | m_ImportantGI: 0 358 | m_AutoUVMaxDistance: .5 359 | m_AutoUVMaxAngle: 89 360 | m_LightmapParameters: {fileID: 0} 361 | m_SortingLayerID: 0 362 | m_SortingOrder: 0 363 | --- !u!65 &377237375 364 | BoxCollider: 365 | m_ObjectHideFlags: 0 366 | m_PrefabParentObject: {fileID: 0} 367 | m_PrefabInternal: {fileID: 0} 368 | m_GameObject: {fileID: 377237372} 369 | m_Material: {fileID: 0} 370 | m_IsTrigger: 0 371 | m_Enabled: 1 372 | serializedVersion: 2 373 | m_Size: {x: 1, y: 1, z: 1} 374 | m_Center: {x: 0, y: 0, z: 0} 375 | --- !u!33 &377237376 376 | MeshFilter: 377 | m_ObjectHideFlags: 0 378 | m_PrefabParentObject: {fileID: 0} 379 | m_PrefabInternal: {fileID: 0} 380 | m_GameObject: {fileID: 377237372} 381 | m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} 382 | --- !u!4 &377237377 383 | Transform: 384 | m_ObjectHideFlags: 0 385 | m_PrefabParentObject: {fileID: 0} 386 | m_PrefabInternal: {fileID: 0} 387 | m_GameObject: {fileID: 377237372} 388 | m_LocalRotation: {x: -2.63204201e-05, y: -1.60437594e-05, z: -3.58452744e-05, w: 1} 389 | m_LocalPosition: {x: 1037, y: 1.46010005, z: 387.600006} 390 | m_LocalScale: {x: 1, y: 1, z: 1} 391 | m_Children: [] 392 | m_Father: {fileID: 1207911001} 393 | m_RootOrder: 3 394 | --- !u!1 &702712915 395 | GameObject: 396 | m_ObjectHideFlags: 0 397 | m_PrefabParentObject: {fileID: 0} 398 | m_PrefabInternal: {fileID: 0} 399 | serializedVersion: 4 400 | m_Component: 401 | - 224: {fileID: 702712916} 402 | - 223: {fileID: 702712918} 403 | - 114: {fileID: 702712917} 404 | m_Layer: 5 405 | m_Name: WorldSpaceCanvas 406 | m_TagString: Untagged 407 | m_Icon: {fileID: 0} 408 | m_NavMeshLayer: 0 409 | m_StaticEditorFlags: 0 410 | m_IsActive: 1 411 | --- !u!224 &702712916 412 | RectTransform: 413 | m_ObjectHideFlags: 0 414 | m_PrefabParentObject: {fileID: 0} 415 | m_PrefabInternal: {fileID: 0} 416 | m_GameObject: {fileID: 702712915} 417 | m_LocalRotation: {x: 0, y: -.176873669, z: 0, w: .984233618} 418 | m_LocalPosition: {x: 0, y: 0, z: 389.390015} 419 | m_LocalScale: {x: .00999999605, y: .00999999978, z: 1} 420 | m_Children: 421 | - {fileID: 1915241395} 422 | - {fileID: 730616786} 423 | m_Father: {fileID: 0} 424 | m_RootOrder: 2 425 | m_AnchorMin: {x: 0, y: 0} 426 | m_AnchorMax: {x: 0, y: 0} 427 | m_AnchoredPosition: {x: 1031.78003, y: 3.71000004} 428 | m_SizeDelta: {x: 879.219971, y: 403.529999} 429 | m_Pivot: {x: .5, y: .5} 430 | --- !u!114 &702712917 431 | MonoBehaviour: 432 | m_ObjectHideFlags: 0 433 | m_PrefabParentObject: {fileID: 0} 434 | m_PrefabInternal: {fileID: 0} 435 | m_GameObject: {fileID: 702712915} 436 | m_Enabled: 1 437 | m_EditorHideFlags: 0 438 | m_Script: {fileID: 1301386320, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} 439 | m_Name: 440 | m_EditorClassIdentifier: 441 | m_IgnoreReversedGraphics: 1 442 | m_BlockingObjects: 0 443 | m_BlockingMask: 444 | serializedVersion: 2 445 | m_Bits: 4294967295 446 | --- !u!223 &702712918 447 | Canvas: 448 | m_ObjectHideFlags: 0 449 | m_PrefabParentObject: {fileID: 0} 450 | m_PrefabInternal: {fileID: 0} 451 | m_GameObject: {fileID: 702712915} 452 | m_Enabled: 1 453 | serializedVersion: 2 454 | m_RenderMode: 2 455 | m_Camera: {fileID: 0} 456 | m_PlaneDistance: 100 457 | m_PixelPerfect: 0 458 | m_ReceivesEvents: 1 459 | m_OverrideSorting: 0 460 | m_OverridePixelPerfect: 0 461 | m_SortingLayerID: 0 462 | m_SortingOrder: 0 463 | --- !u!1 &711778344 464 | GameObject: 465 | m_ObjectHideFlags: 0 466 | m_PrefabParentObject: {fileID: 0} 467 | m_PrefabInternal: {fileID: 0} 468 | serializedVersion: 4 469 | m_Component: 470 | - 4: {fileID: 711778349} 471 | - 33: {fileID: 711778348} 472 | - 65: {fileID: 711778347} 473 | - 23: {fileID: 711778346} 474 | m_Layer: 0 475 | m_Name: Cube 476 | m_TagString: Untagged 477 | m_Icon: {fileID: 0} 478 | m_NavMeshLayer: 0 479 | m_StaticEditorFlags: 0 480 | m_IsActive: 1 481 | --- !u!23 &711778346 482 | MeshRenderer: 483 | m_ObjectHideFlags: 0 484 | m_PrefabParentObject: {fileID: 0} 485 | m_PrefabInternal: {fileID: 0} 486 | m_GameObject: {fileID: 711778344} 487 | m_Enabled: 1 488 | m_CastShadows: 1 489 | m_ReceiveShadows: 1 490 | m_Materials: 491 | - {fileID: 2100000, guid: 799ddde0712b42b4f95246a57a8a29d8, type: 2} 492 | m_SubsetIndices: 493 | m_StaticBatchRoot: {fileID: 0} 494 | m_UseLightProbes: 0 495 | m_ReflectionProbeUsage: 1 496 | m_ProbeAnchor: {fileID: 0} 497 | m_ScaleInLightmap: 1 498 | m_PreserveUVs: 0 499 | m_ImportantGI: 0 500 | m_AutoUVMaxDistance: .5 501 | m_AutoUVMaxAngle: 89 502 | m_LightmapParameters: {fileID: 0} 503 | m_SortingLayerID: 0 504 | m_SortingOrder: 0 505 | --- !u!65 &711778347 506 | BoxCollider: 507 | m_ObjectHideFlags: 0 508 | m_PrefabParentObject: {fileID: 0} 509 | m_PrefabInternal: {fileID: 0} 510 | m_GameObject: {fileID: 711778344} 511 | m_Material: {fileID: 0} 512 | m_IsTrigger: 0 513 | m_Enabled: 1 514 | serializedVersion: 2 515 | m_Size: {x: 1, y: 1, z: 1} 516 | m_Center: {x: 0, y: 0, z: 0} 517 | --- !u!33 &711778348 518 | MeshFilter: 519 | m_ObjectHideFlags: 0 520 | m_PrefabParentObject: {fileID: 0} 521 | m_PrefabInternal: {fileID: 0} 522 | m_GameObject: {fileID: 711778344} 523 | m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} 524 | --- !u!4 &711778349 525 | Transform: 526 | m_ObjectHideFlags: 0 527 | m_PrefabParentObject: {fileID: 0} 528 | m_PrefabInternal: {fileID: 0} 529 | m_GameObject: {fileID: 711778344} 530 | m_LocalRotation: {x: -.00507213688, y: -.00506548304, z: .707108617, w: .707068682} 531 | m_LocalPosition: {x: 1036.19995, y: .480040014, z: 387.480011} 532 | m_LocalScale: {x: 1, y: 1, z: 1} 533 | m_Children: [] 534 | m_Father: {fileID: 1207911001} 535 | m_RootOrder: 2 536 | --- !u!1 &726492553 537 | GameObject: 538 | m_ObjectHideFlags: 0 539 | m_PrefabParentObject: {fileID: 0} 540 | m_PrefabInternal: {fileID: 0} 541 | serializedVersion: 4 542 | m_Component: 543 | - 224: {fileID: 726492554} 544 | - 223: {fileID: 726492557} 545 | m_Layer: 5 546 | m_Name: Canvas 547 | m_TagString: Untagged 548 | m_Icon: {fileID: 0} 549 | m_NavMeshLayer: 0 550 | m_StaticEditorFlags: 0 551 | m_IsActive: 1 552 | --- !u!224 &726492554 553 | RectTransform: 554 | m_ObjectHideFlags: 0 555 | m_PrefabParentObject: {fileID: 0} 556 | m_PrefabInternal: {fileID: 0} 557 | m_GameObject: {fileID: 726492553} 558 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 559 | m_LocalPosition: {x: 0, y: 0, z: 0} 560 | m_LocalScale: {x: 0, y: 0, z: 0} 561 | m_Children: 562 | - {fileID: 1833462011} 563 | m_Father: {fileID: 0} 564 | m_RootOrder: 3 565 | m_AnchorMin: {x: 0, y: 0} 566 | m_AnchorMax: {x: 0, y: 0} 567 | m_AnchoredPosition: {x: 0, y: 0} 568 | m_SizeDelta: {x: 0, y: 0} 569 | m_Pivot: {x: 0, y: 0} 570 | --- !u!223 &726492557 571 | Canvas: 572 | m_ObjectHideFlags: 0 573 | m_PrefabParentObject: {fileID: 0} 574 | m_PrefabInternal: {fileID: 0} 575 | m_GameObject: {fileID: 726492553} 576 | m_Enabled: 1 577 | serializedVersion: 2 578 | m_RenderMode: 0 579 | m_Camera: {fileID: 0} 580 | m_PlaneDistance: 100 581 | m_PixelPerfect: 0 582 | m_ReceivesEvents: 1 583 | m_OverrideSorting: 0 584 | m_OverridePixelPerfect: 0 585 | m_SortingLayerID: 0 586 | m_SortingOrder: 0 587 | --- !u!1 &730616785 stripped 588 | GameObject: 589 | m_PrefabParentObject: {fileID: 100006, guid: 312abd0527754e047a6bfbc424f09ace, type: 2} 590 | m_PrefabInternal: {fileID: 153025984} 591 | --- !u!224 &730616786 stripped 592 | RectTransform: 593 | m_PrefabParentObject: {fileID: 22400006, guid: 312abd0527754e047a6bfbc424f09ace, 594 | type: 2} 595 | m_PrefabInternal: {fileID: 153025984} 596 | --- !u!114 &730616787 597 | MonoBehaviour: 598 | m_ObjectHideFlags: 0 599 | m_PrefabParentObject: {fileID: 0} 600 | m_PrefabInternal: {fileID: 0} 601 | m_GameObject: {fileID: 730616785} 602 | m_Enabled: 1 603 | m_EditorHideFlags: 0 604 | m_Script: {fileID: 11500000, guid: 12c783ec6a6aa61499a40bae9720648e, type: 3} 605 | m_Name: 606 | m_EditorClassIdentifier: 607 | console: {fileID: 730616789} 608 | mouseLook: {fileID: 0} 609 | wasdMovement: {fileID: 1550931510} 610 | --- !u!114 &730616789 stripped 611 | MonoBehaviour: 612 | m_PrefabParentObject: {fileID: 11400010, guid: 312abd0527754e047a6bfbc424f09ace, 613 | type: 2} 614 | m_PrefabInternal: {fileID: 153025984} 615 | m_Script: {fileID: 11500000, guid: 20aea41b5b8ab374cac1e515b4d75f17, type: 3} 616 | --- !u!1 &993156551 617 | GameObject: 618 | m_ObjectHideFlags: 0 619 | m_PrefabParentObject: {fileID: 0} 620 | m_PrefabInternal: {fileID: 0} 621 | serializedVersion: 4 622 | m_Component: 623 | - 4: {fileID: 993156554} 624 | - 218: {fileID: 993156553} 625 | - 154: {fileID: 993156552} 626 | m_Layer: 0 627 | m_Name: Terrain 628 | m_TagString: Untagged 629 | m_Icon: {fileID: 0} 630 | m_NavMeshLayer: 0 631 | m_StaticEditorFlags: 4294967295 632 | m_IsActive: 1 633 | --- !u!154 &993156552 634 | TerrainCollider: 635 | m_ObjectHideFlags: 0 636 | m_PrefabParentObject: {fileID: 0} 637 | m_PrefabInternal: {fileID: 0} 638 | m_GameObject: {fileID: 993156551} 639 | m_Material: {fileID: 0} 640 | m_Enabled: 1 641 | m_TerrainData: {fileID: 15600000, guid: 0cf5a468bf2b9f844b959f3368fc9c51, type: 2} 642 | m_EnableTreeColliders: 1 643 | --- !u!218 &993156553 644 | Terrain: 645 | m_ObjectHideFlags: 0 646 | m_PrefabParentObject: {fileID: 0} 647 | m_PrefabInternal: {fileID: 0} 648 | m_GameObject: {fileID: 993156551} 649 | m_Enabled: 1 650 | serializedVersion: 3 651 | m_TerrainData: {fileID: 15600000, guid: 0cf5a468bf2b9f844b959f3368fc9c51, type: 2} 652 | m_TreeDistance: 5000 653 | m_TreeBillboardDistance: 50 654 | m_TreeCrossFadeLength: 5 655 | m_TreeMaximumFullLODCount: 50 656 | m_DetailObjectDistance: 80 657 | m_DetailObjectDensity: 1 658 | m_HeightmapPixelError: 5 659 | m_SplatMapDistance: 1000 660 | m_HeightmapMaximumLOD: 0 661 | m_CastShadows: 1 662 | m_DrawHeightmap: 1 663 | m_DrawTreesAndFoliage: 1 664 | m_ReflectionProbeUsage: 1 665 | m_MaterialType: 1 666 | m_LegacySpecular: 667 | serializedVersion: 2 668 | rgba: 4286545791 669 | m_LegacyShininess: .078125 670 | m_MaterialTemplate: {fileID: 0} 671 | m_BakeLightProbesForTrees: 1 672 | m_ScaleInLightmap: 1 673 | m_LightmapParameters: {fileID: 15203, guid: 0000000000000000f000000000000000, type: 0} 674 | --- !u!4 &993156554 675 | Transform: 676 | m_ObjectHideFlags: 0 677 | m_PrefabParentObject: {fileID: 0} 678 | m_PrefabInternal: {fileID: 0} 679 | m_GameObject: {fileID: 993156551} 680 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 681 | m_LocalPosition: {x: 0, y: 0, z: 0} 682 | m_LocalScale: {x: 1, y: 1, z: 1} 683 | m_Children: [] 684 | m_Father: {fileID: 0} 685 | m_RootOrder: 1 686 | --- !u!1 &1207911000 687 | GameObject: 688 | m_ObjectHideFlags: 0 689 | m_PrefabParentObject: {fileID: 0} 690 | m_PrefabInternal: {fileID: 0} 691 | serializedVersion: 4 692 | m_Component: 693 | - 4: {fileID: 1207911001} 694 | m_Layer: 0 695 | m_Name: Props 696 | m_TagString: Untagged 697 | m_Icon: {fileID: 0} 698 | m_NavMeshLayer: 0 699 | m_StaticEditorFlags: 0 700 | m_IsActive: 1 701 | --- !u!4 &1207911001 702 | Transform: 703 | m_ObjectHideFlags: 0 704 | m_PrefabParentObject: {fileID: 0} 705 | m_PrefabInternal: {fileID: 0} 706 | m_GameObject: {fileID: 1207911000} 707 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 708 | m_LocalPosition: {x: 0, y: 0, z: 0} 709 | m_LocalScale: {x: 1, y: 1, z: 1} 710 | m_Children: 711 | - {fileID: 375463409} 712 | - {fileID: 1376299425} 713 | - {fileID: 711778349} 714 | - {fileID: 377237377} 715 | - {fileID: 1663576380} 716 | - {fileID: 302516680} 717 | m_Father: {fileID: 0} 718 | m_RootOrder: 0 719 | --- !u!1 &1376299420 720 | GameObject: 721 | m_ObjectHideFlags: 0 722 | m_PrefabParentObject: {fileID: 0} 723 | m_PrefabInternal: {fileID: 0} 724 | serializedVersion: 4 725 | m_Component: 726 | - 4: {fileID: 1376299425} 727 | - 33: {fileID: 1376299424} 728 | - 65: {fileID: 1376299423} 729 | - 23: {fileID: 1376299422} 730 | m_Layer: 0 731 | m_Name: Cube 732 | m_TagString: Untagged 733 | m_Icon: {fileID: 0} 734 | m_NavMeshLayer: 0 735 | m_StaticEditorFlags: 0 736 | m_IsActive: 1 737 | --- !u!23 &1376299422 738 | MeshRenderer: 739 | m_ObjectHideFlags: 0 740 | m_PrefabParentObject: {fileID: 0} 741 | m_PrefabInternal: {fileID: 0} 742 | m_GameObject: {fileID: 1376299420} 743 | m_Enabled: 1 744 | m_CastShadows: 1 745 | m_ReceiveShadows: 1 746 | m_Materials: 747 | - {fileID: 2100000, guid: 799ddde0712b42b4f95246a57a8a29d8, type: 2} 748 | m_SubsetIndices: 749 | m_StaticBatchRoot: {fileID: 0} 750 | m_UseLightProbes: 0 751 | m_ReflectionProbeUsage: 1 752 | m_ProbeAnchor: {fileID: 0} 753 | m_ScaleInLightmap: 1 754 | m_PreserveUVs: 0 755 | m_ImportantGI: 0 756 | m_AutoUVMaxDistance: .5 757 | m_AutoUVMaxAngle: 89 758 | m_LightmapParameters: {fileID: 0} 759 | m_SortingLayerID: 0 760 | m_SortingOrder: 0 761 | --- !u!65 &1376299423 762 | BoxCollider: 763 | m_ObjectHideFlags: 0 764 | m_PrefabParentObject: {fileID: 0} 765 | m_PrefabInternal: {fileID: 0} 766 | m_GameObject: {fileID: 1376299420} 767 | m_Material: {fileID: 0} 768 | m_IsTrigger: 0 769 | m_Enabled: 1 770 | serializedVersion: 2 771 | m_Size: {x: 1, y: 1, z: 1} 772 | m_Center: {x: 0, y: 0, z: 0} 773 | --- !u!33 &1376299424 774 | MeshFilter: 775 | m_ObjectHideFlags: 0 776 | m_PrefabParentObject: {fileID: 0} 777 | m_PrefabInternal: {fileID: 0} 778 | m_GameObject: {fileID: 1376299420} 779 | m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} 780 | --- !u!4 &1376299425 781 | Transform: 782 | m_ObjectHideFlags: 0 783 | m_PrefabParentObject: {fileID: 0} 784 | m_PrefabInternal: {fileID: 0} 785 | m_GameObject: {fileID: 1376299420} 786 | m_LocalRotation: {x: .706373453, y: -.0321294889, z: .0320914239, w: .706381202} 787 | m_LocalPosition: {x: 1037.5, y: .480040014, z: 388.179993} 788 | m_LocalScale: {x: 1, y: 1, z: 1} 789 | m_Children: [] 790 | m_Father: {fileID: 1207911001} 791 | m_RootOrder: 1 792 | --- !u!1 &1484752347 793 | GameObject: 794 | m_ObjectHideFlags: 0 795 | m_PrefabParentObject: {fileID: 0} 796 | m_PrefabInternal: {fileID: 0} 797 | serializedVersion: 4 798 | m_Component: 799 | - 4: {fileID: 1484752351} 800 | - 114: {fileID: 1484752350} 801 | - 114: {fileID: 1484752349} 802 | - 114: {fileID: 1484752348} 803 | m_Layer: 0 804 | m_Name: EventSystem 805 | m_TagString: Untagged 806 | m_Icon: {fileID: 0} 807 | m_NavMeshLayer: 0 808 | m_StaticEditorFlags: 0 809 | m_IsActive: 1 810 | --- !u!114 &1484752348 811 | MonoBehaviour: 812 | m_ObjectHideFlags: 0 813 | m_PrefabParentObject: {fileID: 0} 814 | m_PrefabInternal: {fileID: 0} 815 | m_GameObject: {fileID: 1484752347} 816 | m_Enabled: 1 817 | m_EditorHideFlags: 0 818 | m_Script: {fileID: 1997211142, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} 819 | m_Name: 820 | m_EditorClassIdentifier: 821 | m_AllowActivationOnStandalone: 0 822 | --- !u!114 &1484752349 823 | MonoBehaviour: 824 | m_ObjectHideFlags: 0 825 | m_PrefabParentObject: {fileID: 0} 826 | m_PrefabInternal: {fileID: 0} 827 | m_GameObject: {fileID: 1484752347} 828 | m_Enabled: 1 829 | m_EditorHideFlags: 0 830 | m_Script: {fileID: 1077351063, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} 831 | m_Name: 832 | m_EditorClassIdentifier: 833 | m_HorizontalAxis: Horizontal 834 | m_VerticalAxis: Vertical 835 | m_SubmitButton: Submit 836 | m_CancelButton: Cancel 837 | m_InputActionsPerSecond: 10 838 | m_AllowActivationOnMobileDevice: 0 839 | --- !u!114 &1484752350 840 | MonoBehaviour: 841 | m_ObjectHideFlags: 0 842 | m_PrefabParentObject: {fileID: 0} 843 | m_PrefabInternal: {fileID: 0} 844 | m_GameObject: {fileID: 1484752347} 845 | m_Enabled: 1 846 | m_EditorHideFlags: 0 847 | m_Script: {fileID: -619905303, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} 848 | m_Name: 849 | m_EditorClassIdentifier: 850 | m_FirstSelected: {fileID: 0} 851 | m_sendNavigationEvents: 1 852 | m_DragThreshold: 5 853 | --- !u!4 &1484752351 854 | Transform: 855 | m_ObjectHideFlags: 0 856 | m_PrefabParentObject: {fileID: 0} 857 | m_PrefabInternal: {fileID: 0} 858 | m_GameObject: {fileID: 1484752347} 859 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 860 | m_LocalPosition: {x: 0, y: 0, z: 0} 861 | m_LocalScale: {x: 1, y: 1, z: 1} 862 | m_Children: [] 863 | m_Father: {fileID: 0} 864 | m_RootOrder: 4 865 | --- !u!1 &1550931502 866 | GameObject: 867 | m_ObjectHideFlags: 0 868 | m_PrefabParentObject: {fileID: 0} 869 | m_PrefabInternal: {fileID: 0} 870 | serializedVersion: 4 871 | m_Component: 872 | - 4: {fileID: 1550931507} 873 | - 20: {fileID: 1550931506} 874 | - 92: {fileID: 1550931505} 875 | - 124: {fileID: 1550931504} 876 | - 81: {fileID: 1550931503} 877 | - 114: {fileID: 1550931509} 878 | - 114: {fileID: 1550931510} 879 | m_Layer: 0 880 | m_Name: Main Camera 881 | m_TagString: MainCamera 882 | m_Icon: {fileID: 0} 883 | m_NavMeshLayer: 0 884 | m_StaticEditorFlags: 0 885 | m_IsActive: 1 886 | --- !u!81 &1550931503 887 | AudioListener: 888 | m_ObjectHideFlags: 0 889 | m_PrefabParentObject: {fileID: 0} 890 | m_PrefabInternal: {fileID: 0} 891 | m_GameObject: {fileID: 1550931502} 892 | m_Enabled: 1 893 | --- !u!124 &1550931504 894 | Behaviour: 895 | m_ObjectHideFlags: 0 896 | m_PrefabParentObject: {fileID: 0} 897 | m_PrefabInternal: {fileID: 0} 898 | m_GameObject: {fileID: 1550931502} 899 | m_Enabled: 1 900 | --- !u!92 &1550931505 901 | Behaviour: 902 | m_ObjectHideFlags: 0 903 | m_PrefabParentObject: {fileID: 0} 904 | m_PrefabInternal: {fileID: 0} 905 | m_GameObject: {fileID: 1550931502} 906 | m_Enabled: 1 907 | --- !u!20 &1550931506 908 | Camera: 909 | m_ObjectHideFlags: 0 910 | m_PrefabParentObject: {fileID: 0} 911 | m_PrefabInternal: {fileID: 0} 912 | m_GameObject: {fileID: 1550931502} 913 | m_Enabled: 1 914 | serializedVersion: 2 915 | m_ClearFlags: 1 916 | m_BackGroundColor: {r: .192156866, g: .301960796, b: .474509805, a: .0196078438} 917 | m_NormalizedViewPortRect: 918 | serializedVersion: 2 919 | x: 0 920 | y: 0 921 | width: 1 922 | height: 1 923 | near clip plane: .300000012 924 | far clip plane: 1000 925 | field of view: 60 926 | orthographic: 0 927 | orthographic size: 5 928 | m_Depth: -1 929 | m_CullingMask: 930 | serializedVersion: 2 931 | m_Bits: 4294967295 932 | m_RenderingPath: -1 933 | m_TargetTexture: {fileID: 0} 934 | m_TargetDisplay: 0 935 | m_HDR: 0 936 | m_OcclusionCulling: 1 937 | m_StereoConvergence: 10 938 | m_StereoSeparation: .0219999999 939 | --- !u!4 &1550931507 940 | Transform: 941 | m_ObjectHideFlags: 0 942 | m_PrefabParentObject: {fileID: 0} 943 | m_PrefabInternal: {fileID: 0} 944 | m_GameObject: {fileID: 1550931502} 945 | m_LocalRotation: {x: 0, y: -.122190833, z: 0, w: .992506683} 946 | m_LocalPosition: {x: 1035.42004, y: 1.5, z: 382.149994} 947 | m_LocalScale: {x: 1, y: 1, z: 1} 948 | m_Children: [] 949 | m_Father: {fileID: 0} 950 | m_RootOrder: 5 951 | --- !u!114 &1550931509 952 | MonoBehaviour: 953 | m_ObjectHideFlags: 0 954 | m_PrefabParentObject: {fileID: 0} 955 | m_PrefabInternal: {fileID: 0} 956 | m_GameObject: {fileID: 1550931502} 957 | m_Enabled: 1 958 | m_EditorHideFlags: 0 959 | m_Script: {fileID: 11500000, guid: 3dbf6cfd1c1d01a42a62d97e86b60749, type: 3} 960 | m_Name: 961 | m_EditorClassIdentifier: 962 | axes: 0 963 | sensitivityX: 5 964 | sensitivityY: 5 965 | minimumX: -360 966 | maximumX: 360 967 | minimumY: -80 968 | maximumY: 80 969 | --- !u!114 &1550931510 970 | MonoBehaviour: 971 | m_ObjectHideFlags: 0 972 | m_PrefabParentObject: {fileID: 0} 973 | m_PrefabInternal: {fileID: 0} 974 | m_GameObject: {fileID: 1550931502} 975 | m_Enabled: 1 976 | m_EditorHideFlags: 0 977 | m_Script: {fileID: 11500000, guid: be55439ff6aee1e49a7114e51bc202f5, type: 3} 978 | m_Name: 979 | m_EditorClassIdentifier: 980 | speed: .0500000007 981 | --- !u!1 &1663576378 982 | GameObject: 983 | m_ObjectHideFlags: 0 984 | m_PrefabParentObject: {fileID: 0} 985 | m_PrefabInternal: {fileID: 0} 986 | serializedVersion: 4 987 | m_Component: 988 | - 4: {fileID: 1663576380} 989 | - 108: {fileID: 1663576379} 990 | m_Layer: 0 991 | m_Name: Point light 992 | m_TagString: Untagged 993 | m_Icon: {fileID: 0} 994 | m_NavMeshLayer: 0 995 | m_StaticEditorFlags: 0 996 | m_IsActive: 1 997 | --- !u!108 &1663576379 998 | Light: 999 | m_ObjectHideFlags: 0 1000 | m_PrefabParentObject: {fileID: 0} 1001 | m_PrefabInternal: {fileID: 0} 1002 | m_GameObject: {fileID: 1663576378} 1003 | m_Enabled: 1 1004 | serializedVersion: 6 1005 | m_Type: 2 1006 | m_Color: {r: 1, g: 1, b: 1, a: 1} 1007 | m_Intensity: 3.88000011 1008 | m_Range: 10 1009 | m_SpotAngle: 30 1010 | m_CookieSize: 10 1011 | m_Shadows: 1012 | m_Type: 0 1013 | m_Resolution: -1 1014 | m_Strength: 1 1015 | m_Bias: .0500000007 1016 | m_NormalBias: .400000006 1017 | m_Cookie: {fileID: 0} 1018 | m_DrawHalo: 0 1019 | m_Flare: {fileID: 0} 1020 | m_RenderMode: 0 1021 | m_CullingMask: 1022 | serializedVersion: 2 1023 | m_Bits: 4294967295 1024 | m_Lightmapping: 1 1025 | m_BounceIntensity: 1 1026 | m_ShadowRadius: 0 1027 | m_ShadowAngle: 0 1028 | m_AreaSize: {x: 1, y: 1} 1029 | --- !u!4 &1663576380 1030 | Transform: 1031 | m_ObjectHideFlags: 0 1032 | m_PrefabParentObject: {fileID: 0} 1033 | m_PrefabInternal: {fileID: 0} 1034 | m_GameObject: {fileID: 1663576378} 1035 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 1036 | m_LocalPosition: {x: 1037.69995, y: 5.09700012, z: 384.100006} 1037 | m_LocalScale: {x: 1, y: 1, z: 1} 1038 | m_Children: [] 1039 | m_Father: {fileID: 1207911001} 1040 | m_RootOrder: 4 1041 | --- !u!1 &1833462010 1042 | GameObject: 1043 | m_ObjectHideFlags: 0 1044 | m_PrefabParentObject: {fileID: 0} 1045 | m_PrefabInternal: {fileID: 0} 1046 | serializedVersion: 4 1047 | m_Component: 1048 | - 224: {fileID: 1833462011} 1049 | - 222: {fileID: 1833462013} 1050 | - 114: {fileID: 1833462012} 1051 | - 114: {fileID: 1833462014} 1052 | m_Layer: 5 1053 | m_Name: Cursor 1054 | m_TagString: Untagged 1055 | m_Icon: {fileID: 0} 1056 | m_NavMeshLayer: 0 1057 | m_StaticEditorFlags: 0 1058 | m_IsActive: 1 1059 | --- !u!224 &1833462011 1060 | RectTransform: 1061 | m_ObjectHideFlags: 0 1062 | m_PrefabParentObject: {fileID: 0} 1063 | m_PrefabInternal: {fileID: 0} 1064 | m_GameObject: {fileID: 1833462010} 1065 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 1066 | m_LocalPosition: {x: 0, y: 0, z: 0} 1067 | m_LocalScale: {x: 1, y: 1, z: 1} 1068 | m_Children: [] 1069 | m_Father: {fileID: 726492554} 1070 | m_RootOrder: 0 1071 | m_AnchorMin: {x: .5, y: .5} 1072 | m_AnchorMax: {x: .5, y: .5} 1073 | m_AnchoredPosition: {x: 0, y: 18} 1074 | m_SizeDelta: {x: 9, y: 9} 1075 | m_Pivot: {x: .5, y: .5} 1076 | --- !u!114 &1833462012 1077 | MonoBehaviour: 1078 | m_ObjectHideFlags: 0 1079 | m_PrefabParentObject: {fileID: 0} 1080 | m_PrefabInternal: {fileID: 0} 1081 | m_GameObject: {fileID: 1833462010} 1082 | m_Enabled: 1 1083 | m_EditorHideFlags: 0 1084 | m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} 1085 | m_Name: 1086 | m_EditorClassIdentifier: 1087 | m_Material: {fileID: 0} 1088 | m_Color: {r: 1, g: 0, b: 0, a: 1} 1089 | m_Sprite: {fileID: 10913, guid: 0000000000000000f000000000000000, type: 0} 1090 | m_Type: 0 1091 | m_PreserveAspect: 0 1092 | m_FillCenter: 1 1093 | m_FillMethod: 4 1094 | m_FillAmount: 1 1095 | m_FillClockwise: 1 1096 | m_FillOrigin: 0 1097 | --- !u!222 &1833462013 1098 | CanvasRenderer: 1099 | m_ObjectHideFlags: 0 1100 | m_PrefabParentObject: {fileID: 0} 1101 | m_PrefabInternal: {fileID: 0} 1102 | m_GameObject: {fileID: 1833462010} 1103 | --- !u!114 &1833462014 1104 | MonoBehaviour: 1105 | m_ObjectHideFlags: 0 1106 | m_PrefabParentObject: {fileID: 0} 1107 | m_PrefabInternal: {fileID: 0} 1108 | m_GameObject: {fileID: 1833462010} 1109 | m_Enabled: 1 1110 | m_EditorHideFlags: 0 1111 | m_Script: {fileID: 11500000, guid: 734fb490c79cd2649b1af5f418540e94, type: 3} 1112 | m_Name: 1113 | m_EditorClassIdentifier: 1114 | --- !u!1 &1915241394 1115 | GameObject: 1116 | m_ObjectHideFlags: 0 1117 | m_PrefabParentObject: {fileID: 0} 1118 | m_PrefabInternal: {fileID: 0} 1119 | serializedVersion: 4 1120 | m_Component: 1121 | - 224: {fileID: 1915241395} 1122 | - 222: {fileID: 1915241397} 1123 | - 114: {fileID: 1915241396} 1124 | m_Layer: 5 1125 | m_Name: Text 1126 | m_TagString: Untagged 1127 | m_Icon: {fileID: 0} 1128 | m_NavMeshLayer: 0 1129 | m_StaticEditorFlags: 0 1130 | m_IsActive: 1 1131 | --- !u!224 &1915241395 1132 | RectTransform: 1133 | m_ObjectHideFlags: 0 1134 | m_PrefabParentObject: {fileID: 0} 1135 | m_PrefabInternal: {fileID: 0} 1136 | m_GameObject: {fileID: 1915241394} 1137 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 1138 | m_LocalPosition: {x: 0, y: 0, z: 0} 1139 | m_LocalScale: {x: 1, y: 1, z: 1} 1140 | m_Children: [] 1141 | m_Father: {fileID: 702712916} 1142 | m_RootOrder: 0 1143 | m_AnchorMin: {x: 0, y: 1} 1144 | m_AnchorMax: {x: 1, y: 1} 1145 | m_AnchoredPosition: {x: -9.53674316e-07, y: -32} 1146 | m_SizeDelta: {x: -64, y: 166.529999} 1147 | m_Pivot: {x: .5, y: 1.00000024} 1148 | --- !u!114 &1915241396 1149 | MonoBehaviour: 1150 | m_ObjectHideFlags: 0 1151 | m_PrefabParentObject: {fileID: 0} 1152 | m_PrefabInternal: {fileID: 0} 1153 | m_GameObject: {fileID: 1915241394} 1154 | m_Enabled: 1 1155 | m_EditorHideFlags: 0 1156 | m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} 1157 | m_Name: 1158 | m_EditorClassIdentifier: 1159 | m_Material: {fileID: 0} 1160 | m_Color: {r: 1, g: 1, b: 1, a: 1} 1161 | m_FontData: 1162 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} 1163 | m_FontSize: 32 1164 | m_FontStyle: 0 1165 | m_BestFit: 0 1166 | m_MinSize: 10 1167 | m_MaxSize: 40 1168 | m_Alignment: 0 1169 | m_RichText: 1 1170 | m_HorizontalOverflow: 0 1171 | m_VerticalOverflow: 0 1172 | m_LineSpacing: 1.5 1173 | m_Text: To work in world space, simply place the console in a world space canvas. 1174 | If you use mouse look, you might want to lock the cursor. See LockedCursor.cs. 1175 | --- !u!222 &1915241397 1176 | CanvasRenderer: 1177 | m_ObjectHideFlags: 0 1178 | m_PrefabParentObject: {fileID: 0} 1179 | m_PrefabInternal: {fileID: 0} 1180 | m_GameObject: {fileID: 1915241394} 1181 | -------------------------------------------------------------------------------- /Samples/Scenes/WorldSpaceSample.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a8dc84f0c00b6ac46bd35c064d6ccaad 3 | DefaultImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Samples/Scripts.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2ac9f518eae93dd4dab7fc350ed4bbec 3 | folderAsset: yes 4 | DefaultImporter: 5 | userData: 6 | -------------------------------------------------------------------------------- /Samples/Scripts/CustomCommands.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using System; 3 | using Wenzil.Console; 4 | using Wenzil.Console.Commands; 5 | 6 | /// 7 | /// Two custom commands being registered with the console. Registered commands persist between scenes but don't persist between multiple application executions. 8 | /// 9 | public class CustomCommands : MonoBehaviour 10 | { 11 | void Start() 12 | { 13 | ConsoleCommandsDatabase.RegisterCommand("SPAWN", "Spawn a new game object from the given name and primitve type in front of the main camera. See PrimitiveType.", "SPAWN name primitiveType", Spawn); 14 | ConsoleCommandsDatabase.RegisterCommand("DESTROY", "Destroy the specified game object by name.", "DESTROY gameobject", Destroy); 15 | } 16 | 17 | /// 18 | /// Spawn a new game object from the given name and primitve type in front of the main camera. See PrimitiveType. 19 | /// 20 | private static string Spawn(params string[] args) 21 | { 22 | string name; 23 | PrimitiveType primitiveType; 24 | GameObject spawned; 25 | 26 | if(args.Length < 2) 27 | { 28 | return HelpCommand.Execute("SPAWN"); 29 | } 30 | else 31 | { 32 | name = args[0]; 33 | try 34 | { 35 | primitiveType = (PrimitiveType) Enum.Parse(typeof(PrimitiveType), args[1], true); 36 | } 37 | catch 38 | { 39 | return "Invalid primitive type specified: " + args[1]; 40 | } 41 | 42 | spawned = GameObject.CreatePrimitive(primitiveType); 43 | spawned.name = name; 44 | spawned.transform.position = Camera.main.transform.position + Camera.main.transform.forward * 5; 45 | return "Spawned a new " + primitiveType + " named " + name + "."; 46 | } 47 | } 48 | 49 | /// 50 | /// Destroy the specified game object by name. 51 | /// 52 | private static string Destroy(params string[] args) 53 | { 54 | if (args.Length == 0) 55 | { 56 | return HelpCommand.Execute("DESTROY"); 57 | } 58 | else 59 | { 60 | string name = args[0]; 61 | GameObject gameobject = GameObject.Find(name); 62 | 63 | if (gameobject != null) 64 | { 65 | GameObject.Destroy(gameobject); 66 | return "Destroyed game object " + name + "."; 67 | } 68 | else 69 | { 70 | return "No game object named " + name + "."; 71 | } 72 | } 73 | } 74 | } -------------------------------------------------------------------------------- /Samples/Scripts/CustomCommands.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 08a07bac799ec7d44a9e2e9a138be882 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /Samples/Scripts/LockedCursor.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using UnityEngine.UI; 3 | 4 | /// 5 | /// Hide the default mouse cursor and show a centered pointer instead. Useful in conjunction with MouseLook and world space UI. 6 | /// 7 | public class LockedCursor : MonoBehaviour 8 | { 9 | private Graphic cursorGraphic; 10 | 11 | void Start() 12 | { 13 | cursorGraphic = GetComponent(); 14 | cursorGraphic.enabled = false; 15 | } 16 | 17 | void Update() 18 | { 19 | if (Input.GetKeyDown(KeyCode.Escape)) 20 | UnlockCursor(); 21 | else if (Input.GetMouseButtonUp(0)) 22 | LockCursor(); 23 | } 24 | 25 | private void LockCursor() 26 | { 27 | Cursor.lockState = CursorLockMode.Locked; 28 | Cursor.visible = false; 29 | cursorGraphic.enabled = true; 30 | } 31 | 32 | private void UnlockCursor() 33 | { 34 | Cursor.lockState = CursorLockMode.None; 35 | Cursor.visible = true; 36 | cursorGraphic.enabled = false; 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /Samples/Scripts/LockedCursor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 734fb490c79cd2649b1af5f418540e94 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /Samples/Scripts/MouseLook.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using System.Collections; 3 | 4 | /// MouseLook rotates the transform based on the mouse delta. 5 | /// Minimum and Maximum values can be used to constrain the possible rotation 6 | 7 | /// To make an FPS style character: 8 | /// - Create a capsule. 9 | /// - Add a rigid body to the capsule 10 | /// - Add the MouseLook script to the capsule. 11 | /// -> Set the mouse look to use LookX. (You want to only turn character but not tilt it) 12 | /// - Add FPSWalker script to the capsule 13 | 14 | /// - Create a camera. Make the camera a child of the capsule. Reset it's transform. 15 | /// - Add a MouseLook script to the camera. 16 | /// -> Set the mouse look to use LookY. (You want the camera to tilt up and down like a head. The character already turns.) 17 | [AddComponentMenu("Camera-Control/Mouse Look")] 18 | public class MouseLook : MonoBehaviour 19 | { 20 | public enum RotationAxes { MouseXAndY = 0, MouseX = 1, MouseY = 2 } 21 | public RotationAxes axes = RotationAxes.MouseXAndY; 22 | public float sensitivityX = 15F; 23 | public float sensitivityY = 15F; 24 | 25 | public float minimumX = -360F; 26 | public float maximumX = 360F; 27 | 28 | public float minimumY = -60F; 29 | public float maximumY = 60F; 30 | 31 | float rotationX = 0F; 32 | float rotationY = 0F; 33 | 34 | Quaternion originalRotation; 35 | 36 | void Update() 37 | { 38 | if (axes == RotationAxes.MouseXAndY) 39 | { 40 | // Read the mouse input axis 41 | rotationX += Input.GetAxis("Mouse X") * sensitivityX; 42 | rotationY += Input.GetAxis("Mouse Y") * sensitivityY; 43 | 44 | rotationX = ClampAngle(rotationX, minimumX, maximumX); 45 | rotationY = ClampAngle(rotationY, minimumY, maximumY); 46 | 47 | Quaternion xQuaternion = Quaternion.AngleAxis(rotationX, Vector3.up); 48 | Quaternion yQuaternion = Quaternion.AngleAxis(rotationY, -Vector3.right); 49 | 50 | transform.localRotation = originalRotation * xQuaternion * yQuaternion; 51 | } 52 | else if (axes == RotationAxes.MouseX) 53 | { 54 | rotationX += Input.GetAxis("Mouse X") * sensitivityX; 55 | rotationX = ClampAngle(rotationX, minimumX, maximumX); 56 | 57 | Quaternion xQuaternion = Quaternion.AngleAxis(rotationX, Vector3.up); 58 | transform.localRotation = originalRotation * xQuaternion; 59 | } 60 | else 61 | { 62 | rotationY += Input.GetAxis("Mouse Y") * sensitivityY; 63 | rotationY = ClampAngle(rotationY, minimumY, maximumY); 64 | 65 | Quaternion yQuaternion = Quaternion.AngleAxis(-rotationY, Vector3.right); 66 | transform.localRotation = originalRotation * yQuaternion; 67 | } 68 | } 69 | 70 | void Start() 71 | { 72 | // Make the rigid body not change rotation 73 | var rigidbody = GetComponent(); 74 | if (rigidbody != null) 75 | rigidbody.freezeRotation = true; 76 | originalRotation = transform.localRotation; 77 | } 78 | 79 | public static float ClampAngle(float angle, float min, float max) 80 | { 81 | if (angle < -360F) 82 | angle += 360F; 83 | if (angle > 360F) 84 | angle -= 360F; 85 | return Mathf.Clamp(angle, min, max); 86 | } 87 | } -------------------------------------------------------------------------------- /Samples/Scripts/MouseLook.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3dbf6cfd1c1d01a42a62d97e86b60749 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /Samples/Scripts/ToggleGameControlsOnConsoleToggle.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using Wenzil.Console; 3 | 4 | /// 5 | /// A special utility class that revokes user controls whenever the console is open. Very game-specific. 6 | /// 7 | public class ToggleGameControlsOnConsoleToggle : MonoBehaviour 8 | { 9 | public ConsoleUI console; 10 | public MouseLook mouseLook; 11 | public WASDMovement wasdMovement; 12 | 13 | void OnEnable() 14 | { 15 | console.onToggleConsole += ToggleMouseLook; 16 | ToggleMouseLook(console.isConsoleOpen); 17 | } 18 | 19 | void OnDisable() 20 | { 21 | console.onToggleConsole -= ToggleMouseLook; 22 | ToggleMouseLook(false); 23 | } 24 | 25 | private void ToggleMouseLook(bool isConsoleOpen) 26 | { 27 | if(mouseLook != null) 28 | mouseLook.enabled = !isConsoleOpen; 29 | 30 | if(wasdMovement != null) 31 | wasdMovement.enabled = !isConsoleOpen; 32 | } 33 | } -------------------------------------------------------------------------------- /Samples/Scripts/ToggleGameControlsOnConsoleToggle.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 12c783ec6a6aa61499a40bae9720648e 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /Samples/Scripts/WASDMovement.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using System.Collections; 3 | 4 | /// 5 | /// Very basic player controls. 6 | /// 7 | public class WASDMovement : MonoBehaviour 8 | { 9 | public float speed = 1; 10 | 11 | void Update () 12 | { 13 | Vector3 direction = Vector3.zero; 14 | 15 | if (Input.GetKey(KeyCode.W)) 16 | direction += Vector3.forward; 17 | if (Input.GetKey(KeyCode.S)) 18 | direction += Vector3.back; 19 | if (Input.GetKey(KeyCode.D)) 20 | direction += Vector3.right; 21 | if (Input.GetKey(KeyCode.A)) 22 | direction += Vector3.left; 23 | 24 | direction = transform.TransformDirection(direction); 25 | direction.y = 0; 26 | direction.Normalize(); 27 | 28 | transform.position += direction * speed; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /Samples/Scripts/WASDMovement.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: be55439ff6aee1e49a7114e51bc202f5 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /Samples/Terrain.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wenzil/UnityConsole/b9fbb7f42e03e5cd55416973a4740150fb22089f/Samples/Terrain.asset -------------------------------------------------------------------------------- /Samples/Terrain.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0cf5a468bf2b9f844b959f3368fc9c51 3 | NativeFormatImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /UnityConsole.unitypackage: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wenzil/UnityConsole/b9fbb7f42e03e5cd55416973a4740150fb22089f/UnityConsole.unitypackage -------------------------------------------------------------------------------- /UnityConsole.unitypackage.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f06a2a62da2df3648a06f74105d2ce7d 3 | DefaultImporter: 4 | userData: 5 | --------------------------------------------------------------------------------