Updated change log.
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,11 @@
# Build Folders (you can keep bin if you'd like, to store dlls and pdbs)
[Bb]in/
[Oo]bj/
+
+# Unity specific
+[Ll]ibrary/
+[Tt]emp/
+*.unityproj
# mstest test results
TestResults
Binary files a/Assets/CurseLogo.png and /dev/null differ
Binary files a/Assets/CurseLogo.psd and /dev/null differ
Binary files a/Assets/DropDownBackground.psd and /dev/null differ
Binary files /dev/null and b/Assets/Images/app-launcher-icon.psd differ
Binary files /dev/null and b/Assets/Images/flight-menu-background.psd differ
Binary files /dev/null and b/Assets/Images/ui-drop-down.psd differ
Binary files /dev/null and b/Assets/Plugins/KerbalEngineer.Unity.dll differ
--- /dev/null
+++ b/Assets/Prefabs/FlightMenu.prefab
@@ -1,1 +1,1317 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &104452
+GameObject:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ serializedVersion: 4
+ m_Component:
+ - 224: {fileID: 22454998}
+ - 222: {fileID: 22296168}
+ - 114: {fileID: 11459182}
+ m_Layer: 5
+ m_Name: Selected
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!1 &114528
+GameObject:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ serializedVersion: 4
+ m_Component:
+ - 224: {fileID: 22468796}
+ - 222: {fileID: 22254028}
+ - 114: {fileID: 11494262}
+ - 114: {fileID: 11482720}
+ - 114: {fileID: 11400468}
+ m_Layer: 5
+ m_Name: ToggleControlBar
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!1 &116014
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ serializedVersion: 4
+ m_Component:
+ - 224: {fileID: 22475412}
+ - 222: {fileID: 22223226}
+ - 114: {fileID: 11424646}
+ m_Layer: 5
+ m_Name: Content
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!1 &122098
+GameObject:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ serializedVersion: 4
+ m_Component:
+ - 224: {fileID: 22401100}
+ - 222: {fileID: 22201528}
+ - 114: {fileID: 11404586}
+ - 114: {fileID: 11461688}
+ - 114: {fileID: 11420706}
+ - 114: {fileID: 11482140}
+ m_Layer: 5
+ m_Name: NewCustomSection
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!1 &126098
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ serializedVersion: 4
+ m_Component:
+ - 224: {fileID: 22476196}
+ - 222: {fileID: 22270862}
+ - 114: {fileID: 11423044}
+ - 114: {fileID: 11485532}
+ - 225: {fileID: 22567868}
+ - 114: {fileID: 11415294}
+ - 114: {fileID: 11447982}
+ - 114: {fileID: 11478508}
+ m_Layer: 5
+ m_Name: FlightMenu
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!1 &133376
+GameObject:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ serializedVersion: 4
+ m_Component:
+ - 224: {fileID: 22478174}
+ - 114: {fileID: 11443382}
+ m_Layer: 5
+ m_Name: Controls
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!1 &137786
+GameObject:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ serializedVersion: 4
+ m_Component:
+ - 224: {fileID: 22444606}
+ - 222: {fileID: 22267348}
+ - 114: {fileID: 11465882}
+ m_Layer: 5
+ m_Name: Text
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!1 &138760
+GameObject:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ serializedVersion: 4
+ m_Component:
+ - 224: {fileID: 22409936}
+ - 222: {fileID: 22255938}
+ - 114: {fileID: 11403342}
+ m_Layer: 5
+ m_Name: Text
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!1 &150266
+GameObject:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ serializedVersion: 4
+ m_Component:
+ - 224: {fileID: 22463980}
+ - 222: {fileID: 22210360}
+ - 114: {fileID: 11475868}
+ m_Layer: 5
+ m_Name: Selected
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!1 &156848
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ serializedVersion: 4
+ m_Component:
+ - 224: {fileID: 22483410}
+ - 222: {fileID: 22267572}
+ - 114: {fileID: 11463504}
+ - 114: {fileID: 11453198}
+ - 114: {fileID: 11400370}
+ m_Layer: 5
+ m_Name: Titlebar
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!1 &157290
+GameObject:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ serializedVersion: 4
+ m_Component:
+ - 224: {fileID: 22435482}
+ - 114: {fileID: 11462752}
+ - 114: {fileID: 11483978}
+ m_Layer: 5
+ m_Name: Sections
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!1 &172308
+GameObject:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ serializedVersion: 4
+ m_Component:
+ - 224: {fileID: 22401786}
+ - 222: {fileID: 22247322}
+ - 114: {fileID: 11439582}
+ m_Layer: 5
+ m_Name: label
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!1 &193852
+GameObject:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ serializedVersion: 4
+ m_Component:
+ - 224: {fileID: 22411946}
+ - 222: {fileID: 22255200}
+ - 114: {fileID: 11465050}
+ m_Layer: 5
+ m_Name: Text
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!1 &194088
+GameObject:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ serializedVersion: 4
+ m_Component:
+ - 224: {fileID: 22469574}
+ - 222: {fileID: 22281674}
+ - 114: {fileID: 11498756}
+ - 114: {fileID: 11483870}
+ - 114: {fileID: 11489252}
+ m_Layer: 5
+ m_Name: ToggleShowEngineer
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &11400370
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 156848}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 323546239, guid: 4ffb1bf511e31af45bdeaa3d272d49d4, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_ElementType: 1
+--- !u!114 &11400468
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 114528}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 2109663825, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 0
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: .960784316, g: .960784316, b: .960784316, a: 1}
+ m_PressedColor: {r: .784313738, g: .784313738, b: .784313738, a: 1}
+ m_DisabledColor: {r: .784313738, g: .784313738, b: .784313738, a: .501960814}
+ m_ColorMultiplier: 1
+ m_FadeDuration: .100000001
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 11494262}
+ toggleTransition: 0
+ graphic: {fileID: 11459182}
+ m_Group: {fileID: 0}
+ onValueChanged:
+ m_PersistentCalls:
+ m_Calls:
+ - m_Target: {fileID: 11415294}
+ m_MethodName: SetControlBarVisible
+ m_Mode: 0
+ m_Arguments:
+ m_ObjectArgument: {fileID: 0}
+ m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+ m_IntArgument: 0
+ m_FloatArgument: 0
+ m_StringArgument:
+ m_BoolArgument: 0
+ m_CallState: 2
+ m_TypeName: UnityEngine.UI.Toggle+ToggleEvent, UnityEngine.UI, Version=1.0.0.0,
+ Culture=neutral, PublicKeyToken=null
+ m_IsOn: 0
+--- !u!114 &11403342
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 138760}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 10
+ m_FontStyle: 1
+ m_BestFit: 0
+ m_MinSize: 10
+ m_MaxSize: 40
+ m_Alignment: 4
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: SHOW ENGINEER
+--- !u!114 &11404586
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 122098}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 0}
+ m_Type: 1
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!114 &11415294
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 126098}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 571159103, guid: 4ffb1bf511e31af45bdeaa3d272d49d4, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_ShowEngineerToggle: {fileID: 11489252}
+ m_ControlBarToggle: {fileID: 11400468}
+ m_MenuSectionPrefab: {fileID: 130812, guid: 2147dc5ac8aa16a4ca2003dfcd024533, type: 2}
+ m_SectionsTransform: {fileID: 22435482}
+ m_FastFadeDuration: .200000003
+ m_SlowFadeDuration: .200000003
+--- !u!114 &11420706
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 122098}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 0
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: .467545569, g: 1, b: .448529422, a: 1}
+ m_PressedColor: {r: .800000072, g: 1, b: 0, a: 1}
+ m_DisabledColor: {r: .784313738, g: .784313738, b: .784313738, a: .501960814}
+ m_ColorMultiplier: 1
+ m_FadeDuration: .100000001
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 11404586}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls:
+ - m_Target: {fileID: 11415294}
+ m_MethodName: NewCustomSection
+ m_Mode: 1
+ m_Arguments:
+ m_ObjectArgument: {fileID: 0}
+ m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+ m_IntArgument: 0
+ m_FloatArgument: 0
+ m_StringArgument:
+ m_BoolArgument: 0
+ m_CallState: 2
+ m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
+ Culture=neutral, PublicKeyToken=null
+--- !u!114 &11423044
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 126098}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 1741964061, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_HorizontalFit: 0
+ m_VerticalFit: 2
+--- !u!114 &11424646
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 116014}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 1297475563, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Padding:
+ m_Left: 4
+ m_Right: 4
+ m_Top: 4
+ m_Bottom: 4
+ m_ChildAlignment: 0
+ m_Spacing: 2
+ m_ChildForceExpandWidth: 1
+ m_ChildForceExpandHeight: 0
+--- !u!114 &11439582
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 172308}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: .800000072, g: 1, b: 0, a: 1}
+ m_RaycastTarget: 0
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 12
+ m_FontStyle: 1
+ m_BestFit: 0
+ m_MinSize: 10
+ m_MaxSize: 40
+ m_Alignment: 3
+ m_RichText: 0
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: FLIGHT ENGINEER
+--- !u!114 &11443382
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 133376}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_IgnoreLayout: 0
+ m_MinWidth: -1
+ m_MinHeight: -1
+ m_PreferredWidth: -1
+ m_PreferredHeight: 18
+ m_FlexibleWidth: -1
+ m_FlexibleHeight: -1
+--- !u!114 &11447982
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 126098}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 0}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!114 &11453198
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 156848}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_IgnoreLayout: 0
+ m_MinWidth: -1
+ m_MinHeight: -1
+ m_PreferredWidth: -1
+ m_PreferredHeight: 20
+ m_FlexibleWidth: -1
+ m_FlexibleHeight: -1
+--- !u!114 &11459182
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 104452}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 0}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!114 &11461688
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 122098}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_IgnoreLayout: 0
+ m_MinWidth: -1
+ m_MinHeight: -1
+ m_PreferredWidth: -1
+ m_PreferredHeight: 18
+ m_FlexibleWidth: -1
+ m_FlexibleHeight: -1
+--- !u!114 &11462752
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 157290}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 1297475563, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Padding:
+ m_Left: 0
+ m_Right: 0
+ m_Top: 1
+ m_Bottom: 1
+ m_ChildAlignment: 0
+ m_Spacing: 0
+ m_ChildForceExpandWidth: 1
+ m_ChildForceExpandHeight: 0
+--- !u!114 &11463504
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 156848}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: .600000024, g: .600000024, b: .600000024, a: .784313738}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 0}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!114 &11465050
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 193852}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 10
+ m_FontStyle: 1
+ m_BestFit: 0
+ m_MinSize: 10
+ m_MaxSize: 40
+ m_Alignment: 4
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: CONTROL BAR
+--- !u!114 &11465882
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 137786}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 10
+ m_FontStyle: 1
+ m_BestFit: 0
+ m_MinSize: 10
+ m_MaxSize: 40
+ m_Alignment: 4
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: NEW CUSTOM SECTION
+--- !u!114 &11475868
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 150266}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 0}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!114 &11478508
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 126098}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 323546239, guid: 4ffb1bf511e31af45bdeaa3d272d49d4, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_ElementType: 1
+--- !u!114 &11482140
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 122098}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 323546239, guid: 4ffb1bf511e31af45bdeaa3d272d49d4, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_ElementType: 3
+--- !u!114 &11482720
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 114528}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 323546239, guid: 4ffb1bf511e31af45bdeaa3d272d49d4, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_ElementType: 4
+--- !u!114 &11483870
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 194088}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 323546239, guid: 4ffb1bf511e31af45bdeaa3d272d49d4, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_ElementType: 4
+--- !u!114 &11483978
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 157290}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 1741964061, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_HorizontalFit: 0
+ m_VerticalFit: 2
+--- !u!114 &11485532
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 126098}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 1297475563, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Padding:
+ m_Left: 0
+ m_Right: 0
+ m_Top: 0
+ m_Bottom: 0
+ m_ChildAlignment: 0
+ m_Spacing: 0
+ m_ChildForceExpandWidth: 1
+ m_ChildForceExpandHeight: 1
+--- !u!114 &11489252
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 194088}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 2109663825, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 0
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: .960784316, g: .960784316, b: .960784316, a: 1}
+ m_PressedColor: {r: .784313738, g: .784313738, b: .784313738, a: 1}
+ m_DisabledColor: {r: .784313738, g: .784313738, b: .784313738, a: .501960814}
+ m_ColorMultiplier: 1
+ m_FadeDuration: .100000001
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 11498756}
+ toggleTransition: 0
+ graphic: {fileID: 11475868}
+ m_Group: {fileID: 0}
+ onValueChanged:
+ m_PersistentCalls:
+ m_Calls:
+ - m_Target: {fileID: 11415294}
+ m_MethodName: SetDisplayStackVisible
+ m_Mode: 0
+ m_Arguments:
+ m_ObjectArgument: {fileID: 0}
+ m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+ m_IntArgument: 0
+ m_FloatArgument: 0
+ m_StringArgument:
+ m_BoolArgument: 0
+ m_CallState: 2
+ m_TypeName: UnityEngine.UI.Toggle+ToggleEvent, UnityEngine.UI, Version=1.0.0.0,
+ Culture=neutral, PublicKeyToken=null
+ m_IsOn: 0
+--- !u!114 &11494262
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 114528}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 0}
+ m_Type: 1
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!114 &11498756
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 194088}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 0}
+ m_Type: 1
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!222 &22201528
+CanvasRenderer:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 122098}
+--- !u!222 &22210360
+CanvasRenderer:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 150266}
+--- !u!222 &22223226
+CanvasRenderer:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 116014}
+--- !u!222 &22247322
+CanvasRenderer:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 172308}
+--- !u!222 &22254028
+CanvasRenderer:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 114528}
+--- !u!222 &22255200
+CanvasRenderer:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 193852}
+--- !u!222 &22255938
+CanvasRenderer:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 138760}
+--- !u!222 &22267348
+CanvasRenderer:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 137786}
+--- !u!222 &22267572
+CanvasRenderer:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 156848}
+--- !u!222 &22270862
+CanvasRenderer:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 126098}
+--- !u!222 &22281674
+CanvasRenderer:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 194088}
+--- !u!222 &22296168
+CanvasRenderer:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 104452}
+--- !u!224 &22401100
+RectTransform:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 122098}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children:
+ - {fileID: 22444606}
+ m_Father: {fileID: 22475412}
+ m_RootOrder: 2
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 0}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: .5, y: .5}
+--- !u!224 &22401786
+RectTransform:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 172308}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 22483410}
+ m_RootOrder: 0
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 2.5, y: 0}
+ m_SizeDelta: {x: -5, y: 0}
+ m_Pivot: {x: .5, y: .5}
+--- !u!224 &22409936
+RectTransform:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 138760}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 22469574}
+ m_RootOrder: 1
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: .5, y: .5}
+--- !u!224 &22411946
+RectTransform:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 193852}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 22468796}
+ m_RootOrder: 1
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: .5, y: .5}
+--- !u!224 &22435482
+RectTransform:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 157290}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 22475412}
+ m_RootOrder: 1
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 0}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: .5, y: .5}
+--- !u!224 &22444606
+RectTransform:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 137786}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 22401100}
+ m_RootOrder: 0
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: .5, y: .5}
+--- !u!224 &22454998
+RectTransform:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 104452}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 22468796}
+ m_RootOrder: 0
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: .5, y: .5}
+--- !u!224 &22463980
+RectTransform:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 150266}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 22469574}
+ m_RootOrder: 0
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: .5, y: .5}
+--- !u!224 &22468796
+RectTransform:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 114528}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children:
+ - {fileID: 22454998}
+ - {fileID: 22411946}
+ m_Father: {fileID: 22478174}
+ m_RootOrder: 1
+ m_AnchorMin: {x: .5, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 1, y: 0}
+ m_SizeDelta: {x: -2, y: 0}
+ m_Pivot: {x: .5, y: .5}
+--- !u!224 &22469574
+RectTransform:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 194088}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children:
+ - {fileID: 22463980}
+ - {fileID: 22409936}
+ m_Father: {fileID: 22478174}
+ m_RootOrder: 0
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: .5, y: 1}
+ m_AnchoredPosition: {x: -1, y: 0}
+ m_SizeDelta: {x: -2, y: 0}
+ m_Pivot: {x: .5, y: .5}
+--- !u!224 &22475412
+RectTransform:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 116014}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children:
+ - {fileID: 22478174}
+ - {fileID: 22435482}
+ - {fileID: 22401100}
+ m_Father: {fileID: 22476196}
+ m_RootOrder: 1
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 0}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: .5, y: .5}
+--- !u!224 &22476196
+RectTransform:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 126098}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children:
+ - {fileID: 22483410}
+ - {fileID: 22475412}
+ m_Father: {fileID: 0}
+ m_RootOrder: 0
+ m_AnchorMin: {x: .5, y: .5}
+ m_AnchorMax: {x: .5, y: .5}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 250, y: 0}
+ m_Pivot: {x: 1, y: 0}
+--- !u!224 &22478174
+RectTransform:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 133376}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children:
+ - {fileID: 22469574}
+ - {fileID: 22468796}
+ m_Father: {fileID: 22475412}
+ m_RootOrder: 0
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 0}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: .5, y: .5}
+--- !u!224 &22483410
+RectTransform:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 156848}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children:
+ - {fileID: 22401786}
+ m_Father: {fileID: 22476196}
+ m_RootOrder: 0
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 0}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: .5, y: 1}
+--- !u!225 &22567868
+CanvasGroup:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 126098}
+ m_Enabled: 1
+ m_Alpha: 1
+ m_Interactable: 1
+ m_BlocksRaycasts: 1
+ m_IgnoreParentGroups: 0
+--- !u!1001 &100100000
+Prefab:
+ m_ObjectHideFlags: 1
+ serializedVersion: 2
+ m_Modification:
+ m_TransformParent: {fileID: 0}
+ m_Modifications:
+ - target: {fileID: 0}
+ propertyPath: m_FastFadeDuration
+ value: .100000001
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: m_SlowFadeDuration
+ value: .200000003
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: m_ContentTransform
+ value:
+ objectReference: {fileID: 22475412}
+ - target: {fileID: 0}
+ propertyPath: m_SectionPrefab
+ value:
+ objectReference: {fileID: 130812, guid: 1755c05344f574d4787a372d34a4e3fb, type: 2}
+ - target: {fileID: 0}
+ propertyPath: m_MenuSectionPrefab
+ value:
+ objectReference: {fileID: 130812, guid: 1755c05344f574d4787a372d34a4e3fb, type: 2}
+ m_RemovedComponents: []
+ m_ParentPrefab: {fileID: 0}
+ m_RootGameObject: {fileID: 126098}
+ m_IsPrefabParent: 1
--- /dev/null
+++ b/Assets/Prefabs/FlightMenuSection.prefab
@@ -1,1 +1,718 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &121376
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ serializedVersion: 4
+ m_Component:
+ - 224: {fileID: 22409126}
+ - 222: {fileID: 22266612}
+ - 114: {fileID: 11461446}
+ - 114: {fileID: 11436568}
+ - 114: {fileID: 11403482}
+ m_Layer: 5
+ m_Name: ToggleDisplay
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!1 &121536
+GameObject:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ serializedVersion: 4
+ m_Component:
+ - 224: {fileID: 22446728}
+ - 222: {fileID: 22259916}
+ - 114: {fileID: 11418436}
+ m_Layer: 5
+ m_Name: Selected
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!1 &130136
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ serializedVersion: 4
+ m_Component:
+ - 224: {fileID: 22444842}
+ - 222: {fileID: 22269896}
+ - 114: {fileID: 11449350}
+ - 114: {fileID: 11421724}
+ - 114: {fileID: 11411294}
+ m_Layer: 5
+ m_Name: ToggleEdit
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!1 &130812
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ serializedVersion: 4
+ m_Component:
+ - 224: {fileID: 22478272}
+ - 114: {fileID: 11431788}
+ - 114: {fileID: 11494744}
+ m_Layer: 5
+ m_Name: FlightMenuSection
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!1 &151828
+GameObject:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ serializedVersion: 4
+ m_Component:
+ - 224: {fileID: 22485856}
+ - 222: {fileID: 22274980}
+ - 114: {fileID: 11408784}
+ m_Layer: 5
+ m_Name: Text
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!1 &172700
+GameObject:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ serializedVersion: 4
+ m_Component:
+ - 224: {fileID: 22483442}
+ - 222: {fileID: 22246486}
+ - 114: {fileID: 11462740}
+ m_Layer: 5
+ m_Name: Text
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!1 &178618
+GameObject:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ serializedVersion: 4
+ m_Component:
+ - 224: {fileID: 22469204}
+ - 222: {fileID: 22219086}
+ - 114: {fileID: 11484356}
+ m_Layer: 5
+ m_Name: Selected
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &11403482
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 121376}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 323546239, guid: 4ffb1bf511e31af45bdeaa3d272d49d4, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_ElementType: 4
+--- !u!114 &11408784
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 151828}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 10
+ m_FontStyle: 1
+ m_BestFit: 0
+ m_MinSize: 10
+ m_MaxSize: 40
+ m_Alignment: 4
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: DISPLAY
+--- !u!114 &11411294
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 130136}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 323546239, guid: 4ffb1bf511e31af45bdeaa3d272d49d4, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_ElementType: 4
+--- !u!114 &11418436
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 121536}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 0}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!114 &11421724
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 130136}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 2109663825, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 0
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: .467545569, g: 1, b: .448529422, a: 1}
+ m_PressedColor: {r: .800000072, g: 1, b: 0, a: 1}
+ m_DisabledColor: {r: .784313738, g: .784313738, b: .784313738, a: .501960814}
+ m_ColorMultiplier: 1
+ m_FadeDuration: .100000001
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 11449350}
+ toggleTransition: 0
+ graphic: {fileID: 11484356}
+ m_Group: {fileID: 0}
+ onValueChanged:
+ m_PersistentCalls:
+ m_Calls:
+ - m_Target: {fileID: 11494744}
+ m_MethodName: SetEditorVisible
+ m_Mode: 0
+ m_Arguments:
+ m_ObjectArgument: {fileID: 0}
+ m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+ m_IntArgument: 0
+ m_FloatArgument: 0
+ m_StringArgument:
+ m_BoolArgument: 0
+ m_CallState: 2
+ m_TypeName: UnityEngine.UI.Toggle+ToggleEvent, UnityEngine.UI, Version=1.0.0.0,
+ Culture=neutral, PublicKeyToken=null
+ m_IsOn: 0
+--- !u!114 &11431788
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 130812}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_IgnoreLayout: 0
+ m_MinWidth: -1
+ m_MinHeight: -1
+ m_PreferredWidth: -1
+ m_PreferredHeight: 18
+ m_FlexibleWidth: -1
+ m_FlexibleHeight: -1
+--- !u!114 &11436568
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 121376}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 2109663825, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 0
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: .467545569, g: 1, b: .448529422, a: 1}
+ m_PressedColor: {r: .800000072, g: 1, b: 0, a: 1}
+ m_DisabledColor: {r: .784313738, g: .784313738, b: .784313738, a: .501960814}
+ m_ColorMultiplier: 1
+ m_FadeDuration: .100000001
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 11461446}
+ toggleTransition: 0
+ graphic: {fileID: 11418436}
+ m_Group: {fileID: 0}
+ onValueChanged:
+ m_PersistentCalls:
+ m_Calls:
+ - m_Target: {fileID: 11494744}
+ m_MethodName: SetDisplayVisible
+ m_Mode: 0
+ m_Arguments:
+ m_ObjectArgument: {fileID: 0}
+ m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+ m_IntArgument: 0
+ m_FloatArgument: 0
+ m_StringArgument:
+ m_BoolArgument: 0
+ m_CallState: 2
+ m_TypeName: UnityEngine.UI.Toggle+ToggleEvent, UnityEngine.UI, Version=1.0.0.0,
+ Culture=neutral, PublicKeyToken=null
+ m_IsOn: 0
+--- !u!114 &11449350
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 130136}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 0}
+ m_Type: 1
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!114 &11461446
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 121376}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 0}
+ m_Type: 1
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!114 &11462740
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 172700}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 10
+ m_FontStyle: 1
+ m_BestFit: 0
+ m_MinSize: 10
+ m_MaxSize: 40
+ m_Alignment: 4
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: EDIT
+--- !u!114 &11484356
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 178618}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 0}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!114 &11494744
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 130812}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -1842827791, guid: 4ffb1bf511e31af45bdeaa3d272d49d4, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_DisplayToggle: {fileID: 11436568}
+ m_DisplayText: {fileID: 11408784}
+ m_EditToggle: {fileID: 11421724}
+--- !u!222 &22219086
+CanvasRenderer:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 178618}
+--- !u!222 &22246486
+CanvasRenderer:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 172700}
+--- !u!222 &22259916
+CanvasRenderer:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 121536}
+--- !u!222 &22266612
+CanvasRenderer:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 121376}
+--- !u!222 &22269896
+CanvasRenderer:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 130136}
+--- !u!222 &22274980
+CanvasRenderer:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 151828}
+--- !u!224 &22409126
+RectTransform:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 121376}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children:
+ - {fileID: 22446728}
+ - {fileID: 22485856}
+ m_Father: {fileID: 22478272}
+ m_RootOrder: 0
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: .75, y: 1}
+ m_AnchoredPosition: {x: -1, y: 0}
+ m_SizeDelta: {x: -2, y: 0}
+ m_Pivot: {x: .5, y: .5}
+--- !u!224 &22444842
+RectTransform:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 130136}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children:
+ - {fileID: 22469204}
+ - {fileID: 22483442}
+ m_Father: {fileID: 22478272}
+ m_RootOrder: 1
+ m_AnchorMin: {x: .75, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 1, y: 0}
+ m_SizeDelta: {x: -2, y: 0}
+ m_Pivot: {x: .5, y: .5}
+--- !u!224 &22446728
+RectTransform:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 121536}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 22409126}
+ m_RootOrder: 0
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: .5, y: .5}
+--- !u!224 &22469204
+RectTransform:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 178618}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 22444842}
+ m_RootOrder: 0
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: .5, y: .5}
+--- !u!224 &22478272
+RectTransform:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 130812}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children:
+ - {fileID: 22409126}
+ - {fileID: 22444842}
+ m_Father: {fileID: 0}
+ m_RootOrder: 0
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 0}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: .5, y: .5}
+--- !u!224 &22483442
+RectTransform:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 172700}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 22444842}
+ m_RootOrder: 1
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: .5, y: .5}
+--- !u!224 &22485856
+RectTransform:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 151828}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 22409126}
+ m_RootOrder: 1
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: .5, y: .5}
+--- !u!1001 &100100000
+Prefab:
+ m_ObjectHideFlags: 1
+ serializedVersion: 2
+ m_Modification:
+ m_TransformParent: {fileID: 0}
+ m_Modifications:
+ - target: {fileID: 0}
+ propertyPath: onValueChanged.m_PersistentCalls.m_Calls.Array.data[0].m_Target
+ value:
+ objectReference: {fileID: 11494744}
+ - target: {fileID: 0}
+ propertyPath: onValueChanged.m_PersistentCalls.m_Calls.Array.data[0].m_MethodName
+ value: SetEditorVisible
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: m_Colors.m_NormalColor.r
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: m_Colors.m_NormalColor.b
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: m_Colors.m_HighlightedColor.r
+ value: .467545569
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: m_Colors.m_HighlightedColor.g
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: m_Colors.m_HighlightedColor.b
+ value: .448529422
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: m_Colors.m_NormalColor.g
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: m_Colors.m_PressedColor.r
+ value: .800000072
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: m_Colors.m_PressedColor.g
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: m_Colors.m_PressedColor.b
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: m_DisplayToggle
+ value:
+ objectReference: {fileID: 11436568}
+ - target: {fileID: 0}
+ propertyPath: m_Transition
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: m_Color.r
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: m_Color.g
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: m_Color.b
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: m_Color.a
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: m_ElementType
+ value: 4
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: m_PreferredHeight
+ value: 18
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: toggleTransition
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_ParentPrefab: {fileID: 0}
+ m_RootGameObject: {fileID: 130812}
+ m_IsPrefabParent: 1
--- /dev/null
+++ b/Assets/Prefabs/Setting.prefab
@@ -1,1 +1,274 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &120186
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ serializedVersion: 4
+ m_Component:
+ - 224: {fileID: 22457826}
+ - 222: {fileID: 22284884}
+ - 114: {fileID: 11446448}
+ m_Layer: 5
+ m_Name: Label
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!1 &139342
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ serializedVersion: 4
+ m_Component:
+ - 224: {fileID: 22475724}
+ - 114: {fileID: 11457692}
+ - 114: {fileID: 11461286}
+ m_Layer: 5
+ m_Name: Setting
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!1 &152604
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ serializedVersion: 4
+ m_Component:
+ - 224: {fileID: 22432972}
+ - 114: {fileID: 11476120}
+ m_Layer: 5
+ m_Name: Buttons
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &11446448
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 120186}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 12
+ m_FontStyle: 1
+ m_BestFit: 0
+ m_MinSize: 10
+ m_MaxSize: 40
+ m_Alignment: 3
+ m_RichText: 0
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: Setting Label
+--- !u!114 &11457692
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 139342}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_IgnoreLayout: 0
+ m_MinWidth: -1
+ m_MinHeight: -1
+ m_PreferredWidth: 400
+ m_PreferredHeight: 20
+ m_FlexibleWidth: -1
+ m_FlexibleHeight: -1
+--- !u!114 &11461286
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 139342}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 644905346, guid: 4ffb1bf511e31af45bdeaa3d272d49d4, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Label: {fileID: 11446448}
+ m_ButtonsTransform: {fileID: 22432972}
+ m_SettingButtonPrefab: {fileID: 168214, guid: 345debd9876196a4e95d8718febe5301,
+ type: 2}
+ m_SettingTogglePrefab: {fileID: 153220, guid: b0b78ee2755669241a6e82c70b5988cf,
+ type: 2}
+--- !u!114 &11476120
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 152604}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -405508275, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Padding:
+ m_Left: 0
+ m_Right: 0
+ m_Top: 0
+ m_Bottom: 0
+ m_ChildAlignment: 5
+ m_Spacing: 2
+ m_ChildForceExpandWidth: 0
+ m_ChildForceExpandHeight: 1
+--- !u!222 &22284884
+CanvasRenderer:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 120186}
+--- !u!224 &22432972
+RectTransform:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 152604}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 22475724}
+ m_RootOrder: 1
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 1, y: .5}
+--- !u!224 &22457826
+RectTransform:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 120186}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 22475724}
+ m_RootOrder: 0
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: .5, y: 1}
+ m_AnchoredPosition: {x: 2.5, y: 0}
+ m_SizeDelta: {x: -5, y: 0}
+ m_Pivot: {x: .5, y: .5}
+--- !u!224 &22475724
+RectTransform:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 139342}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children:
+ - {fileID: 22457826}
+ - {fileID: 22432972}
+ m_Father: {fileID: 0}
+ m_RootOrder: 0
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 0}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: .5, y: .5}
+--- !u!1001 &100100000
+Prefab:
+ m_ObjectHideFlags: 1
+ serializedVersion: 2
+ m_Modification:
+ m_TransformParent: {fileID: 0}
+ m_Modifications:
+ - target: {fileID: 0}
+ propertyPath: m_ButtonsTransform
+ value:
+ objectReference: {fileID: 22432972}
+ - target: {fileID: 0}
+ propertyPath: m_Label
+ value:
+ objectReference: {fileID: 11446448}
+ - target: {fileID: 0}
+ propertyPath: m_SettingButtonPrefab
+ value:
+ objectReference: {fileID: 168214, guid: 345debd9876196a4e95d8718febe5301, type: 2}
+ - target: {fileID: 0}
+ propertyPath: m_SettingTogglePrefab
+ value:
+ objectReference: {fileID: 153220, guid: b0b78ee2755669241a6e82c70b5988cf, type: 2}
+ - target: {fileID: 0}
+ propertyPath: m_Color.r
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: m_Color.g
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: m_Color.b
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: m_Text
+ value: Setting Label
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: m_PreferredWidth
+ value: 400
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: m_AnchorMin.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: m_SizeDelta.x
+ value: -5
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: m_AnchorMax.x
+ value: .5
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: m_Spacing
+ value: 2
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: m_AnchoredPosition.x
+ value: 2.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: m_ChildForceExpandWidth
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: m_ChildAlignment
+ value: 5
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_ParentPrefab: {fileID: 0}
+ m_RootGameObject: {fileID: 139342}
+ m_IsPrefabParent: 1
--- /dev/null
+++ b/Assets/Prefabs/SettingButton.prefab
@@ -1,1 +1,260 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &168214
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ serializedVersion: 4
+ m_Component:
+ - 224: {fileID: 22424224}
+ - 222: {fileID: 22268938}
+ - 114: {fileID: 11467924}
+ - 114: {fileID: 11423954}
+ - 114: {fileID: 11425436}
+ - 114: {fileID: 11431978}
+ m_Layer: 5
+ m_Name: SettingButton
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!1 &190018
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ serializedVersion: 4
+ m_Component:
+ - 224: {fileID: 22434708}
+ - 222: {fileID: 22253606}
+ - 114: {fileID: 11411402}
+ m_Layer: 5
+ m_Name: Text
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &11411402
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 190018}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 0
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 12
+ m_FontStyle: 1
+ m_BestFit: 0
+ m_MinSize: 10
+ m_MaxSize: 40
+ m_Alignment: 4
+ m_RichText: 0
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: Button
+--- !u!114 &11423954
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 168214}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 0
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: .960784316, g: .960784316, b: .960784316, a: 1}
+ m_PressedColor: {r: .784313738, g: .784313738, b: .784313738, a: 1}
+ m_DisabledColor: {r: .784313738, g: .784313738, b: .784313738, a: .501960814}
+ m_ColorMultiplier: 1
+ m_FadeDuration: .100000001
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 11467924}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
+ Culture=neutral, PublicKeyToken=null
+--- !u!114 &11425436
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 168214}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 323546239, guid: 4ffb1bf511e31af45bdeaa3d272d49d4, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_ElementType: 3
+--- !u!114 &11431978
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 168214}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_IgnoreLayout: 0
+ m_MinWidth: -1
+ m_MinHeight: -1
+ m_PreferredWidth: -1
+ m_PreferredHeight: -1
+ m_FlexibleWidth: -1
+ m_FlexibleHeight: -1
+--- !u!114 &11467924
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 168214}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 0}
+ m_Type: 1
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!222 &22253606
+CanvasRenderer:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 190018}
+--- !u!222 &22268938
+CanvasRenderer:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 168214}
+--- !u!224 &22424224
+RectTransform:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 168214}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children:
+ - {fileID: 22434708}
+ m_Father: {fileID: 0}
+ m_RootOrder: 0
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 0}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: .5, y: .5}
+--- !u!224 &22434708
+RectTransform:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 190018}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 22424224}
+ m_RootOrder: 0
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: .5, y: .5}
+--- !u!1001 &100100000
+Prefab:
+ m_ObjectHideFlags: 1
+ serializedVersion: 2
+ m_Modification:
+ m_TransformParent: {fileID: 0}
+ m_Modifications:
+ - target: {fileID: 0}
+ propertyPath: m_FontData.m_FontSize
+ value: 12
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: m_FontData.m_RichText
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: m_RaycastTarget
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: m_Color.r
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: m_Color.g
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: m_Color.b
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: m_FontData.m_FontStyle
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: m_FlexibleWidth
+ value: -1
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_ParentPrefab: {fileID: 0}
+ m_RootGameObject: {fileID: 168214}
+ m_IsPrefabParent: 1
--- /dev/null
+++ b/Assets/Prefabs/SettingToggle.prefab
@@ -1,1 +1,344 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &112456
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ serializedVersion: 4
+ m_Component:
+ - 224: {fileID: 22471524}
+ - 222: {fileID: 22262292}
+ - 114: {fileID: 11411192}
+ m_Layer: 5
+ m_Name: Selected
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!1 &153220
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ serializedVersion: 4
+ m_Component:
+ - 224: {fileID: 22458510}
+ - 222: {fileID: 22234250}
+ - 114: {fileID: 11474744}
+ - 114: {fileID: 11492986}
+ - 114: {fileID: 11473012}
+ - 114: {fileID: 11469566}
+ m_Layer: 5
+ m_Name: SettingToggle
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!1 &159822
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ serializedVersion: 4
+ m_Component:
+ - 224: {fileID: 22412684}
+ - 222: {fileID: 22267242}
+ - 114: {fileID: 11484368}
+ m_Layer: 5
+ m_Name: Text
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &11411192
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 112456}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 0}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!114 &11469566
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 153220}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_IgnoreLayout: 0
+ m_MinWidth: -1
+ m_MinHeight: -1
+ m_PreferredWidth: -1
+ m_PreferredHeight: -1
+ m_FlexibleWidth: -1
+ m_FlexibleHeight: -1
+--- !u!114 &11473012
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 153220}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 2109663825, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 0
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: .960784316, g: .960784316, b: .960784316, a: 1}
+ m_PressedColor: {r: .784313738, g: .784313738, b: .784313738, a: 1}
+ m_DisabledColor: {r: .784313738, g: .784313738, b: .784313738, a: .501960814}
+ m_ColorMultiplier: 1
+ m_FadeDuration: .100000001
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 11474744}
+ toggleTransition: 0
+ graphic: {fileID: 11411192}
+ m_Group: {fileID: 0}
+ onValueChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.Toggle+ToggleEvent, UnityEngine.UI, Version=1.0.0.0,
+ Culture=neutral, PublicKeyToken=null
+ m_IsOn: 0
+--- !u!114 &11474744
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 153220}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 0}
+ m_Type: 1
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!114 &11484368
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 159822}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 0
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 12
+ m_FontStyle: 1
+ m_BestFit: 0
+ m_MinSize: 10
+ m_MaxSize: 40
+ m_Alignment: 4
+ m_RichText: 0
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: Button
+--- !u!114 &11492986
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 153220}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 323546239, guid: 4ffb1bf511e31af45bdeaa3d272d49d4, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_ElementType: 4
+--- !u!222 &22234250
+CanvasRenderer:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 153220}
+--- !u!222 &22262292
+CanvasRenderer:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 112456}
+--- !u!222 &22267242
+CanvasRenderer:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 159822}
+--- !u!224 &22412684
+RectTransform:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 159822}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 22458510}
+ m_RootOrder: 1
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: .5, y: .5}
+--- !u!224 &22458510
+RectTransform:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 153220}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children:
+ - {fileID: 22471524}
+ - {fileID: 22412684}
+ m_Father: {fileID: 0}
+ m_RootOrder: 0
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 0}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: .5, y: .5}
+--- !u!224 &22471524
+RectTransform:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 112456}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 22458510}
+ m_RootOrder: 0
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: .5, y: .5}
+--- !u!1001 &100100000
+Prefab:
+ m_ObjectHideFlags: 1
+ serializedVersion: 2
+ m_Modification:
+ m_TransformParent: {fileID: 0}
+ m_Modifications:
+ - target: {fileID: 0}
+ propertyPath: m_ElementType
+ value: 4
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: m_Transition
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: m_FontData.m_FontSize
+ value: 12
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: m_FontData.m_RichText
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: m_RaycastTarget
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: m_Color.r
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: m_Color.g
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: m_Color.b
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: m_FontData.m_FontStyle
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: toggleTransition
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: m_FlexibleWidth
+ value: -1
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_ParentPrefab: {fileID: 0}
+ m_RootGameObject: {fileID: 153220}
+ m_IsPrefabParent: 1
--- /dev/null
+++ b/Assets/Prefabs/Window.prefab
@@ -1,1 +1,731 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &115950
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ serializedVersion: 4
+ m_Component:
+ - 224: {fileID: 22465080}
+ - 222: {fileID: 22224666}
+ - 114: {fileID: 11463020}
+ - 114: {fileID: 11473370}
+ - 114: {fileID: 11452824}
+ m_Layer: 5
+ m_Name: Titlebar
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!1 &147848
+GameObject:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ serializedVersion: 4
+ m_Component:
+ - 224: {fileID: 22498172}
+ - 222: {fileID: 22241544}
+ - 114: {fileID: 11472350}
+ - 114: {fileID: 11482324}
+ - 114: {fileID: 11478236}
+ m_Layer: 5
+ m_Name: Close
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!1 &153670
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ serializedVersion: 4
+ m_Component:
+ - 224: {fileID: 22461526}
+ - 222: {fileID: 22240064}
+ - 114: {fileID: 11470056}
+ - 114: {fileID: 11400662}
+ - 114: {fileID: 11453036}
+ - 225: {fileID: 22579498}
+ - 114: {fileID: 11464560}
+ - 114: {fileID: 11409628}
+ m_Layer: 5
+ m_Name: Window
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!1 &158314
+GameObject:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ serializedVersion: 4
+ m_Component:
+ - 224: {fileID: 22418124}
+ - 222: {fileID: 22254660}
+ - 114: {fileID: 11457960}
+ m_Layer: 5
+ m_Name: Text
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!1 &173368
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ serializedVersion: 4
+ m_Component:
+ - 224: {fileID: 22447524}
+ - 114: {fileID: 11403752}
+ - 114: {fileID: 11450476}
+ m_Layer: 5
+ m_Name: Padding
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!1 &182900
+GameObject:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ serializedVersion: 4
+ m_Component:
+ - 224: {fileID: 22456320}
+ - 114: {fileID: 11481312}
+ - 114: {fileID: 11443188}
+ - 222: {fileID: 22252016}
+ - 114: {fileID: 11454192}
+ - 114: {fileID: 11486264}
+ m_Layer: 5
+ m_Name: Content
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!1 &194536
+GameObject:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ serializedVersion: 4
+ m_Component:
+ - 224: {fileID: 22474276}
+ - 222: {fileID: 22295052}
+ - 114: {fileID: 11464580}
+ m_Layer: 5
+ m_Name: Text
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &11400662
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 153670}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 604723565, guid: 4ffb1bf511e31af45bdeaa3d272d49d4, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Title: {fileID: 11464580}
+ m_Content: {fileID: 22456320}
+--- !u!114 &11403752
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 173368}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 1297475563, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Padding:
+ m_Left: 5
+ m_Right: 5
+ m_Top: 5
+ m_Bottom: 5
+ m_ChildAlignment: 0
+ m_Spacing: 0
+ m_ChildForceExpandWidth: 1
+ m_ChildForceExpandHeight: 1
+--- !u!114 &11409628
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 153670}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 1741964061, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_HorizontalFit: 0
+ m_VerticalFit: 2
+--- !u!114 &11443188
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 182900}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 1741964061, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_HorizontalFit: 0
+ m_VerticalFit: 2
+--- !u!114 &11450476
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 173368}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 1741964061, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_HorizontalFit: 0
+ m_VerticalFit: 2
+--- !u!114 &11452824
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 115950}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_IgnoreLayout: 0
+ m_MinWidth: -1
+ m_MinHeight: -1
+ m_PreferredWidth: -1
+ m_PreferredHeight: 20
+ m_FlexibleWidth: -1
+ m_FlexibleHeight: -1
+--- !u!114 &11453036
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 153670}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 323546239, guid: 4ffb1bf511e31af45bdeaa3d272d49d4, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_ElementType: 1
+--- !u!114 &11454192
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 182900}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 0}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!114 &11457960
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 158314}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 12
+ m_FontStyle: 1
+ m_BestFit: 0
+ m_MinSize: 10
+ m_MaxSize: 40
+ m_Alignment: 4
+ m_RichText: 0
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: X
+--- !u!114 &11463020
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 115950}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: .600000024, g: .600000024, b: .600000024, a: .784313738}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 0}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!114 &11464560
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 153670}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 1297475563, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Padding:
+ m_Left: 0
+ m_Right: 0
+ m_Top: 0
+ m_Bottom: 0
+ m_ChildAlignment: 0
+ m_Spacing: 0
+ m_ChildForceExpandWidth: 1
+ m_ChildForceExpandHeight: 0
+--- !u!114 &11464580
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 194536}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: .800000072, g: 1, b: 0, a: 1}
+ m_RaycastTarget: 0
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 12
+ m_FontStyle: 1
+ m_BestFit: 0
+ m_MinSize: 10
+ m_MaxSize: 40
+ m_Alignment: 3
+ m_RichText: 0
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: New Text
+--- !u!114 &11470056
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 153670}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 0}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!114 &11472350
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 147848}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
+ m_Type: 1
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!114 &11473370
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 115950}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 323546239, guid: 4ffb1bf511e31af45bdeaa3d272d49d4, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_ElementType: 1
+--- !u!114 &11478236
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 147848}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 323546239, guid: 4ffb1bf511e31af45bdeaa3d272d49d4, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_ElementType: 3
+--- !u!114 &11481312
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 182900}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 1297475563, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Padding:
+ m_Left: 5
+ m_Right: 5
+ m_Top: 5
+ m_Bottom: 5
+ m_ChildAlignment: 0
+ m_Spacing: 2
+ m_ChildForceExpandWidth: 1
+ m_ChildForceExpandHeight: 0
+--- !u!114 &11482324
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 147848}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 0
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: .960784316, g: .960784316, b: .960784316, a: 1}
+ m_PressedColor: {r: .784313738, g: .784313738, b: .784313738, a: 1}
+ m_DisabledColor: {r: .784313738, g: .784313738, b: .784313738, a: .501960814}
+ m_ColorMultiplier: 1
+ m_FadeDuration: .100000001
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 11472350}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls:
+ - m_Target: {fileID: 11400662}
+ m_MethodName: Close
+ m_Mode: 1
+ m_Arguments:
+ m_ObjectArgument: {fileID: 0}
+ m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+ m_IntArgument: 0
+ m_FloatArgument: 0
+ m_StringArgument:
+ m_BoolArgument: 0
+ m_CallState: 2
+ m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
+ Culture=neutral, PublicKeyToken=null
+--- !u!114 &11486264
+MonoBehaviour:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 182900}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 323546239, guid: 4ffb1bf511e31af45bdeaa3d272d49d4, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_ElementType: 2
+--- !u!222 &22224666
+CanvasRenderer:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 115950}
+--- !u!222 &22240064
+CanvasRenderer:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 153670}
+--- !u!222 &22241544
+CanvasRenderer:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 147848}
+--- !u!222 &22252016
+CanvasRenderer:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 182900}
+--- !u!222 &22254660
+CanvasRenderer:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 158314}
+--- !u!222 &22295052
+CanvasRenderer:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 194536}
+--- !u!224 &22418124
+RectTransform:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 158314}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 22498172}
+ m_RootOrder: 0
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: .5, y: .5}
+--- !u!224 &22447524
+RectTransform:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 173368}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children:
+ - {fileID: 22456320}
+ m_Father: {fileID: 22461526}
+ m_RootOrder: 1
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 0}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: .5, y: .5}
+--- !u!224 &22456320
+RectTransform:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 182900}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 22447524}
+ m_RootOrder: 0
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 0}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: .5, y: .5}
+--- !u!224 &22461526
+RectTransform:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 153670}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children:
+ - {fileID: 22465080}
+ - {fileID: 22447524}
+ m_Father: {fileID: 0}
+ m_RootOrder: 0
+ m_AnchorMin: {x: .5, y: .5}
+ m_AnchorMax: {x: .5, y: .5}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 100, y: 0}
+ m_Pivot: {x: .5, y: .5}
+--- !u!224 &22465080
+RectTransform:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 115950}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children:
+ - {fileID: 22474276}
+ - {fileID: 22498172}
+ m_Father: {fileID: 22461526}
+ m_RootOrder: 0
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 0}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: .5, y: 1}
+--- !u!224 &22474276
+RectTransform:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 194536}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 22465080}
+ m_RootOrder: 0
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 2.5, y: 0}
+ m_SizeDelta: {x: -5, y: 0}
+ m_Pivot: {x: .5, y: .5}
+--- !u!224 &22498172
+RectTransform:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 147848}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children:
+ - {fileID: 22418124}
+ m_Father: {fileID: 22465080}
+ m_RootOrder: 1
+ m_AnchorMin: {x: 1, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: -2, y: 0}
+ m_SizeDelta: {x: 16, y: -4}
+ m_Pivot: {x: 1, y: .5}
+--- !u!225 &22579498
+CanvasGroup:
+ m_ObjectHideFlags: 1
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 100100000}
+ m_GameObject: {fileID: 153670}
+ m_Enabled: 1
+ m_Alpha: 1
+ m_Interactable: 1
+ m_BlocksRaycasts: 1
+ m_IgnoreParentGroups: 0
+--- !u!1001 &100100000
+Prefab:
+ m_ObjectHideFlags: 1
+ serializedVersion: 2
+ m_Modification:
+ m_TransformParent: {fileID: 0}
+ m_Modifications:
+ - target: {fileID: 0}
+ propertyPath: m_Padding.m_Left
+ value: 5
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: m_Padding.m_Right
+ value: 5
+ objectReference: {fileID: 0}
+ - target: {fileID: 0}
+ propertyPath: m_Spacing
+ value: 2
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_ParentPrefab: {fileID: 0}
+ m_RootGameObject: {fileID: 153670}
+ m_IsPrefabParent: 1
--- /dev/null
+++ b/Assets/Scenes/main.unity
@@ -1,1 +1,605 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!29 &1
+SceneSettings:
+ m_ObjectHideFlags: 0
+ m_PVSData:
+ m_PVSObjectsArray: []
+ m_PVSPortalsArray: []
+ m_OcclusionBakeSettings:
+ smallestOccluder: 5
+ smallestHole: .25
+ backfaceThreshold: 100
+--- !u!104 &2
+RenderSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 6
+ m_Fog: 0
+ m_FogColor: {r: .5, g: .5, b: .5, a: 1}
+ m_FogMode: 3
+ m_FogDensity: .00999999978
+ m_LinearFogStart: 0
+ m_LinearFogEnd: 300
+ m_AmbientSkyColor: {r: .211999997, g: .226999998, b: .259000003, a: 1}
+ m_AmbientEquatorColor: {r: .114, g: .125, b: .133000001, a: 1}
+ m_AmbientGroundColor: {r: .0469999984, g: .0430000015, b: .0350000001, a: 1}
+ m_AmbientIntensity: 1
+ m_AmbientMode: 3
+ m_SkyboxMaterial: {fileID: 0}
+ m_HaloStrength: .5
+ m_FlareStrength: 1
+ m_FlareFadeSpeed: 3
+ m_HaloTexture: {fileID: 0}
+ m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
+ m_DefaultReflectionMode: 0
+ m_DefaultReflectionResolution: 128
+ m_ReflectionBounces: 1
+ m_ReflectionIntensity: 1
+ m_CustomReflection: {fileID: 0}
+ m_Sun: {fileID: 0}
+--- !u!157 &3
+LightmapSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 5
+ m_GIWorkflowMode: 1
+ m_LightmapsMode: 1
+ m_GISettings:
+ serializedVersion: 2
+ m_BounceScale: 1
+ m_IndirectOutputScale: 1
+ m_AlbedoBoost: 1
+ m_TemporalCoherenceThreshold: 1
+ m_EnvironmentLightingMode: 0
+ m_EnableBakedLightmaps: 0
+ m_EnableRealtimeLightmaps: 0
+ m_LightmapEditorSettings:
+ serializedVersion: 3
+ m_Resolution: 2
+ m_BakeResolution: 40
+ m_TextureWidth: 1024
+ m_TextureHeight: 1024
+ m_AOMaxDistance: 1
+ m_Padding: 2
+ m_CompAOExponent: 0
+ m_LightmapParameters: {fileID: 0}
+ m_TextureCompression: 1
+ m_FinalGather: 0
+ m_FinalGatherRayCount: 1024
+ m_ReflectionCompression: 2
+ m_LightmapSnapshot: {fileID: 0}
+ m_RuntimeCPUUsage: 25
+--- !u!196 &4
+NavMeshSettings:
+ serializedVersion: 2
+ m_ObjectHideFlags: 0
+ m_BuildSettings:
+ serializedVersion: 2
+ agentRadius: .5
+ agentHeight: 2
+ agentSlope: 45
+ agentClimb: .400000006
+ ledgeDropHeight: 0
+ maxJumpAcrossDistance: 0
+ accuratePlacement: 0
+ minRegionArea: 2
+ cellSize: .166666672
+ manualCellSize: 0
+ m_NavMeshData: {fileID: 0}
+--- !u!224 &26094926 stripped
+RectTransform:
+ m_PrefabParentObject: {fileID: 22461526, guid: 1146896f042c04546abd10ef08dc0354,
+ type: 2}
+ m_PrefabInternal: {fileID: 1928878396}
+--- !u!1 &476101859
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 4
+ m_Component:
+ - 224: {fileID: 476101860}
+ - 222: {fileID: 476101862}
+ - 114: {fileID: 476101861}
+ m_Layer: 5
+ m_Name: Background-Flight
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &476101860
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 476101859}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 1866791882}
+ m_RootOrder: 1
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: .5, y: .5}
+--- !u!114 &476101861
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 476101859}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 0
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 21300000, guid: 4105bbb9c3877934f99f89c091ba0b8b, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!222 &476101862
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 476101859}
+--- !u!1 &1398276586
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 4
+ m_Component:
+ - 4: {fileID: 1398276590}
+ - 114: {fileID: 1398276589}
+ - 114: {fileID: 1398276588}
+ - 114: {fileID: 1398276587}
+ m_Layer: 0
+ m_Name: EventSystem
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &1398276587
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1398276586}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 1997211142, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_ForceModuleActive: 0
+--- !u!114 &1398276588
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1398276586}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 1077351063, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_HorizontalAxis: Horizontal
+ m_VerticalAxis: Vertical
+ m_SubmitButton: Submit
+ m_CancelButton: Cancel
+ m_InputActionsPerSecond: 10
+ m_RepeatDelay: .5
+ m_ForceModuleActive: 0
+--- !u!114 &1398276589
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1398276586}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -619905303, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_FirstSelected: {fileID: 0}
+ m_sendNavigationEvents: 1
+ m_DragThreshold: 5
+--- !u!4 &1398276590
+Transform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1398276586}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_RootOrder: 2
+--- !u!1 &1866791878
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 4
+ m_Component:
+ - 224: {fileID: 1866791882}
+ - 223: {fileID: 1866791881}
+ - 114: {fileID: 1866791880}
+ - 114: {fileID: 1866791879}
+ m_Layer: 5
+ m_Name: Canvas
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &1866791879
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1866791878}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 1301386320, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_IgnoreReversedGraphics: 1
+ m_BlockingObjects: 0
+ m_BlockingMask:
+ serializedVersion: 2
+ m_Bits: 4294967295
+--- !u!114 &1866791880
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1866791878}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 1980459831, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_UiScaleMode: 0
+ m_ReferencePixelsPerUnit: 100
+ m_ScaleFactor: 1
+ m_ReferenceResolution: {x: 800, y: 600}
+ m_ScreenMatchMode: 0
+ m_MatchWidthOrHeight: 0
+ m_PhysicalUnit: 3
+ m_FallbackScreenDPI: 96
+ m_DefaultSpriteDPI: 96
+ m_DynamicPixelsPerUnit: 1
+--- !u!223 &1866791881
+Canvas:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1866791878}
+ m_Enabled: 1
+ serializedVersion: 2
+ m_RenderMode: 0
+ m_Camera: {fileID: 0}
+ m_PlaneDistance: 100
+ m_PixelPerfect: 0
+ m_ReceivesEvents: 1
+ m_OverrideSorting: 0
+ m_OverridePixelPerfect: 0
+ m_SortingLayerID: 0
+ m_SortingOrder: 0
+--- !u!224 &1866791882
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 1866791878}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 0, y: 0, z: 0}
+ m_Children:
+ - {fileID: 2037475081}
+ - {fileID: 476101860}
+ - {fileID: 26094926}
+ m_Father: {fileID: 0}
+ m_RootOrder: 1
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 0}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0, y: 0}
+--- !u!1001 &1928878396
+Prefab:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ m_TransformParent: {fileID: 1866791882}
+ m_Modifications:
+ - target: {fileID: 22461526, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
+ propertyPath: m_LocalPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 22461526, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
+ propertyPath: m_LocalPosition.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 22461526, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
+ propertyPath: m_LocalPosition.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 22461526, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
+ propertyPath: m_LocalRotation.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 22461526, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
+ propertyPath: m_LocalRotation.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 22461526, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
+ propertyPath: m_LocalRotation.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 22461526, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 22461526, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
+ propertyPath: m_RootOrder
+ value: 2
+ objectReference: {fileID: 0}
+ - target: {fileID: 22461526, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
+ propertyPath: m_AnchoredPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 22461526, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
+ propertyPath: m_AnchoredPosition.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 22461526, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
+ propertyPath: m_SizeDelta.x
+ value: 100
+ objectReference: {fileID: 0}
+ - target: {fileID: 22461526, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
+ propertyPath: m_SizeDelta.y
+ value: 30
+ objectReference: {fileID: 0}
+ - target: {fileID: 22461526, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
+ propertyPath: m_AnchorMin.x
+ value: .5
+ objectReference: {fileID: 0}
+ - target: {fileID: 22461526, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
+ propertyPath: m_AnchorMin.y
+ value: .5
+ objectReference: {fileID: 0}
+ - target: {fileID: 22461526, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
+ propertyPath: m_AnchorMax.x
+ value: .5
+ objectReference: {fileID: 0}
+ - target: {fileID: 22461526, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
+ propertyPath: m_AnchorMax.y
+ value: .5
+ objectReference: {fileID: 0}
+ - target: {fileID: 22461526, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
+ propertyPath: m_Pivot.x
+ value: .5
+ objectReference: {fileID: 0}
+ - target: {fileID: 22461526, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
+ propertyPath: m_Pivot.y
+ value: .5
+ objectReference: {fileID: 0}
+ - target: {fileID: 22456320, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
+ propertyPath: m_AnchorMin.y
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 22456320, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
+ propertyPath: m_AnchorMax.y
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 22456320, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
+ propertyPath: m_AnchoredPosition.x
+ value: 50
+ objectReference: {fileID: 0}
+ - target: {fileID: 22456320, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
+ propertyPath: m_AnchoredPosition.y
+ value: -25
+ objectReference: {fileID: 0}
+ - target: {fileID: 22456320, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
+ propertyPath: m_SizeDelta.x
+ value: 100
+ objectReference: {fileID: 0}
+ - target: {fileID: 22456320, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
+ propertyPath: m_SizeDelta.y
+ value: 10
+ objectReference: {fileID: 0}
+ - target: {fileID: 22465080, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
+ propertyPath: m_AnchorMin.y
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 22465080, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
+ propertyPath: m_AnchorMax.y
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 22465080, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
+ propertyPath: m_AnchoredPosition.x
+ value: 50
+ objectReference: {fileID: 0}
+ - target: {fileID: 22465080, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
+ propertyPath: m_SizeDelta.x
+ value: 100
+ objectReference: {fileID: 0}
+ - target: {fileID: 22465080, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
+ propertyPath: m_SizeDelta.y
+ value: 20
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_ParentPrefab: {fileID: 100100000, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
+ m_IsPrefabParent: 0
+--- !u!1 &2037475080
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 4
+ m_Component:
+ - 224: {fileID: 2037475081}
+ - 222: {fileID: 2037475083}
+ - 114: {fileID: 2037475082}
+ m_Layer: 5
+ m_Name: Background-Editor
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &2037475081
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 2037475080}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 1866791882}
+ m_RootOrder: 0
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: .5, y: .5}
+--- !u!114 &2037475082
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 2037475080}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 0
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 21300000, guid: 696e4ea6d01cf324889c1a7fa0c2fb06, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+--- !u!222 &2037475083
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 2037475080}
+--- !u!1 &2134872726
+GameObject:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ serializedVersion: 4
+ m_Component:
+ - 4: {fileID: 2134872731}
+ - 20: {fileID: 2134872730}
+ - 92: {fileID: 2134872729}
+ - 124: {fileID: 2134872728}
+ - 81: {fileID: 2134872727}
+ m_Layer: 0
+ m_Name: Main Camera
+ m_TagString: MainCamera
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!81 &2134872727
+AudioListener:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 2134872726}
+ m_Enabled: 1
+--- !u!124 &2134872728
+Behaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 2134872726}
+ m_Enabled: 1
+--- !u!92 &2134872729
+Behaviour:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 2134872726}
+ m_Enabled: 1
+--- !u!20 &2134872730
+Camera:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 2134872726}
+ m_Enabled: 1
+ serializedVersion: 2
+ m_ClearFlags: 2
+ m_BackGroundColor: {r: 0, g: 0, b: 0, a: .0196078438}
+ m_NormalizedViewPortRect:
+ serializedVersion: 2
+ x: 0
+ y: 0
+ width: 1
+ height: 1
+ near clip plane: .300000012
+ far clip plane: 1000
+ field of view: 60
+ orthographic: 1
+ orthographic size: 5
+ m_Depth: -1
+ m_CullingMask:
+ serializedVersion: 2
+ m_Bits: 4294967295
+ m_RenderingPath: -1
+ m_TargetTexture: {fileID: 0}
+ m_TargetDisplay: 0
+ m_TargetEye: 3
+ m_HDR: 0
+ m_OcclusionCulling: 1
+ m_StereoConvergence: 10
+ m_StereoSeparation: .0219999999
+ m_StereoMirrorMode: 0
+--- !u!4 &2134872731
+Transform:
+ m_ObjectHideFlags: 0
+ m_PrefabParentObject: {fileID: 0}
+ m_PrefabInternal: {fileID: 0}
+ m_GameObject: {fileID: 2134872726}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: -10}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_RootOrder: 0
--- /dev/null
+++ b/Assets/Scripts/Editor/BuildAssetBundles.cs
@@ -1,1 +1,29 @@
+//
+// Kerbal Engineer Redux
+//
+// Copyright (C) 2016 CYBUTEK
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see <http://www.gnu.org/licenses/>.
+//
+using UnityEditor;
+using UnityEngine;
+
+public class BuildAssetBundles : MonoBehaviour
+{
+ [MenuItem("Build/Asset Bundles")]
+ public static void Build()
+ {
+ BuildPipeline.BuildAssetBundles(Application.dataPath + "/../Output/KerbalEngineer", BuildAssetBundleOptions.UncompressedAssetBundle);
+ }
+}
Binary files /dev/null and b/Assets/Testing/background-editor.png differ
Binary files /dev/null and b/Assets/Testing/background-flight.png differ
Binary files a/Assets/ToolbarBackground.psd and /dev/null differ
Binary files a/Assets/ToolbarIcon.psd and /dev/null differ
--- a/Documents/CHANGES.txt
+++ b/Documents/CHANGES.txt
@@ -1,4 +1,13 @@
+1.1.0.0, XX-XX-16
+ Added: Asset bundle loading and integration.
+ Added: Styling system so that Unity UI objects can use KSP stock styles.
+ Added: Unity UI window system.
Changed: Thermal flux is now correctly indicated in kilowatts.
+ Changed: Complete rewrite of code underpinning the stock toolbar icons.
+ Changed: Flight Engineer toolbar menu recreated using Unity UI.
+ Changed: Replaced occurances of IMGUI using RenderingManager to use OnGUI directly.
+ Fixed: Toggling the 'Control Bar' now appropriately resizes the display stack.
+ Fixed: Part info tooltips in the editor remaining open when no part is selected.
1.0.19.4, 12-02-16
Fixed: Only 'STAGE_STACK_FLOW' and 'STAGE_STACK_FLOW_BALANCE' resources include surface mounted parts as fuel targets.
--- /dev/null
+++ b/KerbalEngineer.CSharp.Editor.csproj
@@ -1,1 +1,130 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <ProductVersion>10.0.20506</ProductVersion>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{D7B7C6CE-6B5A-CE40-5B7C-9D0E6583E469}</ProjectGuid>
+ <OutputType>Library</OutputType>
+ <AssemblyName>Assembly-CSharp-Editor</AssemblyName>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{E097FAD1-6243-4DAD-9C02-E9B9EFC3FFC1};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <TargetFrameworkIdentifier>.NETFramework</TargetFrameworkIdentifier>
+ <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
+ <TargetFrameworkProfile>Unity Full v3.5</TargetFrameworkProfile>
+ <CompilerResponseFile></CompilerResponseFile>
+ <UnityProjectType>Editor:5</UnityProjectType>
+ <UnityBuildTarget>StandaloneWindows:5</UnityBuildTarget>
+ <UnityVersion>5.2.4f1</UnityVersion>
+ <RootNamespace></RootNamespace>
+ <LangVersion Condition=" '$(VisualStudioVersion)' != '10.0' ">4</LangVersion>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ <DebugType>pdbonly</DebugType>
+ <Optimize>false</Optimize>
+ <OutputPath>Temp\UnityVS_bin\Debug\</OutputPath>
+ <IntermediateOutputPath>Temp\UnityVS_obj\Debug\</IntermediateOutputPath>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ <DefineConstants>DEBUG;TRACE;UNITY_5_2_4;UNITY_5_2;UNITY_5;ENABLE_NEW_BUGREPORTER;ENABLE_2D_PHYSICS;ENABLE_4_6_FEATURES;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_DUCK_TYPING;ENABLE_FRAME_DEBUGGER;ENABLE_GENERICS;ENABLE_HOME_SCREEN;ENABLE_IMAGEEFFECTS;ENABLE_LIGHT_PROBES_LEGACY;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_PLUGIN_INSPECTOR;ENABLE_SHADOWS;ENABLE_SINGLE_INSTANCE_BUILD_SETTING;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_RAKNET;ENABLE_UNET;ENABLE_UNITYEVENTS;ENABLE_VR;ENABLE_WEBCAM;ENABLE_WWW;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_HUB;ENABLE_CLOUD_PROJECT_ID;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_UNET;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_METRICS;ENABLE_REFLECTION_BUFFERS;INCLUDE_DYNAMIC_GI;INCLUDE_GI;INCLUDE_IL2CPP;INCLUDE_DIRECTX12;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;ENABLE_LOCALIZATION;ENABLE_ANDROID_ATLAS_ETC1_COMPRESSION;UNITY_STANDALONE_WIN;UNITY_STANDALONE;ENABLE_SUBSTANCE;ENABLE_TEXTUREID_MAP;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_LOG_MIXED_STACKTRACE;ENABLE_UNITYWEBREQUEST;ENABLE_EVENT_QUEUE;ENABLE_WEBSOCKET_HOST;ENABLE_MONO;ENABLE_PROFILER;DEBUG;TRACE;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN</DefineConstants>
+ <AllowUnsafeBlocks>false</AllowUnsafeBlocks>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <DebugType>pdbonly</DebugType>
+ <Optimize>false</Optimize>
+ <OutputPath>Temp\UnityVS_bin\Release\</OutputPath>
+ <IntermediateOutputPath>Temp\UnityVS_obj\Release\</IntermediateOutputPath>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ <DefineConstants>TRACE;UNITY_5_2_4;UNITY_5_2;UNITY_5;ENABLE_NEW_BUGREPORTER;ENABLE_2D_PHYSICS;ENABLE_4_6_FEATURES;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_DUCK_TYPING;ENABLE_FRAME_DEBUGGER;ENABLE_GENERICS;ENABLE_HOME_SCREEN;ENABLE_IMAGEEFFECTS;ENABLE_LIGHT_PROBES_LEGACY;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_PLUGIN_INSPECTOR;ENABLE_SHADOWS;ENABLE_SINGLE_INSTANCE_BUILD_SETTING;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_RAKNET;ENABLE_UNET;ENABLE_UNITYEVENTS;ENABLE_VR;ENABLE_WEBCAM;ENABLE_WWW;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_HUB;ENABLE_CLOUD_PROJECT_ID;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_UNET;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_METRICS;ENABLE_REFLECTION_BUFFERS;INCLUDE_DYNAMIC_GI;INCLUDE_GI;INCLUDE_IL2CPP;INCLUDE_DIRECTX12;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;ENABLE_LOCALIZATION;ENABLE_ANDROID_ATLAS_ETC1_COMPRESSION;UNITY_STANDALONE_WIN;UNITY_STANDALONE;ENABLE_SUBSTANCE;ENABLE_TEXTUREID_MAP;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_LOG_MIXED_STACKTRACE;ENABLE_UNITYWEBREQUEST;ENABLE_EVENT_QUEUE;ENABLE_WEBSOCKET_HOST;ENABLE_MONO;ENABLE_PROFILER;DEBUG;TRACE;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN</DefineConstants>
+ <AllowUnsafeBlocks>false</AllowUnsafeBlocks>
+ </PropertyGroup>
+ <ItemGroup>
+ <Reference Include="mscorlib" />
+ <Reference Include="System" />
+ <Reference Include="System.XML" />
+ <Reference Include="System.Core" />
+ <Reference Include="Boo.Lang" />
+ <Reference Include="UnityScript.Lang" />
+ <Reference Include="System.Runtime.Serialization" />
+ <Reference Include="System.Xml.Linq" />
+ <Reference Include="UnityEngine">
+ <HintPath>Library\UnityAssemblies\UnityEngine.dll</HintPath>
+ </Reference>
+ <Reference Include="UnityEditor">
+ <HintPath>Library\UnityAssemblies\UnityEditor.dll</HintPath>
+ </Reference>
+ <Reference Include="UnityEngine.Advertisements">
+ <HintPath>Library\UnityAssemblies\UnityEngine.Advertisements.dll</HintPath>
+ </Reference>
+ <Reference Include="UnityEditor.Advertisements">
+ <HintPath>Library\UnityAssemblies\UnityEditor.Advertisements.dll</HintPath>
+ </Reference>
+ <Reference Include="UnityEngine.UI">
+ <HintPath>Library\UnityAssemblies\UnityEngine.UI.dll</HintPath>
+ </Reference>
+ <Reference Include="UnityEditor.UI">
+ <HintPath>Library\UnityAssemblies\UnityEditor.UI.dll</HintPath>
+ </Reference>
+ <Reference Include="UnityEngine.Networking">
+ <HintPath>Library\UnityAssemblies\UnityEngine.Networking.dll</HintPath>
+ </Reference>
+ <Reference Include="UnityEditor.Networking">
+ <HintPath>Library\UnityAssemblies\UnityEditor.Networking.dll</HintPath>
+ </Reference>
+ <Reference Include="UnityEngine.Analytics">
+ <HintPath>Library\UnityAssemblies\UnityEngine.Analytics.dll</HintPath>
+ </Reference>
+ <Reference Include="UnityEditor.Graphs">
+ <HintPath>Library\UnityAssemblies\UnityEditor.Graphs.dll</HintPath>
+ </Reference>
+ <Reference Include="UnityEditor.Android.Extensions">
+ <HintPath>Library\UnityAssemblies\UnityEditor.Android.Extensions.dll</HintPath>
+ </Reference>
+ <Reference Include="UnityEditor.iOS.Extensions">
+ <HintPath>Library\UnityAssemblies\UnityEditor.iOS.Extensions.dll</HintPath>
+ </Reference>
+ <Reference Include="UnityEditor.WP8.Extensions">
+ <HintPath>Library\UnityAssemblies\UnityEditor.WP8.Extensions.dll</HintPath>
+ </Reference>
+ <Reference Include="UnityEditor.Metro.Extensions">
+ <HintPath>Library\UnityAssemblies\UnityEditor.Metro.Extensions.dll</HintPath>
+ </Reference>
+ <Reference Include="UnityEditor.Tizen.Extensions">
+ <HintPath>Library\UnityAssemblies\UnityEditor.Tizen.Extensions.dll</HintPath>
+ </Reference>
+ <Reference Include="UnityEditor.SamsungTV.Extensions">
+ <HintPath>Library\UnityAssemblies\UnityEditor.SamsungTV.Extensions.dll</HintPath>
+ </Reference>
+ <Reference Include="UnityEditor.WebGL.Extensions">
+ <HintPath>Library\UnityAssemblies\UnityEditor.WebGL.Extensions.dll</HintPath>
+ </Reference>
+ <Reference Include="UnityEditor.LinuxStandalone.Extensions">
+ <HintPath>Library\UnityAssemblies\UnityEditor.LinuxStandalone.Extensions.dll</HintPath>
+ </Reference>
+ <Reference Include="UnityEditor.WindowsStandalone.Extensions">
+ <HintPath>Library\UnityAssemblies\UnityEditor.WindowsStandalone.Extensions.dll</HintPath>
+ </Reference>
+ <Reference Include="UnityEditor.OSXStandalone.Extensions">
+ <HintPath>Library\UnityAssemblies\UnityEditor.OSXStandalone.Extensions.dll</HintPath>
+ </Reference>
+ <Reference Include="SyntaxTree.VisualStudio.Unity.Bridge">
+ <HintPath>Library\UnityAssemblies\SyntaxTree.VisualStudio.Unity.Bridge.dll</HintPath>
+ </Reference>
+ <Reference Include="Mono.Cecil">
+ <HintPath>Library\UnityAssemblies\Mono.Cecil.dll</HintPath>
+ </Reference>
+ <Reference Include="UnityEditor.iOS.Extensions.Xcode">
+ <HintPath>Library\UnityAssemblies\UnityEditor.iOS.Extensions.Xcode.dll</HintPath>
+ </Reference>
+ <Reference Include="KerbalEngineer.Unity">
+ <HintPath>Assets\Plugins\KerbalEngineer.Unity.dll</HintPath>
+ </Reference>
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="Assets\Scripts\Editor\BuildAssetBundles.cs" />
+ </ItemGroup>
+ <Import Project="$(MSBuildExtensionsPath)\SyntaxTree\UnityVS\2015\UnityVS.CSharp.targets" />
+</Project>
--- /dev/null
+++ b/KerbalEngineer.CSharp.csproj
@@ -1,1 +1,76 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <ProductVersion>10.0.20506</ProductVersion>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{26D24EAD-1AF6-6749-D9C8-C47AEC4E6A98}</ProjectGuid>
+ <OutputType>Library</OutputType>
+ <AssemblyName>Assembly-CSharp</AssemblyName>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{E097FAD1-6243-4DAD-9C02-E9B9EFC3FFC1};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <TargetFrameworkIdentifier>.NETFramework</TargetFrameworkIdentifier>
+ <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
+ <TargetFrameworkProfile>Unity Subset v3.5</TargetFrameworkProfile>
+ <CompilerResponseFile></CompilerResponseFile>
+ <UnityProjectType>Game:1</UnityProjectType>
+ <UnityBuildTarget>StandaloneWindows:5</UnityBuildTarget>
+ <UnityVersion>5.3.3p2</UnityVersion>
+ <RootNamespace></RootNamespace>
+ <LangVersion Condition=" '$(VisualStudioVersion)' != '10.0' ">4</LangVersion>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ <DebugType>pdbonly</DebugType>
+ <Optimize>false</Optimize>
+ <OutputPath>Temp\UnityVS_bin\Debug\</OutputPath>
+ <IntermediateOutputPath>Temp\UnityVS_obj\Debug\</IntermediateOutputPath>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ <DefineConstants>DEBUG;TRACE;UNITY_5_3_3;UNITY_5_3;UNITY_5;ENABLE_NEW_BUGREPORTER;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_DUCK_TYPING;ENABLE_FRAME_DEBUGGER;ENABLE_GENERICS;ENABLE_HOME_SCREEN;ENABLE_IMAGEEFFECTS;ENABLE_LIGHT_PROBES_LEGACY;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_PLUGIN_INSPECTOR;ENABLE_SHADOWS;ENABLE_SINGLE_INSTANCE_BUILD_SETTING;ENABLE_SPRITERENDERER_FLIPPING;ENABLE_SPRITES;ENABLE_SPRITE_POLYGON;ENABLE_TERRAIN;ENABLE_RAKNET;ENABLE_UNET;ENABLE_UNITYEVENTS;ENABLE_VR;ENABLE_WEBCAM;ENABLE_WWW;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_HUB;ENABLE_CLOUD_PROJECT_ID;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_UNET;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_METRICS;ENABLE_EDITOR_METRICS_CACHING;INCLUDE_DYNAMIC_GI;INCLUDE_GI;INCLUDE_IL2CPP;INCLUDE_DIRECTX12;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;ENABLE_LOCALIZATION;ENABLE_ANDROID_ATLAS_ETC1_COMPRESSION;ENABLE_EDITOR_TESTS_RUNNER;UNITY_STANDALONE_WIN;UNITY_STANDALONE;ENABLE_SUBSTANCE;ENABLE_TEXTUREID_MAP;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_LOG_MIXED_STACKTRACE;ENABLE_UNITYWEBREQUEST;ENABLE_EVENT_QUEUE;ENABLE_CLUSTERINPUT;ENABLE_WEBSOCKET_HOST;ENABLE_MONO;ENABLE_PROFILER;DEBUG;TRACE;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN</DefineConstants>
+ <AllowUnsafeBlocks>false</AllowUnsafeBlocks>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <DebugType>pdbonly</DebugType>
+ <Optimize>false</Optimize>
+ <OutputPath>Temp\UnityVS_bin\Release\</OutputPath>
+ <IntermediateOutputPath>Temp\UnityVS_obj\Release\</IntermediateOutputPath>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ <DefineConstants>TRACE;UNITY_5_3_3;UNITY_5_3;UNITY_5;ENABLE_NEW_BUGREPORTER;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_DUCK_TYPING;ENABLE_FRAME_DEBUGGER;ENABLE_GENERICS;ENABLE_HOME_SCREEN;ENABLE_IMAGEEFFECTS;ENABLE_LIGHT_PROBES_LEGACY;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_PLUGIN_INSPECTOR;ENABLE_SHADOWS;ENABLE_SINGLE_INSTANCE_BUILD_SETTING;ENABLE_SPRITERENDERER_FLIPPING;ENABLE_SPRITES;ENABLE_SPRITE_POLYGON;ENABLE_TERRAIN;ENABLE_RAKNET;ENABLE_UNET;ENABLE_UNITYEVENTS;ENABLE_VR;ENABLE_WEBCAM;ENABLE_WWW;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_HUB;ENABLE_CLOUD_PROJECT_ID;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_UNET;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_METRICS;ENABLE_EDITOR_METRICS_CACHING;INCLUDE_DYNAMIC_GI;INCLUDE_GI;INCLUDE_IL2CPP;INCLUDE_DIRECTX12;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;ENABLE_LOCALIZATION;ENABLE_ANDROID_ATLAS_ETC1_COMPRESSION;ENABLE_EDITOR_TESTS_RUNNER;UNITY_STANDALONE_WIN;UNITY_STANDALONE;ENABLE_SUBSTANCE;ENABLE_TEXTUREID_MAP;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_LOG_MIXED_STACKTRACE;ENABLE_UNITYWEBREQUEST;ENABLE_EVENT_QUEUE;ENABLE_CLUSTERINPUT;ENABLE_WEBSOCKET_HOST;ENABLE_MONO;ENABLE_PROFILER;DEBUG;TRACE;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN</DefineConstants>
+ <AllowUnsafeBlocks>false</AllowUnsafeBlocks>
+ </PropertyGroup>
+ <ItemGroup>
+ <Reference Include="mscorlib" />
+ <Reference Include="System" />
+ <Reference Include="System.XML" />
+ <Reference Include="System.Core" />
+ <Reference Include="Boo.Lang" />
+ <Reference Include="UnityScript.Lang" />
+ <Reference Include="System.Runtime.Serialization" />
+ <Reference Include="System.Xml.Linq" />
+ <Reference Include="UnityEngine">
+ <HintPath>Library\UnityAssemblies\UnityEngine.dll</HintPath>
+ </Reference>
+ <Reference Include="UnityEngine.UI">
+ <HintPath>Library\UnityAssemblies\UnityEngine.UI.dll</HintPath>
+ </Reference>
+ <Reference Include="UnityEngine.Networking">
+ <HintPath>Library\UnityAssemblies\UnityEngine.Networking.dll</HintPath>
+ </Reference>
+ <Reference Include="UnityEngine.Networking">
+ <HintPath>Library\UnityAssemblies\UnityEngine.Networking.dll</HintPath>
+ </Reference>
+ <Reference Include="UnityEngine.UI">
+ <HintPath>Library\UnityAssemblies\UnityEngine.UI.dll</HintPath>
+ </Reference>
+ <Reference Include="UnityEditor">
+ <HintPath>Library\UnityAssemblies\UnityEditor.dll</HintPath>
+ </Reference>
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="Assets\Scripts\BuildAssetBundles.cs" />
+ </ItemGroup>
+ <Import Project="$(MSBuildExtensionsPath)\SyntaxTree\UnityVS\2015\UnityVS.CSharp.targets" />
+</Project>
--- /dev/null
+++ b/KerbalEngineer.Unity/CanvasGroupFader.cs
@@ -1,1 +1,108 @@
+//
+// Kerbal Engineer Redux
+//
+// Copyright (C) 2016 CYBUTEK
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see <http://www.gnu.org/licenses/>.
+//
+namespace KerbalEngineer.Unity
+{
+ using System;
+ using System.Collections;
+ using UnityEngine;
+
+ [RequireComponent(typeof(CanvasGroup))]
+ public class CanvasGroupFader : MonoBehaviour
+ {
+ private CanvasGroup m_CanvasGroup;
+ private IEnumerator m_FadeCoroutine;
+
+ public bool IsFading
+ {
+ get
+ {
+ return m_FadeCoroutine != null;
+ }
+ }
+
+ /// <summary>
+ /// Fades the canvas group to a specified alpha using the supplied blocking state during fade with optional callback.
+ /// </summary>
+ public void FadeTo(float alpha, float duration, Action callback = null)
+ {
+ if (m_CanvasGroup == null)
+ {
+ return;
+ }
+
+ Fade(m_CanvasGroup.alpha, alpha, duration, callback);
+ }
+
+ /// <summary>
+ /// Sets the alpha value of the canvas group.
+ /// </summary>
+ public void SetAlpha(float alpha)
+ {
+ if (m_CanvasGroup == null)
+ {
+ return;
+ }
+
+ alpha = Mathf.Clamp01(alpha);
+ m_CanvasGroup.alpha = alpha;
+ }
+
+ protected virtual void Awake()
+ {
+ // cache components
+ m_CanvasGroup = GetComponent<CanvasGroup>();
+ }
+
+ /// <summary>
+ /// Starts a fade from one alpha value to another with callback.
+ /// </summary>
+ private void Fade(float from, float to, float duration, Action callback)
+ {
+ if (m_FadeCoroutine != null)
+ {
+ StopCoroutine(m_FadeCoroutine);
+ }
+
+ m_FadeCoroutine = FadeCoroutine(from, to, duration, callback);
+ StartCoroutine(m_FadeCoroutine);
+ }
+
+ /// <summary>
+ /// Coroutine that handles the fading.
+ /// </summary>
+ private IEnumerator FadeCoroutine(float from, float to, float duration, Action callback)
+ {
+ // wait for end of frame so that only the last call to fade that frame is honoured.
+ yield return new WaitForEndOfFrame();
+
+ float progress = 0.0f;
+
+ while (progress <= 1.0f)
+ {
+ progress += Time.deltaTime / duration;
+ SetAlpha(Mathf.Lerp(from, to, progress));
+ yield return null;
+ }
+
+ callback?.Invoke();
+
+ m_FadeCoroutine = null;
+ }
+ }
+}
--- /dev/null
+++ b/KerbalEngineer.Unity/Flight/FlightMenu.cs
@@ -1,1 +1,226 @@
-
+//
+// Kerbal Engineer Redux
+//
+// Copyright (C) 2016 CYBUTEK
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see <http://www.gnu.org/licenses/>.
+//
+
+namespace KerbalEngineer.Unity.Flight
+{
+ using System.Collections.Generic;
+ using UnityEngine;
+ using UnityEngine.EventSystems;
+ using UnityEngine.UI;
+
+ [RequireComponent(typeof(RectTransform))]
+ public class FlightMenu : CanvasGroupFader, IPointerEnterHandler, IPointerExitHandler
+ {
+ [SerializeField]
+ private Toggle m_ShowEngineerToggle = null;
+
+ [SerializeField]
+ private Toggle m_ControlBarToggle = null;
+
+ [SerializeField]
+ private GameObject m_MenuSectionPrefab = null;
+
+ [SerializeField]
+ private Transform m_SectionsTransform = null;
+
+ [SerializeField]
+ private float m_FastFadeDuration = 0.2f;
+
+ [SerializeField]
+ private float m_SlowFadeDuration = 1.0f;
+
+ private IFlightAppLauncher m_FlightAppLauncher;
+ private RectTransform m_RectTransform;
+
+ public void OnPointerEnter(PointerEventData eventData)
+ {
+ FadeIn();
+ }
+
+ public void OnPointerExit(PointerEventData eventData)
+ {
+ // slow-fade out if the application launcher button is off
+ if (m_FlightAppLauncher != null && m_FlightAppLauncher.IsOn == false)
+ {
+ FadeTo(0.0f, m_SlowFadeDuration, Destroy);
+ }
+ }
+
+ /// <summary>
+ /// Fades out and destroys the menu.
+ /// </summary>
+ public void Close()
+ {
+ FadeTo(0.0f, m_FastFadeDuration, Destroy);
+ }
+
+ /// <summary>
+ /// Fades in the menu.
+ /// </summary>
+ public void FadeIn()
+ {
+ FadeTo(1.0f, m_FastFadeDuration);
+ }
+
+ /// <summary>
+ /// Creates a new custom section.
+ /// </summary>
+ public void NewCustomSection()
+ {
+ if (m_FlightAppLauncher != null)
+ {
+ CreateSectionControl(m_FlightAppLauncher.NewCustomSection());
+ }
+ }
+
+ /// <summary>
+ /// Sets the control bar visiblity.
+ /// </summary>
+ public void SetControlBarVisible(bool visible)
+ {
+ if (m_FlightAppLauncher != null)
+ {
+ m_FlightAppLauncher.IsControlBarVisible = visible;
+ }
+ }
+
+ /// <summary>
+ /// Sets the display stack visibility.
+ /// </summary>
+ public void SetDisplayStackVisible(bool visible)
+ {
+ if (m_FlightAppLauncher != null)
+ {
+ m_FlightAppLauncher.IsDisplayStackVisible = visible;
+ }
+ }
+
+ /// <summary>
+ /// Sets a reference to the flight app launcher object.
+ /// </summary>
+ public void SetFlightAppLauncher(IFlightAppLauncher flightAppLauncher)
+ {
+ if (flightAppLauncher == null)
+ {
+ return;
+ }
+
+ m_FlightAppLauncher = flightAppLauncher;
+
+ // create section controls
+ CreateSectionControls(m_FlightAppLauncher.GetStockSections());
+ CreateSectionControls(m_FlightAppLauncher.GetCustomSections());
+ }
+
+ protected override void Awake()
+ {
+ base.Awake();
+
+ // cache components
+ m_RectTransform = GetComponent<RectTransform>();
+ }
+
+ protected virtual void Start()
+ {
+ // set starting alpha to zero and fade in
+ SetAlpha(0.0f);
+ FadeIn();
+ }
+
+ protected virtual void Update()
+ {
+ if (m_FlightAppLauncher == null)
+ {
+ return;
+ }
+
+ // set toggle states to match the actual states
+ SetToggle(m_ShowEngineerToggle, m_FlightAppLauncher.IsDisplayStackVisible);
+ SetToggle(m_ControlBarToggle, m_FlightAppLauncher.IsControlBarVisible);
+
+ // update anchor position
+ if (m_RectTransform != null)
+ {
+ m_RectTransform.position = m_FlightAppLauncher.GetAnchor();
+ m_FlightAppLauncher.ClampToScreen(m_RectTransform);
+ }
+ }
+
+ /// <summary>
+ /// Sets a given toggle to the specified state with null checking.
+ /// </summary>
+ private static void SetToggle(Toggle toggle, bool state)
+ {
+ if (toggle != null)
+ {
+ toggle.isOn = state;
+ }
+ }
+
+ /// <summary>
+ /// Creates a menu section control.
+ /// </summary>
+ private void CreateSectionControl(ISectionModule section)
+ {
+ GameObject menuSectionObject = Instantiate(m_MenuSectionPrefab);
+ if (menuSectionObject != null)
+ {
+ // apply ksp theme to the created menu section object
+ m_FlightAppLauncher.ApplyTheme(menuSectionObject);
+
+ menuSectionObject.transform.SetParent(m_SectionsTransform, false);
+
+ FlightMenuSection menuSection = menuSectionObject.GetComponent<FlightMenuSection>();
+ if (menuSection != null)
+ {
+ menuSection.SetAssignedSection(section);
+ }
+ }
+ }
+
+ /// <summary>
+ /// Creates a list of section controls from a given list of sections.
+ /// </summary>
+ private void CreateSectionControls(IList<ISectionModule> sections)
+ {
+ if (sections == null || m_MenuSectionPrefab == null || m_SectionsTransform == null)
+ {
+ return;
+ }
+
+ for (int i = 0; i < sections.Count; i++)
+ {
+ ISectionModule section = sections[i];
+ if (section != null)
+ {
+ CreateSectionControl(section);
+ }
+ }
+ }
+
+ /// <summary>
+ /// Destroys the game object.
+ /// </summary>
+ private void Destroy()
+ {
+ // disable game object first due to an issue within unity 5.2.4f1 that shows a single frame at full opaque alpha just before destruction
+ gameObject.SetActive(false);
+ Destroy(gameObject);
+ }
+ }
+}
--- /dev/null
+++ b/KerbalEngineer.Unity/Flight/FlightMenuSection.cs
@@ -1,1 +1,130 @@
+//
+// Kerbal Engineer Redux
+//
+// Copyright (C) 2016 CYBUTEK
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see <http://www.gnu.org/licenses/>.
+//
+namespace KerbalEngineer.Unity.Flight
+{
+ using UnityEngine;
+ using UnityEngine.UI;
+
+ public class FlightMenuSection : MonoBehaviour
+ {
+ [SerializeField]
+ private Toggle m_DisplayToggle = null;
+
+ [SerializeField]
+ private Text m_DisplayText = null;
+
+ [SerializeField]
+ private Toggle m_EditToggle = null;
+
+ private ISectionModule m_Section;
+
+ /// <summary>
+ /// Gets or sets the section's editor visibility.
+ /// </summary>
+ public bool IsEditorVisible
+ {
+ get
+ {
+ if (m_EditToggle != null)
+ {
+ return m_EditToggle.isOn;
+ }
+
+ return true;
+ }
+ set
+ {
+ if (m_EditToggle != null)
+ {
+ m_EditToggle.isOn = value;
+ }
+ }
+ }
+
+ /// <summary>
+ /// Sets the assigned section to be handled by the menu object.
+ /// </summary>
+ public void SetAssignedSection(ISectionModule section)
+ {
+ if (section == null)
+ {
+ return;
+ }
+
+ m_Section = section;
+ }
+
+ /// <summary>
+ /// Sets the section's display visibility.
+ /// </summary>
+ public void SetDisplayVisible(bool visible)
+ {
+ if (m_Section != null)
+ {
+ m_Section.IsVisible = visible;
+ }
+ }
+
+ /// <summary>
+ /// Sets the section's editor visibility.
+ /// </summary>
+ public void SetEditorVisible(bool visible)
+ {
+ if (m_Section != null)
+ {
+ m_Section.IsEditorVisible = visible;
+ }
+ }
+
+ protected virtual void Update()
+ {
+ UpdateControls();
+ }
+
+ /// <summary>
+ /// Updates the menu section's controls.
+ /// </summary>
+ private void UpdateControls()
+ {
+ if (m_Section == null || m_Section.IsDeleted)
+ {
+ Destroy(gameObject);
+ return;
+ }
+
+ // display visible
+ if (m_DisplayToggle != null)
+ {
+ m_DisplayToggle.isOn = m_Section.IsVisible;
+ }
+
+ // display name
+ if (m_DisplayText != null)
+ {
+ m_DisplayText.text = m_Section.Name.ToUpperInvariant();
+ }
+
+ // editor visible
+ if (m_EditToggle != null)
+ {
+ m_EditToggle.isOn = m_Section.IsEditorVisible;
+ }
+ }
+ }
+}
--- /dev/null
+++ b/KerbalEngineer.Unity/Flight/IFlightAppLauncher.cs
@@ -1,1 +1,44 @@
+//
+// Kerbal Engineer Redux
+//
+// Copyright (C) 2016 CYBUTEK
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see <http://www.gnu.org/licenses/>.
+//
+namespace KerbalEngineer.Unity.Flight
+{
+ using System.Collections.Generic;
+ using UnityEngine;
+
+ public interface IFlightAppLauncher
+ {
+ bool IsControlBarVisible { get; set; }
+
+ bool IsDisplayStackVisible { get; set; }
+
+ bool IsOn { get; }
+
+ void ApplyTheme(GameObject gameObject);
+
+ void ClampToScreen(RectTransform rectTransform);
+
+ Vector3 GetAnchor();
+
+ IList<ISectionModule> GetCustomSections();
+
+ IList<ISectionModule> GetStockSections();
+
+ ISectionModule NewCustomSection();
+ }
+}
--- /dev/null
+++ b/KerbalEngineer.Unity/Flight/ISectionModule.cs
@@ -1,1 +1,31 @@
+//
+// Kerbal Engineer Redux
+//
+// Copyright (C) 2016 CYBUTEK
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see <http://www.gnu.org/licenses/>.
+//
+namespace KerbalEngineer.Unity.Flight
+{
+ public interface ISectionModule
+ {
+ bool IsDeleted { get; }
+
+ bool IsEditorVisible { get; set; }
+
+ bool IsVisible { get; set; }
+
+ string Name { get; }
+ }
+}
--- /dev/null
+++ b/KerbalEngineer.Unity/KerbalEngineer.Unity.csproj
@@ -1,1 +1,70 @@
-
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <ProjectGuid>{5387BB1E-32B1-4BAC-B03F-100570B9554C}</ProjectGuid>
+ <OutputType>Library</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <RootNamespace>KerbalEngineer.Unity</RootNamespace>
+ <AssemblyName>KerbalEngineer.Unity</AssemblyName>
+ <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
+ <FileAlignment>512</FileAlignment>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ <DebugSymbols>true</DebugSymbols>
+ <DebugType>full</DebugType>
+ <Optimize>false</Optimize>
+ <OutputPath>bin\Debug\</OutputPath>
+ <DefineConstants>DEBUG;TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <DebugType>none</DebugType>
+ <Optimize>true</Optimize>
+ <OutputPath>..\Output\KerbalEngineer\</OutputPath>
+ <DefineConstants>
+ </DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="CanvasGroupFader.cs" />
+ <Compile Include="Flight\FlightMenu.cs" />
+ <Compile Include="Flight\FlightMenuSection.cs" />
+ <Compile Include="Flight\IFlightAppLauncher.cs" />
+ <Compile Include="Flight\ISectionModule.cs" />
+ <Compile Include="Properties\AssemblyInfo.cs" />
+ <Compile Include="Setting.cs" />
+ <Compile Include="UI\TextStyle.cs" />
+ <Compile Include="UI\StyleApplicator.cs" />
+ <Compile Include="UI\Window.cs" />
+ </ItemGroup>
+ <ItemGroup>
+ <Reference Include="System">
+ <HintPath>..\..\game\KSP_Data\Managed\System.dll</HintPath>
+ <Private>False</Private>
+ </Reference>
+ <Reference Include="UnityEngine">
+ <HintPath>..\..\game\KSP_Data\Managed\UnityEngine.dll</HintPath>
+ <Private>False</Private>
+ </Reference>
+ <Reference Include="UnityEngine.UI">
+ <HintPath>..\..\game\KSP_Data\Managed\UnityEngine.UI.dll</HintPath>
+ <Private>False</Private>
+ </Reference>
+ </ItemGroup>
+ <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+ <PropertyGroup>
+ <PostBuildEvent>copy "$(TargetPath)" "$(SolutionDir)Assets\Plugins" /Y</PostBuildEvent>
+ </PropertyGroup>
+ <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
+ Other similar extension points exist, see Microsoft.Common.targets.
+ <Target Name="BeforeBuild">
+ </Target>
+ <Target Name="AfterBuild">
+ </Target>
+ -->
+</Project>
--- /dev/null
+++ b/KerbalEngineer.Unity/Properties/AssemblyInfo.cs
@@ -1,1 +1,10 @@
+using System.Reflection;
+using System.Runtime.InteropServices;
+[assembly: AssemblyTitle("KerbalEngineer.Unity")]
+[assembly: AssemblyProduct("KerbalEngineer.Unity")]
+[assembly: AssemblyCopyright("Copyright © CYBUTEK 2016")]
+[assembly: ComVisible(false)]
+[assembly: Guid("5387bb1e-32b1-4bac-b03f-100570b9554c")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
--- /dev/null
+++ b/KerbalEngineer.Unity/Setting.cs
@@ -1,1 +1,147 @@
+namespace KerbalEngineer.Unity
+{
+ using System;
+ using UnityEngine;
+ using UnityEngine.Events;
+ using UnityEngine.UI;
+ public class Setting : MonoBehaviour
+ {
+ [SerializeField]
+ private Text m_Label = null;
+
+ [SerializeField]
+ private Transform m_ButtonsTransform = null;
+
+ [SerializeField]
+ private GameObject m_SettingButtonPrefab = null;
+
+ [SerializeField]
+ private GameObject m_SettingTogglePrefab = null;
+
+ private Action m_OnUpdate;
+
+ public Button AddButton(string text, float width, UnityAction onClick)
+ {
+ Button button = null;
+
+ if (m_SettingButtonPrefab != null)
+ {
+ GameObject buttonObject = Instantiate(m_SettingButtonPrefab);
+ if (buttonObject != null)
+ {
+ button = buttonObject.GetComponent<Button>();
+
+ SetParentTransform(buttonObject, m_ButtonsTransform);
+ SetWidth(buttonObject, width);
+ SetText(buttonObject, text);
+ SetButton(buttonObject, onClick);
+ }
+ }
+
+ return button;
+ }
+
+ public Toggle AddToggle(string text, float width, UnityAction<bool> onValueChanged)
+ {
+ Toggle toggle = null;
+
+ if (m_SettingTogglePrefab != null)
+ {
+ GameObject toggleObject = Instantiate(m_SettingTogglePrefab);
+ if (toggleObject != null)
+ {
+ toggle = toggleObject.GetComponent<Toggle>();
+
+ SetParentTransform(toggleObject, m_ButtonsTransform);
+ SetWidth(toggleObject, width);
+ SetText(toggleObject, text);
+ SetToggle(toggleObject, onValueChanged);
+ }
+ }
+
+ return toggle;
+ }
+
+ public void AddUpdateHandler(Action onUpdate)
+ {
+ m_OnUpdate = onUpdate;
+ }
+
+ public void SetLabel(string text)
+ {
+ if (m_Label != null)
+ {
+ m_Label.text = text;
+ }
+ }
+
+ protected virtual void Update()
+ {
+ m_OnUpdate?.Invoke();
+ }
+
+ private static void SetButton(GameObject buttonObject, UnityAction onClick)
+ {
+ if (buttonObject != null)
+ {
+ Button button = buttonObject.GetComponent<Button>();
+ if (button != null)
+ {
+ button.onClick.AddListener(onClick);
+ }
+ }
+ }
+
+ private static void SetParentTransform(GameObject childObject, Transform parentTransform)
+ {
+ if (childObject != null && parentTransform != null)
+ {
+ childObject.transform.SetParent(parentTransform, false);
+ }
+ }
+
+ private static void SetText(GameObject parentObject, string text)
+ {
+ if (parentObject != null)
+ {
+ Text textComponent = parentObject.GetComponentInChildren<Text>();
+ if (textComponent != null)
+ {
+ textComponent.text = text;
+ }
+ }
+ }
+
+ private static void SetToggle(GameObject toggleObject, UnityAction<bool> onValueChanged)
+ {
+ if (toggleObject != null)
+ {
+ Toggle toggle = toggleObject.GetComponent<Toggle>();
+ if (toggle != null)
+ {
+ toggle.onValueChanged.AddListener(onValueChanged);
+ }
+ }
+ }
+
+ private static void SetWidth(GameObject parentObject, float width)
+ {
+ if (parentObject != null)
+ {
+ LayoutElement layout = parentObject.GetComponent<LayoutElement>();
+ if (layout != null)
+ {
+ if (width > 0.0f)
+ {
+ layout.preferredWidth = width;
+ }
+ else
+ {
+ layout.flexibleWidth = 1.0f;
+ }
+ }
+ }
+ }
+ }
+}
--- /dev/null
+++ b/KerbalEngineer.Unity/UI/StyleApplicator.cs
@@ -1,1 +1,130 @@
+//
+// Kerbal Engineer Redux
+//
+// Copyright (C) 2016 CYBUTEK
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see <http://www.gnu.org/licenses/>.
+//
+namespace KerbalEngineer.Unity.UI
+{
+ using UnityEngine;
+ using UnityEngine.UI;
+
+ public class StyleApplicator : MonoBehaviour
+ {
+ public enum ElementTypes
+ {
+ None,
+ Window,
+ Box,
+ Button,
+ ButtonToggle,
+ Label
+ }
+
+ [SerializeField]
+ private ElementTypes m_ElementType = ElementTypes.None;
+
+ /// <summary>
+ /// Gets the UI element type used by the ThemeManager for selecting how to apply the theme.
+ /// </summary>
+ public ElementTypes ElementType
+ {
+ get
+ {
+ return m_ElementType;
+ }
+ }
+
+ /// <summary>
+ /// Sets a the applicator to apply the selected sprite to an attached image component.
+ /// </summary>
+ public void SetImage(Sprite sprite, Image.Type type)
+ {
+ Image image = GetComponent<Image>();
+ if (image == null)
+ {
+ return;
+ }
+
+ image.sprite = sprite;
+ image.type = type;
+ }
+
+ /// <summary>
+ /// Sets the applicator to apply the specified values to an attached selectable component.
+ /// </summary>
+ public void SetSelectable(TextStyle textStyle, Sprite normal, Sprite highlight, Sprite pressed, Sprite disabled)
+ {
+ SetText(textStyle, GetComponentInChildren<Text>());
+
+ Selectable selectable = GetComponent<Selectable>();
+ if (selectable != null)
+ {
+ selectable.image.sprite = normal;
+ selectable.image.type = Image.Type.Sliced;
+
+ selectable.transition = Selectable.Transition.SpriteSwap;
+
+ SpriteState spriteState = selectable.spriteState;
+ spriteState.highlightedSprite = highlight;
+ spriteState.pressedSprite = pressed;
+ spriteState.disabledSprite = disabled;
+ selectable.spriteState = spriteState;
+ }
+ }
+
+ /// <summary>
+ /// Sets the applicator to apply a style to an attached text component.
+ /// </summary>
+ public void SetText(TextStyle textStyle)
+ {
+ SetText(textStyle, GetComponent<Text>());
+ }
+
+ /// <summary>
+ /// Sets the applicator to apply the specified values to an attached toggle component.
+ /// </summary>
+ public void SetToggle(TextStyle textStyle, Sprite normal, Sprite highlight, Sprite pressed, Sprite disabled)
+ {
+ SetSelectable(textStyle, normal, highlight, pressed, disabled);
+
+ Image toggleImage = GetComponent<Toggle>()?.graphic as Image;
+ if (toggleImage != null)
+ {
+ toggleImage.sprite = pressed;
+ toggleImage.type = Image.Type.Sliced;
+ }
+ }
+
+ /// <summary>
+ /// Sets the applicator to apply a style to the supplied text component.
+ /// </summary>
+ private static void SetText(TextStyle textStyle, Text textComponent)
+ {
+ if (textStyle == null || textComponent == null)
+ {
+ return;
+ }
+
+ if (textStyle.Font != null)
+ {
+ textComponent.font = textStyle.Font;
+ }
+ textComponent.fontSize = textStyle.Size;
+ textComponent.fontStyle = textStyle.Style;
+ textComponent.color = textStyle.Colour;
+ }
+ }
+}
--- /dev/null
+++ b/KerbalEngineer.Unity/UI/TextStyle.cs
@@ -1,1 +1,60 @@
+namespace KerbalEngineer.Unity.UI
+{
+ using UnityEngine;
+ public class TextStyle
+ {
+ private Color m_Colour;
+ private Font m_Font;
+ private int m_Size;
+ private FontStyle m_Style;
+
+ public Color Colour
+ {
+ get
+ {
+ return m_Colour;
+ }
+ set
+ {
+ m_Colour = value;
+ }
+ }
+
+ public Font Font
+ {
+ get
+ {
+ return m_Font;
+ }
+ set
+ {
+ m_Font = value;
+ }
+ }
+
+ public int Size
+ {
+ get
+ {
+ return m_Size;
+ }
+ set
+ {
+ m_Size = value;
+ }
+ }
+
+ public FontStyle Style
+ {
+ get
+ {
+ return m_Style;
+ }
+ set
+ {
+ m_Style = value;
+ }
+ }
+ }
+}
--- /dev/null
+++ b/KerbalEngineer.Unity/UI/Window.cs
@@ -1,1 +1,167 @@
+namespace KerbalEngineer.Unity.UI
+{
+ using System;
+ using System.Collections;
+ using UnityEngine;
+ using UnityEngine.EventSystems;
+ using UnityEngine.UI;
+ [RequireComponent(typeof(RectTransform), typeof(CanvasGroup))]
+ public class Window : MonoBehaviour, IBeginDragHandler, IDragHandler
+ {
+ [SerializeField]
+ private Text m_Title = null;
+
+ [SerializeField]
+ private Transform m_Content = null;
+
+ private Vector2 m_BeginMousePosition;
+ private Vector3 m_BeginWindowPosition;
+ private CanvasGroup m_CanvasGroup;
+ private RectTransform m_RectTransform;
+ private IEnumerator m_ScaleFadeCoroutine;
+
+ /// <summary>
+ /// Gets the content transform.
+ /// </summary>
+ public Transform Content
+ {
+ get
+ {
+ return m_Content;
+ }
+ }
+
+ /// <summary>
+ /// Gets the rect transform component.
+ /// </summary>
+ public RectTransform RectTransform
+ {
+ get
+ {
+ return m_RectTransform;
+ }
+ }
+
+ public void OnBeginDrag(PointerEventData eventData)
+ {
+ if (m_RectTransform == null)
+ {
+ return;
+ }
+
+ // cache starting positions
+ m_BeginMousePosition = eventData.position;
+ m_BeginWindowPosition = m_RectTransform.position;
+ }
+
+ public void OnDrag(PointerEventData eventData)
+ {
+ if (m_RectTransform != null)
+ {
+ // new position is the starting window position plus the delta of the current and starting mouse positions
+ m_RectTransform.position = m_BeginWindowPosition + (Vector3)(eventData.position - m_BeginMousePosition);
+ }
+ }
+
+ /// <summary>
+ /// Adds a game object as a child of the window content.
+ /// </summary>
+ public void AddToContent(GameObject childObject)
+ {
+ if (m_Content != null && childObject != null)
+ {
+ childObject.transform.SetParent(m_Content, false);
+ }
+ }
+
+ /// <summary>
+ /// Closes the window.
+ /// </summary>
+ public void Close()
+ {
+ ScaleFade(1.0f, 0.0f, () => Destroy(gameObject));
+ }
+
+ /// <summary>
+ /// Sets the window title.
+ /// </summary>
+ public void SetTitle(string title)
+ {
+ if (m_Title != null)
+ {
+ m_Title.text = title;
+ }
+ }
+
+ /// <summary>
+ /// Sets the window size.
+ /// </summary>
+ public void SetWidth(float width)
+ {
+ if (m_RectTransform != null)
+ {
+ Vector2 size = m_RectTransform.sizeDelta;
+ size.x = width;
+ m_RectTransform.sizeDelta = size;
+ }
+ }
+
+ protected virtual void Awake()
+ {
+ // component caching
+ m_RectTransform = GetComponent<RectTransform>();
+ m_CanvasGroup = GetComponent<CanvasGroup>();
+ }
+
+ protected virtual void OnEnable()
+ {
+ // scales and fades the window into view
+ ScaleFade(0.0f, 1.0f, null);
+ }
+
+ /// <summary>
+ /// Scales and fades from a value to another with callback.
+ /// </summary>
+ private void ScaleFade(float from, float to, Action callback)
+ {
+ if (m_ScaleFadeCoroutine != null)
+ {
+ StopCoroutine(m_ScaleFadeCoroutine);
+ }
+
+ m_ScaleFadeCoroutine = ScaleFadeCoroutine(from, to, callback);
+ StartCoroutine(m_ScaleFadeCoroutine);
+ }
+
+ /// <summary>
+ /// Coroutine to handle the scale and fading of the window.
+ /// </summary>
+ private IEnumerator ScaleFadeCoroutine(float from, float to, Action callback)
+ {
+ float progress = 0.0f;
+ float value;
+
+ while (progress <= 1.0f)
+ {
+ progress += (Time.deltaTime / 0.2f);
+ value = Mathf.Lerp(from, to, progress);
+
+ // scale
+ transform.localScale = Vector3.one * value;
+
+ // fade if a canvas group is attached
+ if (m_CanvasGroup != null)
+ {
+ m_CanvasGroup.alpha = Mathf.Clamp01(value);
+ }
+
+ yield return null;
+ }
+
+ callback?.Invoke();
+
+ m_ScaleFadeCoroutine = null;
+ }
+ }
+}
--- a/KerbalEngineer.sln
+++ b/KerbalEngineer.sln
@@ -1,9 +1,11 @@
Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 2013
-VisualStudioVersion = 12.0.30110.0
-MinimumVisualStudioVersion = 10.0.40219.1
+# Visual Studio 2015
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KerbalEngineer.CSharp.Editor", "KerbalEngineer.CSharp.Editor.csproj", "{D7B7C6CE-6B5A-CE40-5B7C-9D0E6583E469}"
+EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KerbalEngineer", "KerbalEngineer\KerbalEngineer.csproj", "{39806613-E0B7-46E0-89A6-A569EC538CBB}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KerbalEngineer.Unity", "KerbalEngineer.Unity\KerbalEngineer.Unity.csproj", "{5387BB1E-32B1-4BAC-B03F-100570B9554C}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -11,10 +13,18 @@
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {D7B7C6CE-6B5A-CE40-5B7C-9D0E6583E469}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {D7B7C6CE-6B5A-CE40-5B7C-9D0E6583E469}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {D7B7C6CE-6B5A-CE40-5B7C-9D0E6583E469}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {D7B7C6CE-6B5A-CE40-5B7C-9D0E6583E469}.Release|Any CPU.Build.0 = Release|Any CPU
{39806613-E0B7-46E0-89A6-A569EC538CBB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{39806613-E0B7-46E0-89A6-A569EC538CBB}.Debug|Any CPU.Build.0 = Debug|Any CPU
{39806613-E0B7-46E0-89A6-A569EC538CBB}.Release|Any CPU.ActiveCfg = Release|Any CPU
{39806613-E0B7-46E0-89A6-A569EC538CBB}.Release|Any CPU.Build.0 = Release|Any CPU
+ {5387BB1E-32B1-4BAC-B03F-100570B9554C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {5387BB1E-32B1-4BAC-B03F-100570B9554C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {5387BB1E-32B1-4BAC-B03F-100570B9554C}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {5387BB1E-32B1-4BAC-B03F-100570B9554C}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
--- /dev/null
+++ b/KerbalEngineer/AppLauncherButton.cs
@@ -1,1 +1,206 @@
-
+//
+// Kerbal Engineer Redux
+//
+// Copyright (C) 2016 CYBUTEK
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see <http://www.gnu.org/licenses/>.
+//
+
+namespace KerbalEngineer
+{
+ using KSP.UI;
+ using KSP.UI.Screens;
+ using UnityEngine;
+
+ public class AppLauncherButton : MonoBehaviour
+ {
+ private static Texture m_IconTexture;
+ private ApplicationLauncherButton m_Button;
+
+ /// <summary>
+ /// Gets or sets the toggle button state.
+ /// </summary>
+ public bool IsOn
+ {
+ get
+ {
+ return m_Button != null &&
+ m_Button.toggleButton.Button.interactable &&
+ m_Button.toggleButton.CurrentState == UIRadioButton.State.True;
+ }
+ set
+ {
+ if (m_Button == null)
+ {
+ return;
+ }
+
+ if (value)
+ {
+ SetOn();
+ }
+ else
+ {
+ SetOff();
+ }
+ }
+ }
+
+ /// <summary>
+ /// Disables the button if not already disabled.
+ /// </summary>
+ public void Disable()
+ {
+ if (m_Button != null && m_Button.toggleButton.Button.interactable)
+ {
+ m_Button.Disable();
+ }
+ }
+
+ /// <summary>
+ /// Enables the button if not already enabled.
+ /// </summary>
+ public void Enable()
+ {
+ if (m_Button != null && m_Button.toggleButton.Button.interactable == false)
+ {
+ m_Button.Enable();
+ }
+ }
+
+ /// <summary>
+ /// Gets the anchor position for pop-up content.
+ /// </summary>
+ public Vector3 GetAnchor()
+ {
+ if (m_Button == null)
+ {
+ return Vector3.zero;
+ }
+
+ Vector3 anchor = m_Button.GetAnchor();
+
+ anchor.x -= 3.0f;
+
+ return anchor;
+ }
+
+ /// <summary>
+ /// Enables and sets the button to off.
+ /// </summary>
+ public void SetOff()
+ {
+ Enable();
+
+ if (m_Button != null && m_Button.toggleButton.CurrentState != UIRadioButton.State.False)
+ {
+ m_Button.SetFalse();
+ }
+ }
+
+ /// <summary>
+ /// Enables and sets the button to on.
+ /// </summary>
+ public void SetOn()
+ {
+ Enable();
+
+ if (m_Button != null && m_Button.toggleButton.CurrentState != UIRadioButton.State.True)
+ {
+ m_Button.SetTrue();
+ }
+ }
+
+ protected virtual void Awake()
+ {
+ // cache icon texture
+ if (m_IconTexture == null && AssetBundleLoader.Images != null)
+ {
+ m_IconTexture = AssetBundleLoader.Images.LoadAsset<Texture2D>("app-launcher-icon");
+ }
+
+ // subscribe event listeners
+ GameEvents.onGUIApplicationLauncherReady.Add(OnGUIApplicationLauncherReady);
+ GameEvents.onGUIApplicationLauncherUnreadifying.Add(OnGUIApplicationLauncherUnreadifying);
+ }
+
+ protected virtual void OnDestroy()
+ {
+ // unsubscribe event listeners
+ GameEvents.onGUIApplicationLauncherReady.Remove(OnGUIApplicationLauncherReady);
+ GameEvents.onGUIApplicationLauncherUnreadifying.Remove(OnGUIApplicationLauncherUnreadifying);
+ }
+
+ /// <summary>
+ /// Called on button being disabled.
+ /// </summary>
+ protected virtual void OnDisable() { }
+
+ /// <summary>
+ /// Called on button being enabled.
+ /// </summary>
+ protected virtual void OnEnable() { }
+
+ /// <summary>
+ /// Called on button being toggled off.
+ /// </summary>
+ protected virtual void OnFalse() { }
+
+ /// <summary>
+ /// Called on mouse hovering.
+ /// </summary>
+ protected virtual void OnHover() { }
+
+ /// <summary>
+ /// Called on mouse exiting hover.
+ /// </summary>
+ protected virtual void OnHoverOut() { }
+
+ /// <summary>
+ /// Called on button being ready.
+ /// </summary>
+ protected virtual void OnReady() { }
+
+ /// <summary>
+ /// Called after the application launcher is ready and the button created.
+ /// </summary>
+ protected virtual void OnTrue() { }
+
+ /// <summary>
+ /// Called after the application launcher is unreadified and the button removed.
+ /// </summary>
+ protected virtual void OnUnreadifying() { }
+
+ private void OnGUIApplicationLauncherReady()
+ {
+ // create button
+ if (ApplicationLauncher.Instance != null)
+ {
+ m_Button = ApplicationLauncher.Instance.AddModApplication(OnTrue, OnFalse, OnHover, OnHoverOut, OnEnable, OnDisable, ApplicationLauncher.AppScenes.ALWAYS, m_IconTexture);
+ }
+
+ OnReady();
+ }
+
+ private void OnGUIApplicationLauncherUnreadifying(GameScenes scene)
+ {
+ // remove button
+ if (ApplicationLauncher.Instance != null && m_Button != null)
+ {
+ ApplicationLauncher.Instance.RemoveModApplication(m_Button);
+ }
+
+ OnUnreadifying();
+ }
+ }
+}
--- /dev/null
+++ b/KerbalEngineer/AssetBundleLoader.cs
@@ -1,1 +1,59 @@
+//
+// Kerbal Engineer Redux
+//
+// Copyright (C) 2016 CYBUTEK
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see <http://www.gnu.org/licenses/>.
+//
+namespace KerbalEngineer
+{
+ using UnityEngine;
+
+ [KSPAddon(KSPAddon.Startup.Instantly, false)]
+ public class AssetBundleLoader : MonoBehaviour
+ {
+ private static AssetBundle m_Images;
+ private static AssetBundle m_Prefabs;
+
+ /// <summary>
+ /// Gets the loaded images asset bundle.
+ /// </summary>
+ public static AssetBundle Images
+ {
+ get
+ {
+ return m_Images;
+ }
+ }
+
+ /// <summary>
+ /// Gets the loaded prefabs asset bundle.
+ /// </summary>
+ public static AssetBundle Prefabs
+ {
+ get
+ {
+ return m_Prefabs;
+ }
+ }
+
+ protected virtual void Awake()
+ {
+ string bundlePath = EngineerGlobals.AssemblyPath;
+
+ m_Images = AssetBundle.CreateFromFile(bundlePath + "/images");
+ m_Prefabs = AssetBundle.CreateFromFile(bundlePath + "/prefabs");
+ }
+ }
+}
--- a/KerbalEngineer/Editor/BuildAdvanced.cs
+++ b/KerbalEngineer/Editor/BuildAdvanced.cs
@@ -24,6 +24,7 @@
using KeyBinding;
using Settings;
using UIControls;
+ using Unity;
using UnityEngine;
using VesselSimulator;
@@ -811,6 +812,10 @@
// When not in compact mode draw the 'All Stages' and 'Atmospheric' toggles.
if (!compactMode)
{
+ //if (GUI.Button(new Rect(position.width - 143.0f * GuiDisplaySize.Offset, 5.0f, 70.0f * GuiDisplaySize.Offset, 20.0f), "SETTINGS", buttonStyle))
+ //{
+ // SettingsWindow.Open();
+ //}
if (GUI.Toggle(new Rect(position.width - 143.0f * GuiDisplaySize.Offset, 5.0f, 70.0f * GuiDisplaySize.Offset, 20.0f), showSettings, "SETTINGS", buttonStyle) != showSettings)
{
hasChanged = true;
--- /dev/null
+++ b/KerbalEngineer/Editor/BuildAppLauncher.cs
@@ -1,1 +1,59 @@
+//
+// Kerbal Engineer Redux
+//
+// Copyright (C) 2016 CYBUTEK
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see <http://www.gnu.org/licenses/>.
+//
+namespace KerbalEngineer.Editor
+{
+ [KSPAddon(KSPAddon.Startup.EditorAny, false)]
+ public class BuildAppLauncher : AppLauncherButton
+ {
+ protected override void OnFalse()
+ {
+ if (BuildAdvanced.Instance != null)
+ {
+ BuildAdvanced.Instance.Visible = false;
+ }
+ }
+
+ protected override void OnTrue()
+ {
+ if (BuildAdvanced.Instance != null)
+ {
+ BuildAdvanced.Instance.Visible = true;
+ }
+ }
+
+ protected virtual void Update()
+ {
+ if (BuildAdvanced.Instance == null)
+ {
+ return;
+ }
+
+ // check if vessel is currently under construction with the presence of a root part
+ if (EditorLogic.RootPart != null)
+ {
+ // set button state based on existing visibility
+ IsOn = BuildAdvanced.Instance.Visible;
+ }
+ else
+ {
+ Disable();
+ }
+ }
+ }
+}
--- a/KerbalEngineer/Editor/BuildOverlayPartInfo.cs
+++ b/KerbalEngineer/Editor/BuildOverlayPartInfo.cs
@@ -1,7 +1,7 @@
//
// Kerbal Engineer Redux
//
-// Copyright (C) 2014 CYBUTEK
+// Copyright (C) 2016 CYBUTEK
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -12,10 +12,9 @@
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
-//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
-//
+//
namespace KerbalEngineer.Editor
{
@@ -102,7 +101,7 @@
return;
}
- position = GUILayout.Window(GetInstanceID(), position, Window, String.Empty, BuildOverlay.WindowStyle);
+ position = GUILayout.Window(GetInstanceID(), position, Window, string.Empty, BuildOverlay.WindowStyle);
}
catch (Exception ex)
@@ -131,7 +130,16 @@
position.x = Input.mousePosition.x - 3 - position.width;
}
- part = EditorLogic.fetch.ship.parts.Find(p => p.stackIcon.Highlighted) ?? EditorLogic.SelectedPart;
+ RaycastHit rayHit;
+ if (Physics.Raycast(Camera.main.ScreenPointToRay(Input.mousePosition), out rayHit))
+ {
+ part = rayHit.transform.GetComponent<Part>();
+ }
+ else
+ {
+ part = EditorLogic.fetch.ship.parts.Find(p => p.highlighter.highlighted) ?? EditorLogic.SelectedPart;
+ }
+
if (part != null)
{
if (!part.Equals(selectedPart))
--- a/KerbalEngineer/Editor/BuildToolbar.cs
+++ /dev/null
@@ -1,123 +1,1 @@
-//
-// Kerbal Engineer Redux
-//
-// Copyright (C) 2014 CYBUTEK
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program. If not, see <http://www.gnu.org/licenses/>.
-//
-#region Using Directives
-
-using System;
-
-using UnityEngine;
-
-#endregion
-
-namespace KerbalEngineer.Editor
-{
- using KSP.UI;
- using KSP.UI.Screens;
-
- [KSPAddon(KSPAddon.Startup.EditorAny, false)]
- public class BuildToolbar : MonoBehaviour
- {
- #region Fields
-
- private ApplicationLauncherButton button;
-
- #endregion
-
- #region Methods: private
-
- private void Awake()
- {
- GameEvents.onGUIApplicationLauncherReady.Add(this.OnGuiAppLauncherReady);
- Logger.Log("BuildToolbar->Awake");
- }
-
- private void Start()
- {
- if (button == null)
- {
- OnGuiAppLauncherReady();
- }
- }
-
- private void OnDestroy()
- {
- GameEvents.onGUIApplicationLauncherReady.Remove(this.OnGuiAppLauncherReady);
- if (this.button != null)
- {
- ApplicationLauncher.Instance.RemoveModApplication(this.button);
- }
- Logger.Log("BuildToolbar->OnDestroy");
- }
-
- private void OnGuiAppLauncherReady()
- {
- try
- {
- this.button = ApplicationLauncher.Instance.AddModApplication(
- () => BuildAdvanced.Instance.Visible = true,
- () => BuildAdvanced.Instance.Visible = false,
- null,
- null,
- null,
- null,
- ApplicationLauncher.AppScenes.ALWAYS,
- GameDatabase.Instance.GetTexture("KerbalEngineer/Textures/ToolbarIcon", false)
- );
- Logger.Log("BuildToolbar->OnGuiAppLauncherReady");
- }
- catch (Exception ex)
- {
- Logger.Exception(ex, "BuildToolbar->OnGuiAppLauncherReady");
- }
- }
-
- private void Update()
- {
- try
- {
- if (this.button == null)
- {
- return;
- }
-
- if (EditorLogic.fetch != null && EditorLogic.fetch.ship.parts.Count > 0)
- {
- if (BuildAdvanced.Instance.Visible && this.button.toggleButton.CurrentState != UIRadioButton.State.True)
- {
- this.button.SetTrue();
- }
- else if (!BuildAdvanced.Instance.Visible && this.button.toggleButton.CurrentState != UIRadioButton.State.False)
- {
- this.button.SetFalse();
- }
- }
- else if (this.button.toggleButton.Interactable)
- {
- this.button.Disable();
- }
- }
- catch (Exception ex)
- {
- Logger.Exception(ex, "BuildToolbar->Update");
- }
- }
-
- #endregion
- }
-}
--- a/KerbalEngineer/Flight/ActionMenu.cs
+++ b/KerbalEngineer/Flight/ActionMenu.cs
@@ -32,7 +32,7 @@
/// <summary>
/// Graphical controller for section interaction in the form of a menu system.
/// </summary>
- [KSPAddon(KSPAddon.Startup.Flight, false)]
+ //[KSPAddon(KSPAddon.Startup.Flight, false)]
public class ActionMenu : MonoBehaviour
{
#region Fields
--- a/KerbalEngineer/Flight/DisplayStack.cs
+++ b/KerbalEngineer/Flight/DisplayStack.cs
@@ -70,7 +70,14 @@
public bool ShowControlBar
{
get { return this.showControlBar; }
- set { this.showControlBar = value; }
+ set
+ {
+ if (showControlBar != value)
+ {
+ this.showControlBar = value;
+ RequestResize();
+ }
+ }
}
#endregion
@@ -121,7 +128,6 @@
try
{
this.Save();
- RenderingManager.RemoveFromPostDrawQueue(0, this.Draw);
}
catch (Exception ex)
{
@@ -140,7 +146,6 @@
this.windowId = this.GetHashCode();
this.InitialiseStyles();
this.Load();
- RenderingManager.AddToPostDrawQueue(0, this.Draw);
Logger.Log("ActionMenu->Start");
}
catch (Exception ex)
@@ -176,7 +181,7 @@
/// <summary>
/// Called to draw the display stack when the UI is enabled.
/// </summary>
- private void Draw()
+ private void OnGUI()
{
try
{
--- /dev/null
+++ b/KerbalEngineer/Flight/FlightAppLauncher.cs
@@ -1,1 +1,232 @@
-
+//
+// Kerbal Engineer Redux
+//
+// Copyright (C) 2016 CYBUTEK
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see <http://www.gnu.org/licenses/>.
+//
+
+namespace KerbalEngineer.Flight
+{
+ using System.Collections.Generic;
+ using KSP.UI;
+ using Sections;
+ using Unity.Flight;
+ using UnityEngine;
+
+ [KSPAddon(KSPAddon.Startup.Flight, false)]
+ public class FlightAppLauncher : AppLauncherButton, IFlightAppLauncher
+ {
+ private static FlightAppLauncher m_Instance;
+ private FlightMenu m_FlightMenu;
+ private GameObject m_MenuObject;
+ private GameObject m_MenuPrefab;
+
+ /// <summary>
+ /// Gets the current instance of the FlightAppLauncher object.
+ /// </summary>
+ public static FlightAppLauncher Instance
+ {
+ get
+ {
+ return m_Instance;
+ }
+ }
+
+ /// <summary>
+ /// Applies the KSP theme to a game object and its children.
+ /// </summary>
+ public void ApplyTheme(GameObject gameObject)
+ {
+ StyleManager.Process(gameObject);
+ }
+
+ /// <summary>
+ /// Clamps the given rect transform within the screen bounds.
+ /// </summary>
+ public void ClampToScreen(RectTransform rectTransform)
+ {
+ UIMasterController.ClampToScreen(rectTransform, Vector2.zero);
+ }
+
+ /// <summary>
+ /// Gets a list of custom sections.
+ /// </summary>
+ IList<ISectionModule> IFlightAppLauncher.GetCustomSections()
+ {
+ return new List<ISectionModule>(SectionLibrary.CustomSections.ToArray());
+ }
+
+ /// <summary>
+ /// Gets a list of stock sections.
+ /// </summary>
+ IList<ISectionModule> IFlightAppLauncher.GetStockSections()
+ {
+ return new List<ISectionModule>(SectionLibrary.StockSections.ToArray());
+ }
+
+ /// <summary>
+ /// Gets or sets the control bar's visibility.
+ /// </summary>
+ public bool IsControlBarVisible
+ {
+ get
+ {
+ if (DisplayStack.Instance != null)
+ {
+ return DisplayStack.Instance.ShowControlBar;
+ }
+
+ return false;
+ }
+ set
+ {
+ if (DisplayStack.Instance != null)
+ {
+ DisplayStack.Instance.ShowControlBar = value;
+ }
+ }
+ }
+
+ /// <summary>
+ /// Gets or sets the display stack's visibility.
+ /// </summary>
+ public bool IsDisplayStackVisible
+ {
+ get
+ {
+ if (DisplayStack.Instance != null)
+ {
+ return DisplayStack.Instance.Hidden == false;
+ }
+
+ return false;
+ }
+ set
+ {
+ if (DisplayStack.Instance != null)
+ {
+ DisplayStack.Instance.Hidden = !value;
+ }
+ }
+ }
+
+ /// <summary>
+ /// Creates and initialises a new custom section.
+ /// </summary>
+ public ISectionModule NewCustomSection()
+ {
+ SectionModule section = new SectionModule
+ {
+ Name = "Custom " + (SectionLibrary.CustomSections.Count + 1),
+ Abbreviation = "CUST " + (SectionLibrary.CustomSections.Count + 1),
+ IsVisible = true,
+ IsCustom = true,
+ IsEditorVisible = true
+ };
+
+ SectionLibrary.CustomSections.Add(section);
+
+ return section;
+ }
+
+ protected override void Awake()
+ {
+ base.Awake();
+
+ // set singleton instance
+ m_Instance = this;
+
+ // cache menu prefab
+ if (m_MenuPrefab == null && AssetBundleLoader.Prefabs != null)
+ {
+ m_MenuPrefab = AssetBundleLoader.Prefabs.LoadAsset<GameObject>("FlightMenu");
+ }
+ }
+
+ protected override void OnFalse()
+ {
+ Close();
+ }
+
+ protected override void OnHover()
+ {
+ Open();
+ }
+
+ protected override void OnHoverOut()
+ {
+ if (IsOn == false)
+ {
+ Close();
+ }
+ }
+
+ protected override void OnTrue()
+ {
+ Open();
+ }
+
+ /// <summary>
+ /// Closes the menu.
+ /// </summary>
+ private void Close()
+ {
+ if (m_FlightMenu != null)
+ {
+ m_FlightMenu.Close();
+ }
+ else if (m_MenuObject != null)
+ {
+ Destroy(m_MenuObject);
+ }
+ }
+
+ /// <summary>
+ /// Opens the menu.
+ /// </summary>
+ private void Open()
+ {
+ // fade menu in if already open
+ if (m_FlightMenu != null)
+ {
+ m_FlightMenu.FadeIn();
+ return;
+ }
+
+ if (m_MenuPrefab == null || m_MenuObject != null)
+ {
+ return;
+ }
+
+ // create object
+ m_MenuObject = Instantiate(m_MenuPrefab, GetAnchor(), Quaternion.identity) as GameObject;
+ if (m_MenuObject == null)
+ {
+ return;
+ }
+
+ StyleManager.Process(m_MenuObject);
+
+ // set object as a child of the main canvas
+ m_MenuObject.transform.SetParent(MainCanvasUtil.MainCanvas.transform);
+
+ // set menu's reference to this object for cross-communication
+ m_FlightMenu = m_MenuObject.GetComponent<FlightMenu>();
+ if (m_FlightMenu != null)
+ {
+ m_FlightMenu.SetFlightAppLauncher(this);
+ }
+ }
+ }
+}
--- a/KerbalEngineer/Flight/FlightEngineerCore.cs
+++ b/KerbalEngineer/Flight/FlightEngineerCore.cs
@@ -113,6 +113,11 @@
{
get
{
+ if (MainCanvasUtil.MainCanvas.enabled == false)
+ {
+ return false;
+ }
+
if (isCareerMode)
{
if (isKerbalLimited && FlightGlobals.ActiveVessel.GetVesselCrew().Exists(c => c.experienceTrait.TypeName == "Engineer"))
--- a/KerbalEngineer/Flight/Sections/SectionEditor.cs
+++ b/KerbalEngineer/Flight/Sections/SectionEditor.cs
@@ -103,7 +103,6 @@
{
try
{
- RenderingManager.RemoveFromPostDrawQueue(0, this.Draw);
}
catch (Exception ex)
{
@@ -120,7 +119,6 @@
{
this.InitialiseStyles();
//ReadoutCategory.Selected = ReadoutCategory.GetCategory("Orbital");
- RenderingManager.AddToPostDrawQueue(0, this.Draw);
}
catch (Exception ex)
{
@@ -135,8 +133,13 @@
/// <summary>
/// Called to draw the editor when the UI is enabled.
/// </summary>
- private void Draw()
- {
+ private void OnGUI()
+ {
+ if (FlightEngineerCore.IsDisplayable == false)
+ {
+ return;
+ }
+
this.position = GUILayout.Window(this.GetInstanceID(), this.position, this.Window, "EDIT SECTION - " + this.ParentSection.Name.ToUpper(), this.windowStyle).ClampToScreen();
this.ParentSection.EditorPositionX = this.position.x;
this.ParentSection.EditorPositionY = this.position.y;
@@ -233,6 +236,7 @@
{
this.ParentSection.IsFloating = false;
this.ParentSection.IsEditorVisible = false;
+ this.ParentSection.IsDeleted = true;
SectionLibrary.CustomSections.Remove(this.ParentSection);
DisplayStack.Instance.RequestResize();
}
--- a/KerbalEngineer/Flight/Sections/SectionModule.cs
+++ b/KerbalEngineer/Flight/Sections/SectionModule.cs
@@ -31,10 +31,11 @@
namespace KerbalEngineer.Flight.Sections
{
+ using Unity.Flight;
/// <summary>
/// Object for management and display of readout modules.
/// </summary>
- public class SectionModule
+ public class SectionModule : ISectionModule
{
#region Fields
@@ -156,6 +157,11 @@
}
}
}
+
+ /// <summary>
+ /// Gets and sets whether the section module has been deleted.
+ /// </summary>
+ public bool IsDeleted { get; set; }
/// <summary>
/// Gets and sets whether the section module has a background as a HUD.
--- a/KerbalEngineer/Flight/Sections/SectionWindow.cs
+++ b/KerbalEngineer/Flight/Sections/SectionWindow.cs
@@ -116,7 +116,7 @@
/// <summary>
/// Called to draw the floating section window when the UI is enabled.
/// </summary>
- private void Draw()
+ private void OnGUI()
{
if (this.ParentSection == null || !this.ParentSection.IsVisible || (DisplayStack.Instance.Hidden && !this.ParentSection.IsHud) || !FlightEngineerCore.IsDisplayable)
{
@@ -165,7 +165,6 @@
/// </summary>
private void OnDestroy()
{
- RenderingManager.RemoveFromPostDrawQueue(0, this.Draw);
GuiDisplaySize.OnSizeChanged -= this.OnSizeChanged;
}
@@ -192,7 +191,7 @@
{
this.windowId = this.GetHashCode();
this.InitialiseStyles();
- RenderingManager.AddToPostDrawQueue(0, this.Draw);
+
GuiDisplaySize.OnSizeChanged += this.OnSizeChanged;
}
--- a/KerbalEngineer/KerbalEngineer.csproj
+++ b/KerbalEngineer/KerbalEngineer.csproj
@@ -34,22 +34,25 @@
<AllowUnsafeBlocks>false</AllowUnsafeBlocks>
</PropertyGroup>
<ItemGroup>
+ <Compile Include="AppLauncherButton.cs" />
+ <Compile Include="AssetBundleLoader.cs" />
<Compile Include="Control\IControlPanel.cs" />
<Compile Include="Control\Panels\BuildOverlayPanel.cs" />
<Compile Include="Control\Panels\BuildEngineerPanel.cs" />
<Compile Include="Editor\BuildAdvanced.cs" />
+ <Compile Include="Editor\BuildAppLauncher.cs" />
<Compile Include="Editor\BuildOverlay.cs" />
<Compile Include="CelestialBodies.cs" />
<Compile Include="Editor\BuildOverlayPartInfo.cs" />
<Compile Include="Editor\BuildOverlayResources.cs" />
<Compile Include="Editor\BuildOverlayVessel.cs" />
- <Compile Include="Editor\BuildToolbar.cs" />
<Compile Include="Editor\PartInfoItem.cs" />
<Compile Include="Editor\ResourceInfoItem.cs" />
<Compile Include="Extensions\FloatExtensions.cs" />
<Compile Include="Extensions\OrbitExtensions.cs" />
<Compile Include="Extensions\StringExtensions.cs" />
<Compile Include="Flight\ActionMenuGui.cs" />
+ <Compile Include="Flight\FlightAppLauncher.cs" />
<Compile Include="Flight\Presets\Preset.cs" />
<Compile Include="Flight\Readouts\Miscellaneous\SystemTime.cs" />
<Compile Include="Flight\Readouts\Miscellaneous\VectoredThrustToggle.cs" />
@@ -152,6 +155,8 @@
<Compile Include="KeyBinding\KeyBinder.cs" />
<Compile Include="Control\ControlCentre.cs" />
<Compile Include="KeyBinding\KeyBindingsObject.cs" />
+ <Compile Include="Settings\SettingsWindow.cs" />
+ <Compile Include="StyleManager.cs" />
<Compile Include="UIControls\DropDown.cs" />
<Compile Include="Logger.cs" />
<Compile Include="EngineerGlobals.cs" />
@@ -274,7 +279,13 @@
<Private>False</Private>
</Reference>
</ItemGroup>
- <ItemGroup />
+ <ItemGroup>
+ <ProjectReference Include="..\KerbalEngineer.Unity\KerbalEngineer.Unity.csproj">
+ <Project>{5387bb1e-32b1-4bac-b03f-100570b9554c}</Project>
+ <Name>KerbalEngineer.Unity</Name>
+ <Private>False</Private>
+ </ProjectReference>
+ </ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Target Name="PostBuildMacros">
<GetAssemblyIdentity AssemblyFiles="$(TargetPath)">
--- a/KerbalEngineer/Logger.cs
+++ b/KerbalEngineer/Logger.cs
@@ -19,31 +19,30 @@
#region Using Directives
-using System;
-using System.Collections;
-using System.Collections.Generic;
-using System.IO;
-using System.Reflection;
-
-using UnityEngine;
-
#endregion
namespace KerbalEngineer
{
+ using System;
+ using System.Collections;
+ using System.Collections.Generic;
+ using System.IO;
+ using System.Reflection;
+ using UnityEngine;
+
[KSPAddon(KSPAddon.Startup.Instantly, false)]
public class Logger : MonoBehaviour
{
+ #region Fields
+
+ private static readonly List<string[]> messages = new List<string[]>();
+
+ #endregion
+
#region Constants
private static readonly string fileName;
private static readonly AssemblyName assemblyName;
-
- #endregion
-
- #region Fields
-
- private static readonly List<string[]> messages = new List<string[]>();
#endregion
@@ -86,50 +85,58 @@
{
try
{
- if (obj is IEnumerable)
+ messages.Add(new[] {"Log " + DateTime.Now.TimeOfDay, GetObjString(obj)});
+ }
+ catch (Exception ex)
+ {
+ Exception(ex);
+ }
+ }
+ }
+
+ public static void Log(string name, object obj)
+ {
+ lock (messages)
+ {
+ try
+ {
+ messages.Add(new[] {"Log " + DateTime.Now.TimeOfDay, name + "\n" + GetObjString(obj)});
+ }
+ catch (Exception ex)
+ {
+ Exception(ex);
+ }
+ }
+ }
+
+ private static string GetObjString(object obj, int tabs = 0)
+ {
+ string objString;
+ string tabString = string.Empty;
+ for (int i = 0; i < tabs; i++)
+ {
+ tabString += " ";
+ }
+
+ if (obj != null)
+ {
+ objString = tabString + obj;
+
+ IEnumerable items = obj as IEnumerable;
+ if (items != null)
+ {
+ foreach (object item in items)
{
- messages.Add(new[] {"Log " + DateTime.Now.TimeOfDay, obj.ToString()});
- foreach (var o in obj as IEnumerable)
- {
- messages.Add(new[] {"\t", o.ToString()});
- }
+ objString += "\n" + GetObjString(item, tabs + 1);
}
- else
- {
- messages.Add(new[] {"Log " + DateTime.Now.TimeOfDay, obj.ToString()});
- }
- }
- catch (Exception ex)
- {
- Exception(ex);
- }
- }
- }
-
- public static void Log(string name, object obj)
- {
- lock (messages)
- {
- try
- {
- if (obj is IEnumerable)
- {
- messages.Add(new[] {"Log " + DateTime.Now.TimeOfDay, name});
- foreach (var o in obj as IEnumerable)
- {
- messages.Add(new[] {"\t", o.ToString()});
- }
- }
- else
- {
- messages.Add(new[] {"Log " + DateTime.Now.TimeOfDay, obj.ToString()});
- }
- }
- catch (Exception ex)
- {
- Exception(ex);
- }
- }
+ }
+ }
+ else
+ {
+ objString = "Null";
+ }
+
+ return objString;
}
public static void Log(string message)
@@ -186,9 +193,9 @@
{
if (messages.Count > 0)
{
- using (var file = File.AppendText(fileName))
+ using (StreamWriter file = File.AppendText(fileName))
{
- foreach (var message in messages)
+ foreach (string[] message in messages)
{
file.WriteLine(message.Length > 0 ? message.Length > 1 ? "[" + message[0] + "]: " + message[1] : message[0] : string.Empty);
if (message.Length > 0)
--- /dev/null
+++ b/KerbalEngineer/Settings/SettingsWindow.cs
@@ -1,1 +1,112 @@
+namespace KerbalEngineer.Settings
+{
+ using System;
+ using Editor;
+ using Flight;
+ using KeyBinding;
+ using Unity;
+ using Unity.UI;
+ using UnityEngine;
+ using UnityEngine.Events;
+ using UnityEngine.UI;
+ public class SettingsWindow : MonoBehaviour
+ {
+ private static Window m_Window;
+
+ public static void Close()
+ {
+ if (m_Window != null)
+ {
+ m_Window.Close();
+ }
+ }
+
+ public static void Open()
+ {
+ if (m_Window == null)
+ {
+ m_Window = StyleManager.CreateWindow("SETTINGS", 600.0f);
+
+ AddKeyBindingsButton();
+ AddFlightActivationModes();
+ AddBuildOverlayOptions();
+
+ StyleManager.Process(m_Window);
+ }
+ }
+
+ private static void AddBuildOverlayOptions()
+ {
+ if (m_Window != null)
+ {
+ Setting buildOverlay = StyleManager.CreateSetting("Build Engineer Overlay", m_Window);
+ Toggle buildOverlayVisible = AddToggle(buildOverlay, "VISIBLE", 100.0f, value => BuildOverlay.Visible = value);
+ Toggle buildOverlayNamesOnly = AddToggle(buildOverlay, "NAMES ONLY", 100.0f, value => BuildOverlayPartInfo.NamesOnly = value);
+ Toggle buildOverlayClickToOpen = AddToggle(buildOverlay, "CLICK TO OPEN", 100.0f, value => BuildOverlayPartInfo.ClickToOpen = value);
+ AddUpdateHandler(buildOverlay, () =>
+ {
+ buildOverlayVisible.isOn = BuildOverlay.Visible;
+ buildOverlayNamesOnly.isOn = BuildOverlayPartInfo.NamesOnly;
+ buildOverlayClickToOpen.isOn = BuildOverlayPartInfo.ClickToOpen;
+ });
+ }
+ }
+
+ private static Button AddButton(Setting setting, string text, float width, UnityAction onClick)
+ {
+ Button button = null;
+
+ if (setting != null)
+ {
+ button = setting.AddButton(text, width, onClick);
+ }
+
+ return button;
+ }
+
+ private static void AddFlightActivationModes()
+ {
+ if (m_Window != null)
+ {
+ Setting flightActivationMode = StyleManager.CreateSetting("Flight Engineer Activation Mode", m_Window);
+ Toggle flightActivationModeCareer = AddToggle(flightActivationMode, "CAREER", 100.0f, value => FlightEngineerCore.IsCareerMode = value);
+ Toggle flightActivationModePartless = AddToggle(flightActivationMode, "PARTLESS", 100.0f, value => FlightEngineerCore.IsCareerMode = !value);
+ AddUpdateHandler(flightActivationMode, () =>
+ {
+ flightActivationModeCareer.isOn = FlightEngineerCore.IsCareerMode;
+ flightActivationModePartless.isOn = !FlightEngineerCore.IsCareerMode;
+ });
+ }
+ }
+
+ private static void AddKeyBindingsButton()
+ {
+ if (m_Window != null)
+ {
+ Setting keyBindings = StyleManager.CreateSetting("Key Bindings", m_Window);
+ AddButton(keyBindings, "EDIT KEY BINDINGS", 304.0f, KeyBinder.Show);
+ }
+ }
+
+ private static Toggle AddToggle(Setting setting, string text, float width, UnityAction<bool> onValueChanged)
+ {
+ Toggle toggle = null;
+
+ if (setting != null)
+ {
+ toggle = setting.AddToggle(text, width, onValueChanged);
+ }
+
+ return toggle;
+ }
+
+ private static void AddUpdateHandler(Setting setting, Action onUpdate)
+ {
+ if (setting != null && onUpdate != null)
+ {
+ setting.AddUpdateHandler(onUpdate);
+ }
+ }
+ }
+}
--- /dev/null
+++ b/KerbalEngineer/StyleManager.cs
@@ -1,1 +1,220 @@
-
+//
+// Kerbal Engineer Redux
+//
+// Copyright (C) 2016 CYBUTEK
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see <http://www.gnu.org/licenses/>.
+//
+
+namespace KerbalEngineer
+{
+ using Unity;
+ using Unity.UI;
+ using UnityEngine;
+ using UnityEngine.UI;
+
+ public static class StyleManager
+ {
+ private static GameObject m_WindowPrefab;
+ private static GameObject m_SettingPrefab;
+
+ /// <summary>
+ /// Creates a setting on the supplied window.
+ /// </summary>
+ public static Setting CreateSetting(string label, Window window)
+ {
+ Setting setting = null;
+
+ GameObject settingPrefab = GetSettingPrefab();
+
+ if (settingPrefab != null && window != null)
+ {
+ GameObject settingObject = Object.Instantiate(settingPrefab);
+
+ if (settingObject != null)
+ {
+ setting = settingObject.GetComponent<Setting>();
+ if (setting != null)
+ {
+ setting.SetLabel(label);
+ window.AddToContent(settingObject);
+ }
+ }
+ }
+
+ return setting;
+ }
+
+ /// <summary>
+ /// Creates and returns a new window object.
+ /// </summary>
+ public static Window CreateWindow(string title, float width)
+ {
+ GameObject windowPrefab = GetWindowPrefab();
+ if (windowPrefab == null)
+ {
+ return null;
+ }
+
+ GameObject windowObject = Object.Instantiate(windowPrefab);
+ if (windowObject == null)
+ {
+ return null;
+ }
+
+ // process style applicators
+ Process(windowObject);
+
+ // assign game object to be a child of the main canvas
+ windowObject.transform.SetParent(MainCanvasUtil.MainCanvas.transform, false);
+
+ // set window values
+ Window window = windowObject.GetComponent<Window>();
+ if (window != null)
+ {
+ window.SetTitle(title);
+ window.SetWidth(width);
+ }
+
+ return window;
+ }
+
+ /// <summary>
+ /// Processes all of the style applicators on the supplied game object.
+ /// </summary>
+ public static void Process(GameObject gameObject)
+ {
+ if (gameObject == null)
+ {
+ return;
+ }
+
+ StyleApplicator[] applicators = gameObject.GetComponentsInChildren<StyleApplicator>();
+
+ if (applicators != null)
+ {
+ for (int i = 0; i < applicators.Length; i++)
+ {
+ Process(applicators[i]);
+ }
+ }
+ }
+
+ /// <summary>
+ /// Processes all the style applicators on the supplied component's game object.
+ /// </summary>
+ public static void Process(Component component)
+ {
+ if (component != null)
+ {
+ Process(component.gameObject);
+ }
+ }
+
+ /// <summary>
+ /// Gets a setting prefab object.
+ /// </summary>
+ private static GameObject GetSettingPrefab()
+ {
+ if (m_SettingPrefab == null)
+ {
+ m_SettingPrefab = AssetBundleLoader.Prefabs.LoadAsset<GameObject>("Setting");
+ }
+
+ return m_SettingPrefab;
+ }
+
+ /// <summary>
+ /// Gets a new ThemeTextStyle created from KSP UIStyle and UIStyleState objects.
+ /// </summary>
+ private static TextStyle GetTextStyle(UIStyle style, UIStyleState styleState)
+ {
+ TextStyle textStyle = new TextStyle();
+
+ if (style != null)
+ {
+ textStyle.Font = style.font;
+ textStyle.Style = style.fontStyle;
+ textStyle.Size = style.fontSize;
+ }
+
+ if (styleState != null)
+ {
+ textStyle.Colour = styleState.textColor;
+ }
+
+ return textStyle;
+ }
+
+ /// <summary>
+ /// Gets a window prefab object.
+ /// </summary>
+ private static GameObject GetWindowPrefab()
+ {
+ if (m_WindowPrefab == null)
+ {
+ m_WindowPrefab = AssetBundleLoader.Prefabs.LoadAsset<GameObject>("Window");
+ }
+
+ return m_WindowPrefab;
+ }
+
+ /// <summary>
+ /// Processes a theme on the supplied applicator.
+ /// </summary>
+ private static void Process(StyleApplicator applicator)
+ {
+ if (applicator == null)
+ {
+ return;
+ }
+
+ // get the default skin
+ UISkinDef skin = UISkinManager.defaultSkin;
+ if (skin == null)
+ {
+ return;
+ }
+
+ // apply selected theme type
+ switch (applicator.ElementType)
+ {
+ case StyleApplicator.ElementTypes.Window:
+ applicator.SetImage(skin.window.normal.background, Image.Type.Sliced);
+ break;
+
+ case StyleApplicator.ElementTypes.Box:
+ applicator.SetImage(skin.box.normal.background, Image.Type.Sliced);
+ break;
+
+ case StyleApplicator.ElementTypes.Button:
+ applicator.SetSelectable(null, skin.button.normal.background,
+ skin.button.highlight.background,
+ skin.button.active.background,
+ skin.button.disabled.background);
+ break;
+
+ case StyleApplicator.ElementTypes.ButtonToggle:
+ applicator.SetToggle(null, skin.button.normal.background,
+ skin.button.highlight.background,
+ skin.button.active.background,
+ skin.button.disabled.background);
+ break;
+
+ case StyleApplicator.ElementTypes.Label:
+ applicator.SetText(GetTextStyle(skin.label, skin.label.normal));
+ break;
+ }
+ }
+ }
+}
--- a/KerbalEngineer/TapeDriveAnimator.cs
+++ b/KerbalEngineer/TapeDriveAnimator.cs
@@ -1,7 +1,7 @@
//
// Kerbal Engineer Redux
//
-// Copyright (C) 2014 CYBUTEK
+// Copyright (C) 2016 CYBUTEK
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -12,382 +12,392 @@
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
-//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
-//
-
-#region Using Directives
-
-using UnityEngine;
-
-using Random = System.Random;
-
-#endregion
+//
namespace KerbalEngineer
{
+ using UnityEngine;
+ using Random = System.Random;
+
public class TapeDriveAnimator : PartModule
{
- #region Public Fields
-
- [KSPField] public string Lights1 = "";
- [KSPField] public float Lights1Speed = 0;
- [KSPField] public string Lights2 = "";
- [KSPField] public float Lights2Speed = 0;
- [KSPField] public string Lights3 = "";
- [KSPField] public float Lights3Speed = 0;
- [KSPField] public string Lights4 = "";
- [KSPField] public float Lights4Speed = 0;
- [KSPField] public string Lights5 = "";
- [KSPField] public float Lights5Speed = 0;
- [KSPField] public string Lights6 = "";
- [KSPField] public float Lights6Speed = 0;
- [KSPField] public int MaxReelSpeed = 0;
- [KSPField] public int MaxRepeatTime = 0;
- [KSPField] public int MinReelSpeed = 0;
- [KSPField] public int MinRepeatTime = 0;
- [KSPField] public string Reel1 = "";
- [KSPField] public float Reel1SpeedRatio = 1;
- [KSPField] public string Reel2 = "";
- [KSPField] public float Reel2SpeedRatio = 1;
- [KSPField] public float RepeatTimeDenominator = 1;
- [KSPField] public float SpeedChangeAmount = 0;
- [KSPField] public float SpeedDeadZone = 0;
- [KSPField] public float SpeedStopZone = 0;
- [KSPField] public bool UseBakedAnimation = false;
-
- #endregion
-
- #region Private Fields
-
- private float currentTime;
- private float deltaTime;
- private Shader lights1ShaderOff;
- private Transform lights1Transform;
- private Shader lights2ShaderOff;
- private Transform lights2Transform;
- private Shader lights3ShaderOff;
- private Transform lights3Transform;
- private Shader lights4ShaderOff;
- private Transform lights4Transform;
- private Shader lights5ShaderOff;
- private Transform lights5Transform;
- private Shader lights6ShaderOff;
- private Transform lights6Transform;
- private Shader lightsShaderOn;
- private Random random;
- private Transform reel1Transform;
- private Transform reel2Transform;
- private float repeatTime;
- private bool sceneIsEditor;
- private float speed;
- private float targetSpeed;
- private Renderer renderer;
- private Light light;
-
- #endregion
-
- #region Properties
-
- private bool isRunning;
+ [KSPField]
+ public string Lights1 = string.Empty;
+
+ [KSPField]
+ public float Lights1Speed = 0;
+
+ [KSPField]
+ public string Lights2 = string.Empty;
+
+ [KSPField]
+ public float Lights2Speed = 0;
+
+ [KSPField]
+ public string Lights3 = string.Empty;
+
+ [KSPField]
+ public float Lights3Speed = 0;
+
+ [KSPField]
+ public string Lights4 = string.Empty;
+
+ [KSPField]
+ public float Lights4Speed = 0;
+
+ [KSPField]
+ public string Lights5 = string.Empty;
+
+ [KSPField]
+ public float Lights5Speed = 0;
+
+ [KSPField]
+ public string Lights6 = string.Empty;
+
+ [KSPField]
+ public float Lights6Speed = 0;
+
+ [KSPField]
+ public int MaxReelSpeed = 0;
+
+ [KSPField]
+ public int MaxRepeatTime = 0;
+
+ [KSPField]
+ public int MinReelSpeed = 0;
+
+ [KSPField]
+ public int MinRepeatTime = 0;
+
+ [KSPField]
+ public string Reel1 = string.Empty;
+
+ [KSPField]
+ public float Reel1SpeedRatio = 1;
+
+ [KSPField]
+ public string Reel2 = string.Empty;
+
+ [KSPField]
+ public float Reel2SpeedRatio = 1;
+
+ [KSPField]
+ public float RepeatTimeDenominator = 1;
+
+ [KSPField]
+ public float SpeedChangeAmount = 0;
+
+ [KSPField]
+ public float SpeedDeadZone = 0;
+
+ [KSPField]
+ public float SpeedStopZone = 0;
+
+ [KSPField]
+ public bool UseBakedAnimation = false;
+
+ private Shader m_ButtonLightOffShader;
+ private Shader m_ButtonLightOnShader;
+ private Material m_ButtonSet1Material;
+ private Material m_ButtonSet2Material;
+ private Material m_ButtonSet3Material;
+ private Material m_ButtonSet4Material;
+ private Material m_ButtonSet5Material;
+ private Material m_ButtonSet6Material;
+ private float m_CurrentTime;
+ private float m_DeltaTime;
+ private bool m_IsRunning;
+ private Random m_Random;
+ private Transform m_Reel1Transform;
+ private Transform m_Reel2Transform;
+ private float m_RepeatTime;
+ private bool m_SceneIsEditor;
+ private float m_Speed;
+ private float m_TargetSpeed;
public bool IsRunning
{
- get { return this.isRunning; }
+ get
+ {
+ return m_IsRunning;
+ }
set
{
- this.isRunning = value;
-
- if (this.isRunning)
- {
- if (this.UseBakedAnimation)
+ m_IsRunning = value;
+
+ if (m_IsRunning)
+ {
+ if (UseBakedAnimation)
{
- this.StartBakedAnimation();
+ StartBakedAnimation();
}
}
else
{
- if (this.UseBakedAnimation)
+ if (UseBakedAnimation)
{
- this.StopBakedAnimation();
+ StopBakedAnimation();
}
}
}
}
- #endregion
-
- #region Initialisation
-
public override void OnStart(StartState state)
{
- renderer = GetComponent<Renderer>();
-
- this.random = new Random();
-
- this.StopBakedAnimation();
- this.IsRunning = false;
+ m_Random = new Random();
+
+ StopBakedAnimation();
+ IsRunning = false;
if (HighLogic.LoadedSceneIsEditor)
{
- this.part.OnEditorAttach += this.OnEditorAttach;
- this.part.OnEditorDetach += this.OnEditorDetach;
-
- this.sceneIsEditor = true;
-
- if (this.part.parent != null)
- {
- this.IsRunning = true;
+ part.OnEditorAttach += OnEditorAttach;
+ part.OnEditorDetach += OnEditorDetach;
+
+ m_SceneIsEditor = true;
+
+ if (part.parent != null)
+ {
+ IsRunning = true;
}
}
else if (HighLogic.LoadedSceneIsFlight)
{
- this.IsRunning = true;
- }
-
- if (!this.UseBakedAnimation)
- {
- this.InitialiseReels();
- this.InitialiseLights();
- }
+ IsRunning = true;
+ }
+
+ if (UseBakedAnimation == false)
+ {
+ InitialiseReels();
+ InitialiseLights();
+ }
+ }
+
+ public override void OnUpdate()
+ {
+ if (UseBakedAnimation)
+ {
+ return;
+ }
+
+ m_DeltaTime = m_SceneIsEditor ? Time.deltaTime : TimeWarp.deltaTime;
+
+ if (TimeWarp.CurrentRate != 1.0f && TimeWarp.WarpMode != TimeWarp.Modes.LOW)
+ {
+ return;
+ }
+
+ if (IsRunning)
+ {
+ UpdateTimerCycle();
+ UpdateSpeed();
+ UpdateReels();
+ UpdateLights();
+ }
+ else
+ {
+ m_TargetSpeed = 0;
+
+ if (m_Speed != 0)
+ {
+ UpdateSpeed();
+ UpdateReels();
+ UpdateLights();
+ }
+ }
+ }
+
+ private static void SetShaderOnMaterial(Material material, Shader shader)
+ {
+ if (material != null && shader != null)
+ {
+ material.shader = shader;
+ }
+ }
+
+ private Material GetMaterialOnModelTransform(string transformName)
+ {
+ Transform modelTransform = GetModelTransform(transformName);
+ if (modelTransform != null)
+ {
+ Renderer renderer = modelTransform.GetComponent<Renderer>();
+ if (renderer != null)
+ {
+ return renderer.material;
+ }
+ }
+
+ return null;
+ }
+
+ private Transform GetModelTransform(string transformName)
+ {
+ if (string.IsNullOrEmpty(transformName) == false)
+ {
+ return part.FindModelTransform(transformName);
+ }
+
+ return null;
+ }
+
+ private void InitialiseLights()
+ {
+ m_ButtonSet1Material = GetMaterialOnModelTransform(Lights1);
+ m_ButtonSet2Material = GetMaterialOnModelTransform(Lights2);
+ m_ButtonSet3Material = GetMaterialOnModelTransform(Lights3);
+ m_ButtonSet4Material = GetMaterialOnModelTransform(Lights4);
+ m_ButtonSet5Material = GetMaterialOnModelTransform(Lights5);
+ m_ButtonSet6Material = GetMaterialOnModelTransform(Lights6);
+
+ m_ButtonLightOffShader = Shader.Find("KSP/Specular");
+ m_ButtonLightOnShader = Shader.Find("KSP/Unlit");
}
private void InitialiseReels()
{
- if (this.Reel1 != "")
- {
- this.reel1Transform = this.part.FindModelTransform(this.Reel1);
- }
-
- if (this.Reel2 != "")
- {
- this.reel2Transform = this.part.FindModelTransform(this.Reel2);
- }
- }
-
- private void InitialiseLights()
- {
- if (this.Lights1 != "")
- {
- this.lights1Transform = this.part.FindModelTransform(this.Lights1);
- this.lights1ShaderOff = renderer.material.shader;
- }
-
- if (this.Lights2 != "")
- {
- this.lights2Transform = this.part.FindModelTransform(this.Lights2);
- this.lights2ShaderOff = renderer.material.shader;
- }
-
- if (this.Lights3 != "")
- {
- this.lights3Transform = this.part.FindModelTransform(this.Lights3);
- this.lights3ShaderOff = renderer.material.shader;
- }
-
- if (this.Lights4 != "")
- {
- this.lights4Transform = this.part.FindModelTransform(this.Lights4);
- this.lights4ShaderOff = renderer.material.shader;
- }
-
- if (this.Lights5 != "")
- {
- this.lights5Transform = this.part.FindModelTransform(this.Lights5);
- this.lights5ShaderOff = renderer.material.shader;
- }
-
- if (this.Lights6 != "")
- {
- this.lights6Transform = this.part.FindModelTransform(this.Lights6);
- this.lights6ShaderOff = renderer.material.shader;
- }
-
- this.lightsShaderOn = Shader.Find("Unlit/Texture");
- }
-
- #endregion
-
- #region Updating
-
- public override void OnUpdate()
- {
- if (!this.UseBakedAnimation)
- {
- this.deltaTime = this.sceneIsEditor ? Time.deltaTime : TimeWarp.deltaTime;
-
- if (TimeWarp.CurrentRate != 1.0f && TimeWarp.WarpMode != TimeWarp.Modes.LOW)
- {
- return;
- }
-
- if (this.IsRunning)
- {
- this.UpdateTimerCycle();
- this.UpdateSpeed();
- this.UpdateReels();
- this.UpdateLights();
+ if (string.IsNullOrEmpty(Reel1) == false)
+ {
+ m_Reel1Transform = part.FindModelTransform(Reel1);
+ }
+
+ if (string.IsNullOrEmpty(Reel2) == false)
+ {
+ m_Reel2Transform = part.FindModelTransform(Reel2);
+ }
+ }
+
+ private void OnEditorAttach()
+ {
+ IsRunning = true;
+ }
+
+ private void OnEditorDetach()
+ {
+ IsRunning = false;
+ }
+
+ private void StartBakedAnimation()
+ {
+ foreach (Animation animator in part.FindModelAnimators())
+ {
+ animator.Play();
+ }
+ }
+
+ private void StopBakedAnimation()
+ {
+ foreach (Animation animator in part.FindModelAnimators())
+ {
+ animator.Stop();
+ }
+ }
+
+ private void Update()
+ {
+ if (m_SceneIsEditor)
+ {
+ OnUpdate();
+ }
+ }
+
+ private void UpdateButtonMaterial(Material material, float targetSpeed)
+ {
+ if (material == null)
+ {
+ return;
+ }
+
+ bool lightsOn;
+
+ if (targetSpeed > 0)
+ {
+ lightsOn = (m_Speed > targetSpeed);
+ }
+ else if (targetSpeed < 0)
+ {
+ lightsOn = (m_Speed < targetSpeed);
+ }
+ else
+ {
+ lightsOn = (m_Speed == 0);
+ }
+
+ SetShaderOnMaterial(material, lightsOn ? m_ButtonLightOnShader : m_ButtonLightOffShader);
+ }
+
+ private void UpdateLights()
+ {
+ UpdateButtonMaterial(m_ButtonSet1Material, Lights1Speed);
+ UpdateButtonMaterial(m_ButtonSet2Material, Lights2Speed);
+ UpdateButtonMaterial(m_ButtonSet3Material, Lights3Speed);
+ UpdateButtonMaterial(m_ButtonSet4Material, Lights4Speed);
+ UpdateButtonMaterial(m_ButtonSet5Material, Lights5Speed);
+ UpdateButtonMaterial(m_ButtonSet6Material, Lights6Speed);
+ }
+
+ private void UpdateReels()
+ {
+ if (m_Reel1Transform != null && m_Speed != 0)
+ {
+ m_Reel1Transform.transform.Rotate(Vector3.right, m_Speed * Reel1SpeedRatio);
+ }
+
+ if (m_Reel2Transform != null && m_Speed != 0)
+ {
+ m_Reel2Transform.transform.Rotate(Vector3.right, m_Speed * Reel2SpeedRatio);
+ }
+ }
+
+ private void UpdateSpeed()
+ {
+ if (m_Speed < m_TargetSpeed)
+ {
+ if (m_Speed < m_TargetSpeed - SpeedDeadZone)
+ {
+ m_Speed += SpeedChangeAmount * m_DeltaTime;
}
else
{
- this.targetSpeed = 0;
-
- if (this.speed != 0)
- {
- this.UpdateSpeed();
- this.UpdateReels();
- this.UpdateLights();
- }
- }
- }
- }
-
- private void Update()
- {
- if (this.sceneIsEditor)
- {
- this.OnUpdate();
- }
- }
-
- private void OnEditorAttach()
- {
- this.IsRunning = true;
- }
-
- private void OnEditorDetach()
- {
- this.IsRunning = false;
- }
-
- private void StopBakedAnimation()
- {
- foreach (var animator in this.part.FindModelAnimators())
- {
- animator.Stop();
- }
- }
-
- private void StartBakedAnimation()
- {
- foreach (var animator in this.part.FindModelAnimators())
- {
- animator.Play();
+ m_Speed = m_TargetSpeed;
+ }
+ }
+ else if (m_Speed > m_TargetSpeed)
+ {
+ if (m_Speed > m_TargetSpeed + SpeedDeadZone)
+ {
+ m_Speed -= SpeedChangeAmount * m_DeltaTime;
+ }
+ else
+ {
+ m_Speed = m_TargetSpeed;
+ }
}
}
private void UpdateTimerCycle()
{
- this.currentTime += this.deltaTime;
-
- if (this.currentTime >= this.repeatTime)
- {
- this.targetSpeed = this.random.Next(this.MinReelSpeed, this.MaxReelSpeed);
-
- if (this.targetSpeed > -this.SpeedStopZone && this.targetSpeed < this.SpeedStopZone)
- {
- this.targetSpeed = 0;
- }
-
- this.repeatTime = this.random.Next(this.MinRepeatTime, this.MaxRepeatTime);
-
- if (this.RepeatTimeDenominator != 0)
- {
- this.repeatTime /= this.RepeatTimeDenominator;
- }
-
- this.currentTime -= this.repeatTime;
- }
- }
-
- private void UpdateSpeed()
- {
- if (this.speed < this.targetSpeed)
- {
- if (this.speed < this.targetSpeed - this.SpeedDeadZone)
- {
- this.speed += this.SpeedChangeAmount * this.deltaTime;
- }
- else
- {
- this.speed = this.targetSpeed;
- }
- }
- else if (this.speed > this.targetSpeed)
- {
- if (this.speed > this.targetSpeed + this.SpeedDeadZone)
- {
- this.speed -= this.SpeedChangeAmount * this.deltaTime;
- }
- else
- {
- this.speed = this.targetSpeed;
- }
- }
- }
-
- private void UpdateReels()
- {
- if (this.reel1Transform != null && this.speed != 0)
- {
- this.reel1Transform.transform.Rotate(Vector3.right, this.speed * this.Reel1SpeedRatio);
- }
-
- if (this.reel2Transform != null && this.speed != 0)
- {
- this.reel2Transform.transform.Rotate(Vector3.right, this.speed * this.Reel2SpeedRatio);
- }
- }
-
- private void UpdateLights()
- {
- if (this.lights1Transform != null)
- {
- this.UpdateLightTransform(this.lights1Transform, this.lightsShaderOn, this.lights1ShaderOff, this.Lights1Speed);
- }
- if (this.lights2Transform != null)
- {
- this.UpdateLightTransform(this.lights2Transform, this.lightsShaderOn, this.lights2ShaderOff, this.Lights2Speed);
- }
- if (this.lights3Transform != null)
- {
- this.UpdateLightTransform(this.lights3Transform, this.lightsShaderOn, this.lights3ShaderOff, this.Lights3Speed);
- }
- if (this.lights4Transform != null)
- {
- this.UpdateLightTransform(this.lights4Transform, this.lightsShaderOn, this.lights4ShaderOff, this.Lights4Speed);
- }
- if (this.lights5Transform != null)
- {
- this.UpdateLightTransform(this.lights5Transform, this.lightsShaderOn, this.lights5ShaderOff, this.Lights5Speed);
- }
- if (this.lights6Transform != null)
- {
- this.UpdateLightTransform(this.lights6Transform, this.lightsShaderOn, this.lights6ShaderOff, this.Lights6Speed);
- }
- }
-
- private void UpdateLightTransform(Component lights, Shader on, Shader off, float targetSpeed)
- {
- bool lightsOn;
-
- if (targetSpeed > 0)
- {
- lightsOn = (this.speed > targetSpeed);
- }
- else if (targetSpeed < 0)
- {
- lightsOn = (this.speed < targetSpeed);
- }
- else
- {
- lightsOn = (this.speed == 0);
- }
-
- lights.GetComponent<Renderer>().material.shader = lightsOn ? @on : off;
- }
-
- #endregion
+ m_CurrentTime += m_DeltaTime;
+
+ if (m_CurrentTime >= m_RepeatTime)
+ {
+ m_TargetSpeed = m_Random.Next(MinReelSpeed, MaxReelSpeed);
+
+ if (m_TargetSpeed > -SpeedStopZone && m_TargetSpeed < SpeedStopZone)
+ {
+ m_TargetSpeed = 0;
+ }
+
+ m_RepeatTime = m_Random.Next(MinRepeatTime, MaxRepeatTime);
+
+ if (RepeatTimeDenominator != 0)
+ {
+ m_RepeatTime /= RepeatTimeDenominator;
+ }
+
+ m_CurrentTime -= m_RepeatTime;
+ }
+ }
}
}
Binary files /dev/null and b/Output/KerbalEngineer/KerbalEngineer differ
Binary files /dev/null and b/Output/KerbalEngineer/KerbalEngineer.Unity.dll differ
Binary files a/Output/KerbalEngineer/KerbalEngineer.dll and b/Output/KerbalEngineer/KerbalEngineer.dll differ
--- /dev/null
+++ b/Output/KerbalEngineer/KerbalEngineer.manifest
@@ -1,1 +1,10 @@
+ManifestFileVersion: 0
+AssetBundleManifest:
+ AssetBundleInfos:
+ Info_0:
+ Name: prefabs
+ Dependencies: {}
+ Info_1:
+ Name: images
+ Dependencies: {}
--- a/Output/KerbalEngineer/KerbalEngineer.version
+++ b/Output/KerbalEngineer/KerbalEngineer.version
@@ -11,8 +11,8 @@
"KSP_VERSION":
{
"MAJOR":1,
- "MINOR":0,
- "PATCH":5
+ "MINOR":1,
+ "PATCH":0
}
}
Binary files a/Output/KerbalEngineer/Textures/ToolbarIcon.png and /dev/null differ
Binary files /dev/null and b/Output/KerbalEngineer/images differ
--- /dev/null
+++ b/Output/KerbalEngineer/images.manifest
@@ -1,1 +1,21 @@
+ManifestFileVersion: 0
+CRC: 3711738391
+Hashes:
+ AssetFileHash:
+ serializedVersion: 2
+ Hash: ed55962395cdf8d8940a4674b73fa9cb
+ TypeTreeHash:
+ serializedVersion: 2
+ Hash: 00ffc586b3c4c12c72c7fed589b81235
+HashAppended: 0
+ClassTypes:
+- Class: 28
+ Script: {instanceID: 0}
+- Class: 213
+ Script: {instanceID: 0}
+Assets:
+- Assets/Images/ui-drop-down.psd
+- Assets/Images/app-launcher-icon.psd
+- Assets/Images/flight-menu-background.psd
+Dependencies: []
Binary files /dev/null and b/Output/KerbalEngineer/prefabs differ
--- /dev/null
+++ b/Output/KerbalEngineer/prefabs.manifest
@@ -1,1 +1,66 @@
+ManifestFileVersion: 0
+CRC: 247544766
+Hashes:
+ AssetFileHash:
+ serializedVersion: 2
+ Hash: 6c0345330dfdd65954f99b5bf002cb14
+ TypeTreeHash:
+ serializedVersion: 2
+ Hash: f08f4b318e7775189aba716ae3ef79f9
+HashAppended: 0
+ClassTypes:
+- Class: 1
+ Script: {instanceID: 0}
+- Class: 21
+ Script: {instanceID: 0}
+- Class: 28
+ Script: {instanceID: 0}
+- Class: 48
+ Script: {instanceID: 0}
+- Class: 114
+ Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+- Class: 114
+ Script: {fileID: 1741964061, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+- Class: 114
+ Script: {fileID: -405508275, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+- Class: 114
+ Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+- Class: 114
+ Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+- Class: 114
+ Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+- Class: 114
+ Script: {fileID: 2109663825, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+- Class: 114
+ Script: {fileID: 1297475563, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+- Class: 114
+ Script: {fileID: 571159103, guid: 4ffb1bf511e31af45bdeaa3d272d49d4, type: 3}
+- Class: 114
+ Script: {fileID: -1842827791, guid: 4ffb1bf511e31af45bdeaa3d272d49d4, type: 3}
+- Class: 114
+ Script: {fileID: 644905346, guid: 4ffb1bf511e31af45bdeaa3d272d49d4, type: 3}
+- Class: 114
+ Script: {fileID: 323546239, guid: 4ffb1bf511e31af45bdeaa3d272d49d4, type: 3}
+- Class: 114
+ Script: {fileID: 604723565, guid: 4ffb1bf511e31af45bdeaa3d272d49d4, type: 3}
+- Class: 115
+ Script: {instanceID: 0}
+- Class: 128
+ Script: {instanceID: 0}
+- Class: 213
+ Script: {instanceID: 0}
+- Class: 222
+ Script: {instanceID: 0}
+- Class: 224
+ Script: {instanceID: 0}
+- Class: 225
+ Script: {instanceID: 0}
+Assets:
+- Assets/Prefabs/Setting.prefab
+- Assets/Prefabs/SettingToggle.prefab
+- Assets/Prefabs/SettingButton.prefab
+- Assets/Prefabs/FlightMenuSection.prefab
+- Assets/Prefabs/FlightMenu.prefab
+- Assets/Prefabs/Window.prefab
+Dependencies: []
--- /dev/null
+++ b/ProjectSettings/AudioManager.asset
@@ -1,1 +1,16 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!11 &1
+AudioManager:
+ m_ObjectHideFlags: 0
+ m_Volume: 1
+ Rolloff Scale: 1
+ Doppler Factor: 1
+ Default Speaker Mode: 2
+ m_SampleRate: 0
+ m_DSPBufferSize: 0
+ m_VirtualVoiceCount: 512
+ m_RealVoiceCount: 32
+ m_SpatializerPlugin:
+ m_DisableAudio: 0
--- /dev/null
+++ b/ProjectSettings/DynamicsManager.asset
@@ -1,1 +1,16 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!55 &1
+PhysicsManager:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Gravity: {x: 0, y: -9.81000042, z: 0}
+ m_DefaultMaterial: {fileID: 0}
+ m_BounceThreshold: 2
+ m_SleepThreshold: .00499999989
+ m_DefaultContactOffset: .00999999978
+ m_SolverIterationCount: 6
+ m_QueriesHitTriggers: 1
+ m_EnableAdaptiveForce: 0
+ m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
--- /dev/null
+++ b/ProjectSettings/EditorBuildSettings.asset
@@ -1,1 +1,8 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1045 &1
+EditorBuildSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Scenes: []
--- /dev/null
+++ b/ProjectSettings/EditorSettings.asset
@@ -1,1 +1,16 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!159 &1
+EditorSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 3
+ m_ExternalVersionControlSupport: Visible Meta Files
+ m_SerializationMode: 2
+ m_WebSecurityEmulationEnabled: 0
+ m_WebSecurityEmulationHostUrl: http://www.mydomain.com/mygame.unity3d
+ m_DefaultBehaviorMode: 1
+ m_SpritePackerMode: 2
+ m_SpritePackerPaddingPower: 1
+ m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd
+ m_ProjectGenerationRootNamespace:
--- /dev/null
+++ b/ProjectSettings/GraphicsSettings.asset
@@ -1,1 +1,35 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!30 &1
+GraphicsSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 4
+ m_Deferred:
+ m_Mode: 1
+ m_Shader: {fileID: 69, guid: 0000000000000000f000000000000000, type: 0}
+ m_DeferredReflections:
+ m_Mode: 1
+ m_Shader: {fileID: 74, guid: 0000000000000000f000000000000000, type: 0}
+ m_LegacyDeferred:
+ m_Mode: 1
+ m_Shader: {fileID: 63, guid: 0000000000000000f000000000000000, type: 0}
+ m_AlwaysIncludedShaders:
+ - {fileID: 7, guid: 0000000000000000f000000000000000, type: 0}
+ - {fileID: 15104, guid: 0000000000000000f000000000000000, type: 0}
+ - {fileID: 15105, guid: 0000000000000000f000000000000000, type: 0}
+ - {fileID: 15106, guid: 0000000000000000f000000000000000, type: 0}
+ - {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0}
+ - {fileID: 10782, guid: 0000000000000000f000000000000000, type: 0}
+ m_PreloadedShaders: []
+ m_LightmapStripping: 0
+ m_LightmapKeepPlain: 1
+ m_LightmapKeepDirCombined: 1
+ m_LightmapKeepDirSeparate: 1
+ m_LightmapKeepDynamicPlain: 1
+ m_LightmapKeepDynamicDirCombined: 1
+ m_LightmapKeepDynamicDirSeparate: 1
+ m_FogStripping: 0
+ m_FogKeepLinear: 1
+ m_FogKeepExp: 1
+ m_FogKeepExp2: 1
--- /dev/null
+++ b/ProjectSettings/InputManager.asset
@@ -1,1 +1,296 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!13 &1
+InputManager:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Axes:
+ - serializedVersion: 3
+ m_Name: Horizontal
+ descriptiveName:
+ descriptiveNegativeName:
+ negativeButton: left
+ positiveButton: right
+ altNegativeButton: a
+ altPositiveButton: d
+ gravity: 3
+ dead: .00100000005
+ sensitivity: 3
+ snap: 1
+ invert: 0
+ type: 0
+ axis: 0
+ joyNum: 0
+ - serializedVersion: 3
+ m_Name: Vertical
+ descriptiveName:
+ descriptiveNegativeName:
+ negativeButton: down
+ positiveButton: up
+ altNegativeButton: s
+ altPositiveButton: w
+ gravity: 3
+ dead: .00100000005
+ sensitivity: 3
+ snap: 1
+ invert: 0
+ type: 0
+ axis: 0
+ joyNum: 0
+ - serializedVersion: 3
+ m_Name: Fire1
+ descriptiveName:
+ descriptiveNegativeName:
+ negativeButton:
+ positiveButton: left ctrl
+ altNegativeButton:
+ altPositiveButton: mouse 0
+ gravity: 1000
+ dead: .00100000005
+ sensitivity: 1000
+ snap: 0
+ invert: 0
+ type: 0
+ axis: 0
+ joyNum: 0
+ - serializedVersion: 3
+ m_Name: Fire2
+ descriptiveName:
+ descriptiveNegativeName:
+ negativeButton:
+ positiveButton: left alt
+ altNegativeButton:
+ altPositiveButton: mouse 1
+ gravity: 1000
+ dead: .00100000005
+ sensitivity: 1000
+ snap: 0
+ invert: 0
+ type: 0
+ axis: 0
+ joyNum: 0
+ - serializedVersion: 3
+ m_Name: Fire3
+ descriptiveName:
+ descriptiveNegativeName:
+ negativeButton:
+ positiveButton: left shift
+ altNegativeButton:
+ altPositiveButton: mouse 2
+ gravity: 1000
+ dead: .00100000005
+ sensitivity: 1000
+ snap: 0
+ invert: 0
+ type: 0
+ axis: 0
+ joyNum: 0
+ - serializedVersion: 3
+ m_Name: Jump
+ descriptiveName:
+ descriptiveNegativeName:
+ negativeButton:
+ positiveButton: space
+ altNegativeButton:
+ altPositiveButton:
+ gravity: 1000
+ dead: .00100000005
+ sensitivity: 1000
+ snap: 0
+ invert: 0
+ type: 0
+ axis: 0
+ joyNum: 0
+ - serializedVersion: 3
+ m_Name: Mouse X
+ descriptiveName:
+ descriptiveNegativeName:
+ negativeButton:
+ positiveButton:
+ altNegativeButton:
+ altPositiveButton:
+ gravity: 0
+ dead: 0
+ sensitivity: .100000001
+ snap: 0
+ invert: 0
+ type: 1
+ axis: 0
+ joyNum: 0
+ - serializedVersion: 3
+ m_Name: Mouse Y
+ descriptiveName:
+ descriptiveNegativeName:
+ negativeButton:
+ positiveButton:
+ altNegativeButton:
+ altPositiveButton:
+ gravity: 0
+ dead: 0
+ sensitivity: .100000001
+ snap: 0
+ invert: 0
+ type: 1
+ axis: 1
+ joyNum: 0
+ - serializedVersion: 3
+ m_Name: Mouse ScrollWheel
+ descriptiveName:
+ descriptiveNegativeName:
+ negativeButton:
+ positiveButton:
+ altNegativeButton:
+ altPositiveButton:
+ gravity: 0
+ dead: 0
+ sensitivity: .100000001
+ snap: 0
+ invert: 0
+ type: 1
+ axis: 2
+ joyNum: 0
+ - serializedVersion: 3
+ m_Name: Horizontal
+ descriptiveName:
+ descriptiveNegativeName:
+ negativeButton:
+ positiveButton:
+ altNegativeButton:
+ altPositiveButton:
+ gravity: 0
+ dead: .189999998
+ sensitivity: 1
+ snap: 0
+ invert: 0
+ type: 2
+ axis: 0
+ joyNum: 0
+ - serializedVersion: 3
+ m_Name: Vertical
+ descriptiveName:
+ descriptiveNegativeName:
+ negativeButton:
+ positiveButton:
+ altNegativeButton:
+ altPositiveButton:
+ gravity: 0
+ dead: .189999998
+ sensitivity: 1
+ snap: 0
+ invert: 1
+ type: 2
+ axis: 1
+ joyNum: 0
+ - serializedVersion: 3
+ m_Name: Fire1
+ descriptiveName:
+ descriptiveNegativeName:
+ negativeButton:
+ positiveButton: joystick button 0
+ altNegativeButton:
+ altPositiveButton:
+ gravity: 1000
+ dead: .00100000005
+ sensitivity: 1000
+ snap: 0
+ invert: 0
+ type: 0
+ axis: 0
+ joyNum: 0
+ - serializedVersion: 3
+ m_Name: Fire2
+ descriptiveName:
+ descriptiveNegativeName:
+ negativeButton:
+ positiveButton: joystick button 1
+ altNegativeButton:
+ altPositiveButton:
+ gravity: 1000
+ dead: .00100000005
+ sensitivity: 1000
+ snap: 0
+ invert: 0
+ type: 0
+ axis: 0
+ joyNum: 0
+ - serializedVersion: 3
+ m_Name: Fire3
+ descriptiveName:
+ descriptiveNegativeName:
+ negativeButton:
+ positiveButton: joystick button 2
+ altNegativeButton:
+ altPositiveButton:
+ gravity: 1000
+ dead: .00100000005
+ sensitivity: 1000
+ snap: 0
+ invert: 0
+ type: 0
+ axis: 0
+ joyNum: 0
+ - serializedVersion: 3
+ m_Name: Jump
+ descriptiveName:
+ descriptiveNegativeName:
+ negativeButton:
+ positiveButton: joystick button 3
+ altNegativeButton:
+ altPositiveButton:
+ gravity: 1000
+ dead: .00100000005
+ sensitivity: 1000
+ snap: 0
+ invert: 0
+ type: 0
+ axis: 0
+ joyNum: 0
+ - serializedVersion: 3
+ m_Name: Submit
+ descriptiveName:
+ descriptiveNegativeName:
+ negativeButton:
+ positiveButton: return
+ altNegativeButton:
+ altPositiveButton: joystick button 0
+ gravity: 1000
+ dead: .00100000005
+ sensitivity: 1000
+ snap: 0
+ invert: 0
+ type: 0
+ axis: 0
+ joyNum: 0
+ - serializedVersion: 3
+ m_Name: Submit
+ descriptiveName:
+ descriptiveNegativeName:
+ negativeButton:
+ positiveButton: enter
+ altNegativeButton:
+ altPositiveButton: space
+ gravity: 1000
+ dead: .00100000005
+ sensitivity: 1000
+ snap: 0
+ invert: 0
+ type: 0
+ axis: 0
+ joyNum: 0
+ - serializedVersion: 3
+ m_Name: Cancel
+ descriptiveName:
+ descriptiveNegativeName:
+ negativeButton:
+ positiveButton: escape
+ altNegativeButton:
+ altPositiveButton: joystick button 1
+ gravity: 1000
+ dead: .00100000005
+ sensitivity: 1000
+ snap: 0
+ invert: 0
+ type: 0
+ axis: 0
+ joyNum: 0
--- /dev/null
+++ b/ProjectSettings/NavMeshAreas.asset
@@ -1,1 +1,72 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!126 &1
+NavMeshAreas:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ areas:
+ - name: Walkable
+ cost: 1
+ - name: Not Walkable
+ cost: 1
+ - name: Jump
+ cost: 2
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
--- /dev/null
+++ b/ProjectSettings/NetworkManager.asset
@@ -1,1 +1,9 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!149 &1
+NetworkManager:
+ m_ObjectHideFlags: 0
+ m_DebugLevel: 0
+ m_Sendrate: 15
+ m_AssetToPrefab: {}
--- /dev/null
+++ b/ProjectSettings/Physics2DSettings.asset
@@ -1,1 +1,26 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!19 &1
+Physics2DSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Gravity: {x: 0, y: -9.81000042}
+ m_DefaultMaterial: {fileID: 0}
+ m_VelocityIterations: 8
+ m_PositionIterations: 3
+ m_VelocityThreshold: 1
+ m_MaxLinearCorrection: .200000003
+ m_MaxAngularCorrection: 8
+ m_MaxTranslationSpeed: 100
+ m_MaxRotationSpeed: 360
+ m_MinPenetrationForPenalty: .00999999978
+ m_BaumgarteScale: .200000003
+ m_BaumgarteTimeOfImpactScale: .75
+ m_TimeToSleep: .5
+ m_LinearSleepTolerance: .00999999978
+ m_AngularSleepTolerance: 2
+ m_QueriesHitTriggers: 1
+ m_QueriesStartInColliders: 1
+ m_ChangeStopsCallbacks: 0
+ m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
--- /dev/null
+++ b/ProjectSettings/ProjectSettings.asset
@@ -1,1 +1,487 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!129 &1
+PlayerSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 7
+ AndroidProfiler: 0
+ defaultScreenOrientation: 4
+ targetDevice: 2
+ targetResolution: 0
+ useOnDemandResources: 0
+ accelerometerFrequency: 60
+ companyName: DefaultCompany
+ productName: New Unity Project
+ defaultCursor: {fileID: 0}
+ cursorHotspot: {x: 0, y: 0}
+ m_ShowUnitySplashScreen: 1
+ defaultScreenWidth: 1024
+ defaultScreenHeight: 768
+ defaultScreenWidthWeb: 960
+ defaultScreenHeightWeb: 600
+ m_RenderingPath: 1
+ m_MobileRenderingPath: 1
+ m_ActiveColorSpace: 0
+ m_MTRendering: 1
+ m_MobileMTRendering: 0
+ m_Stereoscopic3D: 0
+ iosShowActivityIndicatorOnLoading: -1
+ androidShowActivityIndicatorOnLoading: -1
+ iosAppInBackgroundBehavior: 0
+ displayResolutionDialog: 1
+ iosAllowHTTPDownload: 1
+ allowedAutorotateToPortrait: 1
+ allowedAutorotateToPortraitUpsideDown: 1
+ allowedAutorotateToLandscapeRight: 1
+ allowedAutorotateToLandscapeLeft: 1
+ useOSAutorotation: 1
+ use32BitDisplayBuffer: 1
+ disableDepthAndStencilBuffers: 0
+ defaultIsFullScreen: 1
+ defaultIsNativeResolution: 1
+ runInBackground: 0
+ captureSingleScreen: 0
+ Override IPod Music: 0
+ Prepare IOS For Recording: 0
+ submitAnalytics: 1
+ usePlayerLog: 1
+ bakeCollisionMeshes: 0
+ forceSingleInstance: 0
+ resizableWindow: 0
+ useMacAppStoreValidation: 0
+ gpuSkinning: 0
+ xboxPIXTextureCapture: 0
+ xboxEnableAvatar: 0
+ xboxEnableKinect: 0
+ xboxEnableKinectAutoTracking: 0
+ xboxEnableFitness: 0
+ visibleInBackground: 0
+ macFullscreenMode: 2
+ d3d9FullscreenMode: 1
+ d3d11FullscreenMode: 1
+ xboxSpeechDB: 0
+ xboxEnableHeadOrientation: 0
+ xboxEnableGuest: 0
+ n3dsDisableStereoscopicView: 0
+ n3dsEnableSharedListOpt: 1
+ n3dsEnableVSync: 0
+ xboxOneResolution: 0
+ ps3SplashScreen: {fileID: 0}
+ videoMemoryForVertexBuffers: 0
+ psp2PowerMode: 0
+ psp2AcquireBGM: 1
+ wiiUTVResolution: 0
+ wiiUGamePadMSAA: 1
+ wiiUSupportsNunchuk: 0
+ wiiUSupportsClassicController: 0
+ wiiUSupportsBalanceBoard: 0
+ wiiUSupportsMotionPlus: 0
+ wiiUSupportsProController: 0
+ wiiUAllowScreenCapture: 1
+ wiiUControllerCount: 0
+ m_SupportedAspectRatios:
+ 4:3: 1
+ 5:4: 1
+ 16:10: 1
+ 16:9: 1
+ Others: 1
+ bundleIdentifier: com.Company.ProductName
+ bundleVersion: 1.0
+ preloadedAssets: []
+ metroEnableIndependentInputSource: 0
+ metroEnableLowLatencyPresentationAPI: 0
+ xboxOneDisableKinectGpuReservation: 0
+ virtualRealitySupported: 0
+ productGUID: affd9915876e7bc42a4bf20f2a215263
+ AndroidBundleVersionCode: 1
+ AndroidMinSdkVersion: 9
+ AndroidPreferredInstallLocation: 1
+ aotOptions:
+ apiCompatibilityLevel: 2
+ stripEngineCode: 1
+ iPhoneStrippingLevel: 0
+ iPhoneScriptCallOptimization: 0
+ iPhoneBuildNumber: 0
+ ForceInternetPermission: 0
+ ForceSDCardPermission: 0
+ CreateWallpaper: 0
+ APKExpansionFiles: 0
+ preloadShaders: 0
+ StripUnusedMeshComponents: 0
+ VertexChannelCompressionMask:
+ serializedVersion: 2
+ m_Bits: 238
+ iPhoneSdkVersion: 988
+ iPhoneTargetOSVersion: 22
+ uIPrerenderedIcon: 0
+ uIRequiresPersistentWiFi: 0
+ uIRequiresFullScreen: 1
+ uIStatusBarHidden: 1
+ uIExitOnSuspend: 0
+ uIStatusBarStyle: 0
+ iPhoneSplashScreen: {fileID: 0}
+ iPhoneHighResSplashScreen: {fileID: 0}
+ iPhoneTallHighResSplashScreen: {fileID: 0}
+ iPhone47inSplashScreen: {fileID: 0}
+ iPhone55inPortraitSplashScreen: {fileID: 0}
+ iPhone55inLandscapeSplashScreen: {fileID: 0}
+ iPadPortraitSplashScreen: {fileID: 0}
+ iPadHighResPortraitSplashScreen: {fileID: 0}
+ iPadLandscapeSplashScreen: {fileID: 0}
+ iPadHighResLandscapeSplashScreen: {fileID: 0}
+ iOSLaunchScreenType: 0
+ iOSLaunchScreenPortrait: {fileID: 0}
+ iOSLaunchScreenLandscape: {fileID: 0}
+ iOSLaunchScreenBackgroundColor:
+ serializedVersion: 2
+ rgba: 0
+ iOSLaunchScreenFillPct: 100
+ iOSLaunchScreenSize: 100
+ iOSLaunchScreenCustomXibPath:
+ iOSLaunchScreeniPadType: 0
+ iOSLaunchScreeniPadImage: {fileID: 0}
+ iOSLaunchScreeniPadBackgroundColor:
+ serializedVersion: 2
+ rgba: 0
+ iOSLaunchScreeniPadFillPct: 100
+ iOSLaunchScreeniPadSize: 100
+ iOSLaunchScreeniPadCustomXibPath:
+ iOSDeviceRequirements: []
+ AndroidTargetDevice: 0
+ AndroidSplashScreenScale: 0
+ androidSplashScreen: {fileID: 0}
+ AndroidKeystoreName:
+ AndroidKeyaliasName:
+ AndroidTVCompatibility: 1
+ AndroidIsGame: 1
+ androidEnableBanner: 1
+ m_AndroidBanners:
+ - width: 320
+ height: 180
+ banner: {fileID: 0}
+ androidGamepadSupportLevel: 0
+ resolutionDialogBanner: {fileID: 0}
+ m_BuildTargetIcons: []
+ m_BuildTargetBatching: []
+ m_BuildTargetGraphicsAPIs: []
+ webPlayerTemplate: APPLICATION:Default
+ m_TemplateCustomTags: {}
+ wiiUTitleID: 0005000011000000
+ wiiUGroupID: 00010000
+ wiiUCommonSaveSize: 4096
+ wiiUAccountSaveSize: 2048
+ wiiUOlvAccessKey: 0
+ wiiUTinCode: 0
+ wiiUJoinGameId: 0
+ wiiUJoinGameModeMask: 0000000000000000
+ wiiUCommonBossSize: 0
+ wiiUAccountBossSize: 0
+ wiiUAddOnUniqueIDs: []
+ wiiUMainThreadStackSize: 3072
+ wiiULoaderThreadStackSize: 1024
+ wiiUSystemHeapSize: 128
+ wiiUTVStartupScreen: {fileID: 0}
+ wiiUGamePadStartupScreen: {fileID: 0}
+ wiiUProfilerLibPath:
+ actionOnDotNetUnhandledException: 1
+ enableInternalProfiler: 0
+ logObjCUncaughtExceptions: 1
+ enableCrashReportAPI: 0
+ locationUsageDescription:
+ XboxTitleId:
+ XboxImageXexPath:
+ XboxSpaPath:
+ XboxGenerateSpa: 0
+ XboxDeployKinectResources: 0
+ XboxSplashScreen: {fileID: 0}
+ xboxEnableSpeech: 0
+ xboxAdditionalTitleMemorySize: 0
+ xboxDeployKinectHeadOrientation: 0
+ xboxDeployKinectHeadPosition: 0
+ ps3TitleConfigPath:
+ ps3DLCConfigPath:
+ ps3ThumbnailPath:
+ ps3BackgroundPath:
+ ps3SoundPath:
+ ps3NPAgeRating: 12
+ ps3TrophyCommId:
+ ps3NpCommunicationPassphrase:
+ ps3TrophyPackagePath:
+ ps3BootCheckMaxSaveGameSizeKB: 128
+ ps3TrophyCommSig:
+ ps3SaveGameSlots: 1
+ ps3TrialMode: 0
+ ps3VideoMemoryForAudio: 0
+ ps3EnableVerboseMemoryStats: 0
+ ps3UseSPUForUmbra: 0
+ ps3EnableMoveSupport: 1
+ ps3DisableDolbyEncoding: 0
+ ps4NPAgeRating: 12
+ ps4NPTitleSecret:
+ ps4NPTrophyPackPath:
+ ps4ParentalLevel: 1
+ ps4ContentID: ED1633-NPXX51362_00-0000000000000000
+ ps4Category: 0
+ ps4MasterVersion: 01.00
+ ps4AppVersion: 01.00
+ ps4AppType: 0
+ ps4ParamSfxPath:
+ ps4VideoOutPixelFormat: 0
+ ps4VideoOutResolution: 4
+ ps4PronunciationXMLPath:
+ ps4PronunciationSIGPath:
+ ps4BackgroundImagePath:
+ ps4StartupImagePath:
+ ps4SaveDataImagePath:
+ ps4SdkOverride:
+ ps4BGMPath:
+ ps4ShareFilePath:
+ ps4ShareOverlayImagePath:
+ ps4PrivacyGuardImagePath:
+ ps4NPtitleDatPath:
+ ps4RemotePlayKeyAssignment: -1
+ ps4RemotePlayKeyMappingDir:
+ ps4EnterButtonAssignment: 1
+ ps4ApplicationParam1: 0
+ ps4ApplicationParam2: 0
+ ps4ApplicationParam3: 0
+ ps4ApplicationParam4: 0
+ ps4DownloadDataSize: 0
+ ps4GarlicHeapSize: 2048
+ ps4Passcode: frAQBc8Wsa1xVPfvJcrgRYwTiizs2trQ
+ ps4pnSessions: 1
+ ps4pnPresence: 1
+ ps4pnFriends: 1
+ ps4pnGameCustomData: 1
+ playerPrefsSupport: 0
+ ps4ReprojectionSupport: 0
+ ps4UseAudio3dBackend: 0
+ ps4Audio3dVirtualSpeakerCount: 14
+ ps4attribCpuUsage: 0
+ ps4SocialScreenEnabled: 0
+ ps4attribUserManagement: 0
+ ps4attribMoveSupport: 0
+ ps4attrib3DSupport: 0
+ ps4attribShareSupport: 0
+ ps4IncludedModules: []
+ monoEnv:
+ psp2Splashimage: {fileID: 0}
+ psp2NPTrophyPackPath:
+ psp2NPSupportGBMorGJP: 0
+ psp2NPAgeRating: 12
+ psp2NPTitleDatPath:
+ psp2NPCommsID:
+ psp2NPCommunicationsID:
+ psp2NPCommsPassphrase:
+ psp2NPCommsSig:
+ psp2ParamSfxPath:
+ psp2ManualPath:
+ psp2LiveAreaGatePath:
+ psp2LiveAreaBackroundPath:
+ psp2LiveAreaPath:
+ psp2LiveAreaTrialPath:
+ psp2PatchChangeInfoPath:
+ psp2PatchOriginalPackage:
+ psp2PackagePassword: F69AzBlax3CF3EDNhm3soLBPh71Yexui
+ psp2KeystoneFile:
+ psp2MemoryExpansionMode: 0
+ psp2DRMType: 0
+ psp2StorageType: 0
+ psp2MediaCapacity: 0
+ psp2DLCConfigPath:
+ psp2ThumbnailPath:
+ psp2BackgroundPath:
+ psp2SoundPath:
+ psp2TrophyCommId:
+ psp2TrophyPackagePath:
+ psp2PackagedResourcesPath:
+ psp2SaveDataQuota: 10240
+ psp2ParentalLevel: 1
+ psp2ShortTitle: Not Set
+ psp2ContentID: IV0000-ABCD12345_00-0123456789ABCDEF
+ psp2Category: 0
+ psp2MasterVersion: 01.00
+ psp2AppVersion: 01.00
+ psp2TVBootMode: 0
+ psp2EnterButtonAssignment: 2
+ psp2TVDisableEmu: 0
+ psp2AllowTwitterDialog: 1
+ psp2Upgradable: 0
+ psp2HealthWarning: 0
+ psp2UseLibLocation: 0
+ psp2InfoBarOnStartup: 0
+ psp2InfoBarColor: 0
+ psmSplashimage: {fileID: 0}
+ spritePackerPolicy:
+ scriptingDefineSymbols: {}
+ metroPackageName: New Unity Project
+ metroPackageLogo:
+ metroPackageLogo140:
+ metroPackageLogo180:
+ metroPackageLogo240:
+ metroPackageVersion:
+ metroCertificatePath:
+ metroCertificatePassword:
+ metroCertificateSubject:
+ metroCertificateIssuer:
+ metroCertificateNotAfter: 0000000000000000
+ metroApplicationDescription: New Unity Project
+ metroStoreTileLogo80:
+ metroStoreTileLogo:
+ metroStoreTileLogo140:
+ metroStoreTileLogo180:
+ metroStoreTileWideLogo80:
+ metroStoreTileWideLogo:
+ metroStoreTileWideLogo140:
+ metroStoreTileWideLogo180:
+ metroStoreTileSmallLogo80:
+ metroStoreTileSmallLogo:
+ metroStoreTileSmallLogo140:
+ metroStoreTileSmallLogo180:
+ metroStoreSmallTile80:
+ metroStoreSmallTile:
+ metroStoreSmallTile140:
+ metroStoreSmallTile180:
+ metroStoreLargeTile80:
+ metroStoreLargeTile:
+ metroStoreLargeTile140:
+ metroStoreLargeTile180:
+ metroStoreSplashScreenImage:
+ metroStoreSplashScreenImage140:
+ metroStoreSplashScreenImage180:
+ metroPhoneAppIcon:
+ metroPhoneAppIcon140:
+ metroPhoneAppIcon240:
+ metroPhoneSmallTile:
+ metroPhoneSmallTile140:
+ metroPhoneSmallTile240:
+ metroPhoneMediumTile:
+ metroPhoneMediumTile140:
+ metroPhoneMediumTile240:
+ metroPhoneWideTile:
+ metroPhoneWideTile140:
+ metroPhoneWideTile240:
+ metroPhoneSplashScreenImage:
+ metroPhoneSplashScreenImage140:
+ metroPhoneSplashScreenImage240:
+ metroTileShortName:
+ metroCommandLineArgsFile:
+ metroTileShowName: 0
+ metroMediumTileShowName: 0
+ metroLargeTileShowName: 0
+ metroWideTileShowName: 0
+ metroDefaultTileSize: 1
+ metroTileForegroundText: 1
+ metroTileBackgroundColor: {r: 0, g: 0, b: 0, a: 1}
+ metroSplashScreenBackgroundColor: {r: 0, g: 0, b: 0, a: 1}
+ metroSplashScreenUseBackgroundColor: 0
+ platformCapabilities: {}
+ metroFTAName:
+ metroFTAFileTypes: []
+ metroProtocolName:
+ metroCompilationOverrides: 1
+ blackberryDeviceAddress:
+ blackberryDevicePassword:
+ blackberryTokenPath:
+ blackberryTokenExires:
+ blackberryTokenAuthor:
+ blackberryTokenAuthorId:
+ blackberryCskPassword:
+ blackberrySaveLogPath:
+ blackberrySharedPermissions: 0
+ blackberryCameraPermissions: 0
+ blackberryGPSPermissions: 0
+ blackberryDeviceIDPermissions: 0
+ blackberryMicrophonePermissions: 0
+ blackberryGamepadSupport: 0
+ blackberryBuildId: 0
+ blackberryLandscapeSplashScreen: {fileID: 0}
+ blackberryPortraitSplashScreen: {fileID: 0}
+ blackberrySquareSplashScreen: {fileID: 0}
+ tizenProductDescription:
+ tizenProductURL:
+ tizenSigningProfileName:
+ tizenGPSPermissions: 0
+ tizenMicrophonePermissions: 0
+ n3dsUseExtSaveData: 0
+ n3dsCompressStaticMem: 1
+ n3dsExtSaveDataNumber: 0x12345
+ n3dsStackSize: 131072
+ n3dsTargetPlatform: 2
+ n3dsRegion: 7
+ n3dsMediaSize: 0
+ n3dsLogoStyle: 3
+ n3dsTitle: GameName
+ n3dsProductCode:
+ n3dsApplicationId: 0xFF3FF
+ stvDeviceAddress:
+ stvProductDescription:
+ stvProductAuthor:
+ stvProductAuthorEmail:
+ stvProductLink:
+ stvProductCategory: 0
+ XboxOneProductId:
+ XboxOneUpdateKey:
+ XboxOneSandboxId:
+ XboxOneContentId:
+ XboxOneTitleId:
+ XboxOneSCId:
+ XboxOneGameOsOverridePath:
+ XboxOnePackagingOverridePath:
+ XboxOneAppManifestOverridePath:
+ XboxOnePackageEncryption: 0
+ XboxOnePackageUpdateGranularity: 2
+ XboxOneDescription:
+ XboxOneIsContentPackage: 0
+ XboxOneEnableGPUVariability: 0
+ XboxOneSockets: {}
+ XboxOneSplashScreen: {fileID: 0}
+ XboxOneAllowedProductIds: []
+ XboxOnePersistentLocalStorageSize: 0
+ intPropertyNames:
+ - Android::ScriptingBackend
+ - Metro::ScriptingBackend
+ - Standalone::ScriptingBackend
+ - WP8::ScriptingBackend
+ - WebGL::ScriptingBackend
+ - WebGL::audioCompressionFormat
+ - WebGL::exceptionSupport
+ - WebGL::memorySize
+ - WebPlayer::ScriptingBackend
+ - iOS::Architecture
+ - iOS::EnableIncrementalBuildSupportForIl2cpp
+ - iOS::ScriptingBackend
+ Android::ScriptingBackend: 0
+ Metro::ScriptingBackend: 2
+ Standalone::ScriptingBackend: 0
+ WP8::ScriptingBackend: 2
+ WebGL::ScriptingBackend: 1
+ WebGL::audioCompressionFormat: 4
+ WebGL::exceptionSupport: 1
+ WebGL::memorySize: 256
+ WebPlayer::ScriptingBackend: 0
+ iOS::Architecture: 2
+ iOS::EnableIncrementalBuildSupportForIl2cpp: 1
+ iOS::ScriptingBackend: 1
+ boolPropertyNames:
+ - WebGL::analyzeBuildSize
+ - WebGL::dataCaching
+ - WebGL::useEmbeddedResources
+ - XboxOne::enus
+ WebGL::analyzeBuildSize: 0
+ WebGL::dataCaching: 0
+ WebGL::useEmbeddedResources: 0
+ XboxOne::enus: 1
+ stringPropertyNames:
+ - WebGL::emscriptenArgs
+ - WebGL::template
+ - additionalIl2CppArgs::additionalIl2CppArgs
+ WebGL::emscriptenArgs:
+ WebGL::template: APPLICATION:Default
+ additionalIl2CppArgs::additionalIl2CppArgs:
+ firstStreamedSceneWithResources: 0
+ cloudProjectId:
+ projectName:
+ organizationId:
+ cloudEnabled: 0
--- /dev/null
+++ b/ProjectSettings/ProjectVersion.txt
@@ -1,1 +1,3 @@
+m_EditorVersion: 5.2.4f1
+m_StandardAssetsVersion: 0
--- /dev/null
+++ b/ProjectSettings/QualitySettings.asset
@@ -1,1 +1,173 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!47 &1
+QualitySettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 5
+ m_CurrentQuality: 5
+ m_QualitySettings:
+ - serializedVersion: 2
+ name: Fastest
+ pixelLightCount: 0
+ shadows: 0
+ shadowResolution: 0
+ shadowProjection: 1
+ shadowCascades: 1
+ shadowDistance: 15
+ shadowNearPlaneOffset: 2
+ shadowCascade2Split: .333333343
+ shadowCascade4Split: {x: .0666666701, y: .200000003, z: .466666669}
+ blendWeights: 1
+ textureQuality: 1
+ anisotropicTextures: 0
+ antiAliasing: 0
+ softParticles: 0
+ softVegetation: 0
+ realtimeReflectionProbes: 0
+ billboardsFaceCameraPosition: 0
+ vSyncCount: 0
+ lodBias: .300000012
+ maximumLODLevel: 0
+ particleRaycastBudget: 4
+ excludedTargetPlatforms: []
+ - serializedVersion: 2
+ name: Fast
+ pixelLightCount: 0
+ shadows: 0
+ shadowResolution: 0
+ shadowProjection: 1
+ shadowCascades: 1
+ shadowDistance: 20
+ shadowNearPlaneOffset: 2
+ shadowCascade2Split: .333333343
+ shadowCascade4Split: {x: .0666666701, y: .200000003, z: .466666669}
+ blendWeights: 2
+ textureQuality: 0
+ anisotropicTextures: 0
+ antiAliasing: 0
+ softParticles: 0
+ softVegetation: 0
+ realtimeReflectionProbes: 0
+ billboardsFaceCameraPosition: 0
+ vSyncCount: 0
+ lodBias: .400000006
+ maximumLODLevel: 0
+ particleRaycastBudget: 16
+ excludedTargetPlatforms: []
+ - serializedVersion: 2
+ name: Simple
+ pixelLightCount: 1
+ shadows: 1
+ shadowResolution: 0
+ shadowProjection: 1
+ shadowCascades: 1
+ shadowDistance: 20
+ shadowNearPlaneOffset: 2
+ shadowCascade2Split: .333333343
+ shadowCascade4Split: {x: .0666666701, y: .200000003, z: .466666669}
+ blendWeights: 2
+ textureQuality: 0
+ anisotropicTextures: 1
+ antiAliasing: 0
+ softParticles: 0
+ softVegetation: 0
+ realtimeReflectionProbes: 0
+ billboardsFaceCameraPosition: 0
+ vSyncCount: 0
+ lodBias: .699999988
+ maximumLODLevel: 0
+ particleRaycastBudget: 64
+ excludedTargetPlatforms: []
+ - serializedVersion: 2
+ name: Good
+ pixelLightCount: 2
+ shadows: 2
+ shadowResolution: 1
+ shadowProjection: 1
+ shadowCascades: 2
+ shadowDistance: 40
+ shadowNearPlaneOffset: 2
+ shadowCascade2Split: .333333343
+ shadowCascade4Split: {x: .0666666701, y: .200000003, z: .466666669}
+ blendWeights: 2
+ textureQuality: 0
+ anisotropicTextures: 1
+ antiAliasing: 0
+ softParticles: 0
+ softVegetation: 1
+ realtimeReflectionProbes: 1
+ billboardsFaceCameraPosition: 1
+ vSyncCount: 1
+ lodBias: 1
+ maximumLODLevel: 0
+ particleRaycastBudget: 256
+ excludedTargetPlatforms: []
+ - serializedVersion: 2
+ name: Beautiful
+ pixelLightCount: 3
+ shadows: 2
+ shadowResolution: 2
+ shadowProjection: 1
+ shadowCascades: 2
+ shadowDistance: 70
+ shadowNearPlaneOffset: 2
+ shadowCascade2Split: .333333343
+ shadowCascade4Split: {x: .0666666701, y: .200000003, z: .466666669}
+ blendWeights: 4
+ textureQuality: 0
+ anisotropicTextures: 2
+ antiAliasing: 2
+ softParticles: 1
+ softVegetation: 1
+ realtimeReflectionProbes: 1
+ billboardsFaceCameraPosition: 1
+ vSyncCount: 1
+ lodBias: 1.5
+ maximumLODLevel: 0
+ particleRaycastBudget: 1024
+ excludedTargetPlatforms: []
+ - serializedVersion: 2
+ name: Fantastic
+ pixelLightCount: 4
+ shadows: 2
+ shadowResolution: 2
+ shadowProjection: 1
+ shadowCascades: 4
+ shadowDistance: 150
+ shadowNearPlaneOffset: 2
+ shadowCascade2Split: .333333343
+ shadowCascade4Split: {x: .0666666701, y: .200000003, z: .466666669}
+ blendWeights: 4
+ textureQuality: 0
+ anisotropicTextures: 2
+ antiAliasing: 2
+ softParticles: 1
+ softVegetation: 1
+ realtimeReflectionProbes: 1
+ billboardsFaceCameraPosition: 1
+ vSyncCount: 1
+ lodBias: 2
+ maximumLODLevel: 0
+ particleRaycastBudget: 4096
+ excludedTargetPlatforms: []
+ m_PerPlatformDefaultQuality:
+ Android: 2
+ BlackBerry: 2
+ GLES Emulation: 5
+ Nintendo 3DS: 5
+ PS3: 5
+ PS4: 5
+ PSM: 5
+ PSP2: 2
+ Samsung TV: 2
+ Standalone: 5
+ Tizen: 2
+ WP8: 5
+ Web: 5
+ WebGL: 3
+ Wii U: 5
+ Windows Store Apps: 5
+ XBOX360: 5
+ XboxOne: 5
+ iPhone: 2
--- /dev/null
+++ b/ProjectSettings/TagManager.asset
@@ -1,1 +1,44 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!78 &1
+TagManager:
+ serializedVersion: 2
+ tags: []
+ layers:
+ - Default
+ - TransparentFX
+ - Ignore Raycast
+ -
+ - Water
+ - UI
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ m_SortingLayers:
+ - name: Default
+ uniqueID: 0
+ locked: 0
--- /dev/null
+++ b/ProjectSettings/TimeManager.asset
@@ -1,1 +1,9 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!5 &1
+TimeManager:
+ m_ObjectHideFlags: 0
+ Fixed Timestep: .0199999996
+ Maximum Allowed Timestep: .333333343
+ m_TimeScale: 1
--- /dev/null
+++ b/ProjectSettings/UnityAdsSettings.asset
@@ -1,1 +1,12 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!292 &1
+UnityAdsSettings:
+ m_ObjectHideFlags: 0
+ m_Enabled: 0
+ m_InitializeOnStartup: 1
+ m_TestMode: 0
+ m_EnabledPlatforms: 4294967295
+ m_IosGameId:
+ m_AndroidGameId:
--- /dev/null
+++ b/ProjectSettings/UnityAnalyticsManager.asset
@@ -1,1 +1,11 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!303 &1
+UnityAnalyticsManager:
+ m_ObjectHideFlags: 0
+ m_Enabled: 0
+ m_InitializeOnStartup: 1
+ m_TestMode: 0
+ m_TestEventUrl:
+ m_TestConfigUrl:
Binary files /dev/null and b/Publishing/CurseLogo.png differ
Binary files /dev/null and b/Publishing/CurseLogo.psd differ