Infrastructure and Production

Added the ability to directly install blueprints onto hardpoints in the colony tab
Added the ability to customize production of factories
This stuff is still kinda buggy
This commit is contained in:
hyperion51 2020-06-02 07:01:03 +01:00
commit 4eb83acb34
32 changed files with 2525 additions and 399 deletions

View file

@ -1288,6 +1288,7 @@
<e p="Weapon.cs" t="Include" />
</e>
<e p="BlueprintData.cs" t="Include" />
<e p="Corporations.cs" t="Include" />
<e p="DatabaseCache.cs" t="Include" />
<e p="DatabaseItems.cs" t="Include" />
<e p="Economy.Shared.Unity.asmdef" t="Include" />
@ -1755,6 +1756,7 @@
<e p="AttributeProperty.cs" t="Include" />
<e p="BackgroundRenderer.cs" t="Include" />
<e p="BoolField.cs" t="Include" />
<e p="ButtonField.cs" t="Include" />
<e p="ClickableCollider.cs" t="Include" />
<e p="ClickCatcher.cs" t="Include" />
<e p="ClickRaycaster.cs" t="Include" />
@ -1773,6 +1775,7 @@
<e p="MouseHover.cs" t="Include" />
<e p="PropertiesList.cs" t="Include" />
<e p="PropertiesPanel.cs" t="Include" />
<e p="PropertyButton.cs" t="Include" />
<e p="PropertyLabel.cs" t="Include" />
<e p="RangedFloatField.cs" t="Include" />
<e p="TabActivator.cs" t="Include" />

View file

@ -871,6 +871,7 @@
<Compile Include="Assets\Scripts\UI\AttributeProperty.cs" />
<Compile Include="Assets\Scripts\UI\BackgroundRenderer.cs" />
<Compile Include="Assets\Scripts\UI\BoolField.cs" />
<Compile Include="Assets\Scripts\UI\ButtonField.cs" />
<Compile Include="Assets\Scripts\UI\ClickableCollider.cs" />
<Compile Include="Assets\Scripts\UI\ClickCatcher.cs" />
<Compile Include="Assets\Scripts\UI\ClickRaycaster.cs" />
@ -889,6 +890,7 @@
<Compile Include="Assets\Scripts\UI\MouseHover.cs" />
<Compile Include="Assets\Scripts\UI\PropertiesList.cs" />
<Compile Include="Assets\Scripts\UI\PropertiesPanel.cs" />
<Compile Include="Assets\Scripts\UI\PropertyButton.cs" />
<Compile Include="Assets\Scripts\UI\PropertyLabel.cs" />
<Compile Include="Assets\Scripts\UI\RangedFloatField.cs" />
<Compile Include="Assets\Scripts\UI\TabActivator.cs" />

View file

@ -0,0 +1,637 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &790814197411605232
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 790814197411605233}
- component: {fileID: 790814197411605235}
- component: {fileID: 790814197411605234}
m_Layer: 5
m_Name: Label
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &790814197411605233
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 790814197411605232}
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: 790814198576895811}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 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: 0.5, y: 0.5}
--- !u!222 &790814197411605235
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 790814197411605232}
m_CullTransparentMesh: 0
--- !u!114 &790814197411605234
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 790814197411605232}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, 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_text: Dolor
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 9dcd07b95faae7641a3ff6fccab43c32, type: 2}
m_sharedMaterial: {fileID: 21906973755630180, guid: 9dcd07b95faae7641a3ff6fccab43c32,
type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4294967295
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
topLeft: {r: 1, g: 1, b: 1, a: 1}
topRight: {r: 1, g: 1, b: 1, a: 1}
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
bottomRight: {r: 1, g: 1, b: 1, a: 1}
m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_overrideHtmlColors: 0
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_outlineColor:
serializedVersion: 2
rgba: 4278190080
m_fontSize: 20
m_fontSizeBase: 20
m_fontWeight: 400
m_enableAutoSizing: 0
m_fontSizeMin: 18
m_fontSizeMax: 72
m_fontStyle: 1
m_textAlignment: 514
m_characterSpacing: 0
m_wordSpacing: 0
m_lineSpacing: 0
m_lineSpacingMax: 0
m_paragraphSpacing: 0
m_charWidthMaxAdj: 0
m_enableWordWrapping: 1
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_firstOverflowCharacterIndex: -1
m_linkedTextComponent: {fileID: 0}
m_isLinkedTextComponent: 0
m_isTextTruncated: 0
m_enableKerning: 1
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
m_parseCtrlCharacters: 1
m_isOrthographic: 1
m_isCullingEnabled: 0
m_ignoreRectMaskCulling: 0
m_ignoreCulling: 1
m_horizontalMapping: 0
m_verticalMapping: 0
m_uvLineOffset: 0
m_geometrySortingOrder: 0
m_VertexBufferAutoSizeReduction: 1
m_firstVisibleCharacter: 0
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: 0, y: 0, z: 0, w: 0}
m_textInfo:
textComponent: {fileID: 790814197411605234}
characterCount: 5
spriteCount: 0
spaceCount: 0
wordCount: 1
linkCount: 0
lineCount: 1
pageCount: 1
materialCount: 1
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_spriteAnimator: {fileID: 0}
m_hasFontAssetChanged: 0
m_subTextObjects:
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!1 &790814198576895810
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 790814198576895811}
- component: {fileID: 790814198576895814}
- component: {fileID: 790814198576895813}
- component: {fileID: 790814198576895812}
m_Layer: 5
m_Name: Button
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &790814198576895811
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 790814198576895810}
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: 790814197411605233}
- {fileID: 790814198754792692}
m_Father: {fileID: 6566784227922820063}
m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.6, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 4.0000076, y: 0}
m_SizeDelta: {x: 8, y: 2}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &790814198576895814
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 790814198576895810}
m_CullTransparentMesh: 0
--- !u!114 &790814198576895813
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 790814198576895810}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0, g: 0.4180913, b: 1, a: 0.15294118}
m_RaycastTarget: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: 84d126f984de5fd42ac66361c00f830c, type: 3}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
--- !u!114 &790814198576895812
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 790814198576895810}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fafbcd26aa8d175448880b37b7a41b2e, type: 3}
m_Name:
m_EditorClassIdentifier:
StateDamping: 10
Fill: {fileID: 790814198576895813}
CurrentState: 0
DisableClickWhenSelected: 1
UnselectedColor: {r: 0, g: 0.4180913, b: 1, a: 0.15294118}
SelectedColor: {r: 1, g: 0.44583336, b: 0.050000012, a: 0.65882355}
HoverColor: {r: 0, g: 0.4180913, b: 1, a: 0.5019608}
ClickColor: {r: 1, g: 0.44583336, b: 0.050000012, a: 1}
--- !u!1 &790814198754792691
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 790814198754792692}
- component: {fileID: 790814198754792694}
- component: {fileID: 790814198754792693}
m_Layer: 5
m_Name: Outline
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &790814198754792692
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 790814198754792691}
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: 790814198576895811}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 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: 0.5, y: 0.5}
--- !u!222 &790814198754792694
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 790814198754792691}
m_CullTransparentMesh: 0
--- !u!114 &790814198754792693
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 790814198754792691}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0.8, g: 0.9333333, b: 1, a: 1}
m_RaycastTarget: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: b412943088786454c9bf10b1f7e1e94b, type: 3}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
--- !u!1 &2152774904542180253
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 3391258965138102790}
- component: {fileID: 1727340882891331310}
- component: {fileID: 1262479968588482621}
m_Layer: 5
m_Name: Background
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &3391258965138102790
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2152774904542180253}
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: 6566784227922820063}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 16, y: 4}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &1727340882891331310
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2152774904542180253}
m_CullTransparentMesh: 0
--- !u!114 &1262479968588482621
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2152774904542180253}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0, g: 0.4180913, b: 1, a: 0.15294118}
m_RaycastTarget: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: 84d126f984de5fd42ac66361c00f830c, type: 3}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
--- !u!1 &6566784227922820056
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6566784227922820063}
- component: {fileID: 6566784227922820061}
- component: {fileID: 1185277543755028150}
- component: {fileID: 6566784227922820057}
m_Layer: 5
m_Name: Button Field
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &6566784227922820063
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6566784227922820056}
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: 3391258965138102790}
- {fileID: 6566784228232816309}
- {fileID: 790814198576895811}
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 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: 0.5, y: 0.5}
--- !u!114 &6566784227922820061
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6566784227922820056}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 1679637790, guid: f70555f144d8491a825f0804e09c671c, type: 3}
m_Name:
m_EditorClassIdentifier:
m_IgnoreLayout: 0
m_MinWidth: -1
m_MinHeight: -1
m_PreferredWidth: -1
m_PreferredHeight: 32
m_FlexibleWidth: 1
m_FlexibleHeight: -1
m_LayoutPriority: 1
--- !u!222 &1185277543755028150
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6566784227922820056}
m_CullTransparentMesh: 0
--- !u!114 &6566784227922820057
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6566784227922820056}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 16f77bec2596fd74ba40cb68aa4c7f20, type: 3}
m_Name:
m_EditorClassIdentifier:
Label: {fileID: 6566784228232816308}
ButtonLabel: {fileID: 790814197411605234}
Button: {fileID: 790814198576895812}
--- !u!1 &6566784228232816310
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6566784228232816309}
- component: {fileID: 6566784228232816315}
- component: {fileID: 6566784228232816308}
m_Layer: 5
m_Name: Name
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &6566784228232816309
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6566784228232816310}
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: 6566784227922820063}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 2, y: 0}
m_SizeDelta: {x: -4, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &6566784228232816315
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6566784228232816310}
m_CullTransparentMesh: 0
--- !u!114 &6566784228232816308
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6566784228232816310}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, 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_text: Dolor
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 9dcd07b95faae7641a3ff6fccab43c32, type: 2}
m_sharedMaterial: {fileID: 21906973755630180, guid: 9dcd07b95faae7641a3ff6fccab43c32,
type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4294967295
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
topLeft: {r: 1, g: 1, b: 1, a: 1}
topRight: {r: 1, g: 1, b: 1, a: 1}
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
bottomRight: {r: 1, g: 1, b: 1, a: 1}
m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_overrideHtmlColors: 0
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_outlineColor:
serializedVersion: 2
rgba: 4278190080
m_fontSize: 20
m_fontSizeBase: 20
m_fontWeight: 400
m_enableAutoSizing: 0
m_fontSizeMin: 18
m_fontSizeMax: 72
m_fontStyle: 1
m_textAlignment: 513
m_characterSpacing: 0
m_wordSpacing: 0
m_lineSpacing: 0
m_lineSpacingMax: 0
m_paragraphSpacing: 0
m_charWidthMaxAdj: 0
m_enableWordWrapping: 1
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_firstOverflowCharacterIndex: -1
m_linkedTextComponent: {fileID: 0}
m_isLinkedTextComponent: 0
m_isTextTruncated: 0
m_enableKerning: 1
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
m_parseCtrlCharacters: 1
m_isOrthographic: 1
m_isCullingEnabled: 0
m_ignoreRectMaskCulling: 0
m_ignoreCulling: 1
m_horizontalMapping: 0
m_verticalMapping: 0
m_uvLineOffset: 0
m_geometrySortingOrder: 0
m_VertexBufferAutoSizeReduction: 1
m_firstVisibleCharacter: 0
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: 0, y: 0, z: 0, w: 0}
m_textInfo:
textComponent: {fileID: 6566784228232816308}
characterCount: 5
spriteCount: 0
spaceCount: 0
wordCount: 1
linkCount: 0
lineCount: 1
pageCount: 1
materialCount: 1
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_spriteAnimator: {fileID: 0}
m_hasFontAssetChanged: 0
m_subTextObjects:
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}

View file

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 6db1feb4cda7b8c419384cd42c85a5c4
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View file

@ -1641,7 +1641,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 6693f0cab8ab72b49bdbc76515d0fc1f, type: 3}
m_Name:
m_EditorClassIdentifier:
Label: {fileID: 8066689790862381}
Label: {fileID: 8066690032161818}
Dropdown: {fileID: 8066689769109182}
--- !u!1 &8066691340653935
GameObject:

View file

@ -0,0 +1,651 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &1103627007437062218
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1684719062263664779}
- component: {fileID: 7932258796196231685}
- component: {fileID: 8894480284447435227}
m_Layer: 5
m_Name: Fill
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1684719062263664779
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1103627007437062218}
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: 8181761431199775037}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 10, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &7932258796196231685
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1103627007437062218}
m_CullTransparentMesh: 0
--- !u!114 &8894480284447435227
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1103627007437062218}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 0.44583336, b: 0.050000012, a: 1}
m_RaycastTarget: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: 7ed12bf887e951949bd02894a21fb3ff, type: 3}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
--- !u!1 &2128179938907734338
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4052465884214141673}
- component: {fileID: 3178655000854301877}
- component: {fileID: 6640782209009516030}
m_Layer: 5
m_Name: Background
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &4052465884214141673
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2128179938907734338}
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: 8626591645481506733}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0.25}
m_AnchorMax: {x: 1, y: 0.75}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &3178655000854301877
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2128179938907734338}
m_CullTransparentMesh: 0
--- !u!114 &6640782209009516030
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2128179938907734338}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0, g: 0.1164044, b: 0.28, a: 1}
m_RaycastTarget: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: 7ed12bf887e951949bd02894a21fb3ff, type: 3}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
--- !u!1 &3301729264647156059
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 3301729264647156058}
- component: {fileID: 3301729264647156056}
- component: {fileID: 3301729264647156057}
m_Layer: 5
m_Name: Background
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &3301729264647156058
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3301729264647156059}
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: 3301729265155698787}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 16, y: 4}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &3301729264647156056
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3301729264647156059}
m_CullTransparentMesh: 0
--- !u!114 &3301729264647156057
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3301729264647156059}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0, g: 0.4180913, b: 1, a: 0.15294118}
m_RaycastTarget: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: 84d126f984de5fd42ac66361c00f830c, type: 3}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
--- !u!1 &3301729265155698788
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 3301729265155698787}
- component: {fileID: 3301729265155698799}
- component: {fileID: 3301729265155698785}
- component: {fileID: 256436433275418348}
m_Layer: 5
m_Name: Progress Field
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &3301729265155698787
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3301729265155698788}
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: 3301729264647156058}
- {fileID: 3301729265189646952}
- {fileID: 8626591645481506733}
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 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: 0.5, y: 0.5}
--- !u!114 &3301729265155698799
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3301729265155698788}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 1679637790, guid: f70555f144d8491a825f0804e09c671c, type: 3}
m_Name:
m_EditorClassIdentifier:
m_IgnoreLayout: 0
m_MinWidth: -1
m_MinHeight: -1
m_PreferredWidth: -1
m_PreferredHeight: 32
m_FlexibleWidth: 1
m_FlexibleHeight: -1
m_LayoutPriority: 1
--- !u!222 &3301729265155698785
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3301729265155698788}
m_CullTransparentMesh: 0
--- !u!114 &256436433275418348
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3301729265155698788}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 9f6e88386192c944b8c95e1a6251be66, type: 3}
m_Name:
m_EditorClassIdentifier:
Label: {fileID: 3301729265189646935}
Slider: {fileID: 1245313791973438745}
--- !u!1 &3301729265189646953
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 3301729265189646952}
- component: {fileID: 3301729265189646934}
- component: {fileID: 3301729265189646935}
m_Layer: 5
m_Name: Name
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &3301729265189646952
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3301729265189646953}
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: 3301729265155698787}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 2, y: 0}
m_SizeDelta: {x: -4, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &3301729265189646934
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3301729265189646953}
m_CullTransparentMesh: 0
--- !u!114 &3301729265189646935
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3301729265189646953}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, 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_text: Dolor
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 9dcd07b95faae7641a3ff6fccab43c32, type: 2}
m_sharedMaterial: {fileID: 21906973755630180, guid: 9dcd07b95faae7641a3ff6fccab43c32,
type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4294967295
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
topLeft: {r: 1, g: 1, b: 1, a: 1}
topRight: {r: 1, g: 1, b: 1, a: 1}
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
bottomRight: {r: 1, g: 1, b: 1, a: 1}
m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_overrideHtmlColors: 0
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_outlineColor:
serializedVersion: 2
rgba: 4278190080
m_fontSize: 20
m_fontSizeBase: 20
m_fontWeight: 400
m_enableAutoSizing: 0
m_fontSizeMin: 18
m_fontSizeMax: 72
m_fontStyle: 1
m_textAlignment: 513
m_characterSpacing: 0
m_wordSpacing: 0
m_lineSpacing: 0
m_lineSpacingMax: 0
m_paragraphSpacing: 0
m_charWidthMaxAdj: 0
m_enableWordWrapping: 1
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_firstOverflowCharacterIndex: -1
m_linkedTextComponent: {fileID: 0}
m_isLinkedTextComponent: 0
m_isTextTruncated: 0
m_enableKerning: 1
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
m_parseCtrlCharacters: 1
m_isOrthographic: 1
m_isCullingEnabled: 0
m_ignoreRectMaskCulling: 0
m_ignoreCulling: 1
m_horizontalMapping: 0
m_verticalMapping: 0
m_uvLineOffset: 0
m_geometrySortingOrder: 0
m_VertexBufferAutoSizeReduction: 1
m_firstVisibleCharacter: 0
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: 0, y: 0, z: 0, w: 0}
m_textInfo:
textComponent: {fileID: 3301729265189646935}
characterCount: 5
spriteCount: 0
spaceCount: 0
wordCount: 1
linkCount: 0
lineCount: 1
pageCount: 1
materialCount: 1
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_spriteAnimator: {fileID: 0}
m_hasFontAssetChanged: 0
m_subTextObjects:
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!1 &3947597710774014716
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8181761431199775037}
m_Layer: 5
m_Name: Fill Area
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &8181761431199775037
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3947597710774014716}
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: 1684719062263664779}
m_Father: {fileID: 8626591645481506733}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0.25}
m_AnchorMax: {x: 1, y: 0.75}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: -10, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!1 &7612562921131326594
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8486777826238065456}
- component: {fileID: 6947366979028237389}
- component: {fileID: 6333568709943515539}
m_Layer: 5
m_Name: Outline
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &8486777826238065456
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7612562921131326594}
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: 8626591645481506733}
m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0.25}
m_AnchorMax: {x: 1, y: 0.75}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &6947366979028237389
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7612562921131326594}
m_CullTransparentMesh: 0
--- !u!114 &6333568709943515539
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7612562921131326594}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0.8, g: 0.9333333, b: 1, a: 1}
m_RaycastTarget: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: 61501af80fabaac44ace015a55851277, type: 3}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
--- !u!1 &8579295300066914487
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8626591645481506733}
- component: {fileID: 1245313791973438745}
m_Layer: 5
m_Name: Slider
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &8626591645481506733
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8579295300066914487}
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: 4052465884214141673}
- {fileID: 8181761431199775037}
- {fileID: 8486777826238065456}
m_Father: {fileID: 3301729265155698787}
m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.6, y: 0.5}
m_AnchorMax: {x: 1, y: 0.5}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 20}
m_Pivot: {x: 1, y: 0.5}
--- !u!114 &1245313791973438745
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8579295300066914487}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: -113659843, guid: f70555f144d8491a825f0804e09c671c, 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: 1
m_Colors:
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
m_ColorMultiplier: 1
m_FadeDuration: 0.1
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: 0
m_TargetGraphic: {fileID: 0}
m_FillRect: {fileID: 1684719062263664779}
m_HandleRect: {fileID: 0}
m_Direction: 0
m_MinValue: 0
m_MaxValue: 1
m_WholeNumbers: 0
m_Value: 0.501
m_OnValueChanged:
m_PersistentCalls:
m_Calls: []

View file

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: e6524d59d9bc67545b0eb1304bfb9d4b
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View file

@ -101,10 +101,15 @@ MonoBehaviour:
type: 3}
RangedFloatField: {fileID: 1663396771457720812, guid: c214f62d8f2188140b96ed12798034c8,
type: 3}
ProgressField: {fileID: 256436433275418348, guid: e6524d59d9bc67545b0eb1304bfb9d4b,
type: 3}
EnumField: {fileID: 8066691333806154, guid: f19a14cd178d48f49ace9ad217bea2ed, type: 3}
BoolField: {fileID: 7661950293931311388, guid: 001ad6a15f0d582458d359c0ae4405ed,
type: 3}
ChildRadioSelection: 0
PropertyButton: {fileID: 1613450655389604799, guid: 99bde06e2f0ca504bb95f2a4e3429462,
type: 3}
ButtonField: {fileID: 6566784227922820057, guid: 6db1feb4cda7b8c419384cd42c85a5c4,
type: 3}
--- !u!1 &2378632238144827086
GameObject:
m_ObjectHideFlags: 0

View file

@ -0,0 +1,406 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &1613450655044732624
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1613450655044732627}
- component: {fileID: 1613450655044732637}
- component: {fileID: 1613450655044732626}
m_Layer: 5
m_Name: Name
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1613450655044732627
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1613450655044732624}
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: 1613450655389604793}
m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 2, y: 0}
m_SizeDelta: {x: -4, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &1613450655044732637
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1613450655044732624}
m_CullTransparentMesh: 0
--- !u!114 &1613450655044732626
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1613450655044732624}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, 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_text: This is a button
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 9dcd07b95faae7641a3ff6fccab43c32, type: 2}
m_sharedMaterial: {fileID: 21906973755630180, guid: 9dcd07b95faae7641a3ff6fccab43c32,
type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4294967295
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
topLeft: {r: 1, g: 1, b: 1, a: 1}
topRight: {r: 1, g: 1, b: 1, a: 1}
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
bottomRight: {r: 1, g: 1, b: 1, a: 1}
m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_overrideHtmlColors: 0
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_outlineColor:
serializedVersion: 2
rgba: 4278190080
m_fontSize: 20
m_fontSizeBase: 20
m_fontWeight: 400
m_enableAutoSizing: 0
m_fontSizeMin: 18
m_fontSizeMax: 72
m_fontStyle: 1
m_textAlignment: 514
m_characterSpacing: 0
m_wordSpacing: 0
m_lineSpacing: 0
m_lineSpacingMax: 0
m_paragraphSpacing: 0
m_charWidthMaxAdj: 0
m_enableWordWrapping: 1
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_firstOverflowCharacterIndex: -1
m_linkedTextComponent: {fileID: 0}
m_isLinkedTextComponent: 0
m_isTextTruncated: 0
m_enableKerning: 1
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
m_parseCtrlCharacters: 1
m_isOrthographic: 1
m_isCullingEnabled: 0
m_ignoreRectMaskCulling: 0
m_ignoreCulling: 1
m_horizontalMapping: 0
m_verticalMapping: 0
m_uvLineOffset: 0
m_geometrySortingOrder: 0
m_VertexBufferAutoSizeReduction: 1
m_firstVisibleCharacter: 0
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: 0, y: 0, z: 0, w: 0}
m_textInfo:
textComponent: {fileID: 1613450655044732626}
characterCount: 16
spriteCount: 0
spaceCount: 3
wordCount: 4
linkCount: 0
lineCount: 1
pageCount: 1
materialCount: 1
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_spriteAnimator: {fileID: 0}
m_hasFontAssetChanged: 0
m_subTextObjects:
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!1 &1613450655389604798
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1613450655389604793}
- component: {fileID: 1613450655389604795}
- component: {fileID: 6716894550144612048}
- component: {fileID: 9031877687215098194}
- component: {fileID: 1613450655389604799}
m_Layer: 5
m_Name: Property Button
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1613450655389604793
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1613450655389604798}
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: 7085828711539161696}
- {fileID: 5151860849690372526}
- {fileID: 1613450655044732627}
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 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: 0.5, y: 0.5}
--- !u!114 &1613450655389604795
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1613450655389604798}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 1679637790, guid: f70555f144d8491a825f0804e09c671c, type: 3}
m_Name:
m_EditorClassIdentifier:
m_IgnoreLayout: 0
m_MinWidth: -1
m_MinHeight: -1
m_PreferredWidth: -1
m_PreferredHeight: 32
m_FlexibleWidth: 1
m_FlexibleHeight: -1
m_LayoutPriority: 1
--- !u!222 &6716894550144612048
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1613450655389604798}
m_CullTransparentMesh: 0
--- !u!114 &9031877687215098194
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1613450655389604798}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fafbcd26aa8d175448880b37b7a41b2e, type: 3}
m_Name:
m_EditorClassIdentifier:
StateDamping: 10
Fill: {fileID: 6683620520386570331}
CurrentState: 0
DisableClickWhenSelected: 1
UnselectedColor: {r: 0, g: 0.4180913, b: 1, a: 0.15294118}
SelectedColor: {r: 1, g: 0.44583336, b: 0.050000012, a: 0.65882355}
HoverColor: {r: 0, g: 0.4180913, b: 1, a: 0.5019608}
ClickColor: {r: 1, g: 0.44583336, b: 0.050000012, a: 1}
--- !u!114 &1613450655389604799
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1613450655389604798}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 8c0b005aebd0cd947a04034f1a42e838, type: 3}
m_Name:
m_EditorClassIdentifier:
Label: {fileID: 1613450655044732626}
Button: {fileID: 9031877687215098194}
--- !u!1 &5151860849690372521
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 5151860849690372526}
- component: {fileID: 5151860849690372524}
- component: {fileID: 5151860849690372527}
m_Layer: 5
m_Name: Outline
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &5151860849690372526
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5151860849690372521}
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: 1613450655389604793}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 16, y: 4}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &5151860849690372524
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5151860849690372521}
m_CullTransparentMesh: 0
--- !u!114 &5151860849690372527
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5151860849690372521}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0.8, g: 0.9333333, b: 1, a: 1}
m_RaycastTarget: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: b412943088786454c9bf10b1f7e1e94b, type: 3}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
--- !u!1 &5811322450855121915
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 7085828711539161696}
- component: {fileID: 6538515023904061064}
- component: {fileID: 6683620520386570331}
m_Layer: 5
m_Name: Background
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &7085828711539161696
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5811322450855121915}
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: 1613450655389604793}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 16, y: 4}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &6538515023904061064
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5811322450855121915}
m_CullTransparentMesh: 0
--- !u!114 &6683620520386570331
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5811322450855121915}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0, g: 0.4180913, b: 1, a: 0.15294118}
m_RaycastTarget: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: 84d126f984de5fd42ac66361c00f830c, type: 3}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0

View file

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 99bde06e2f0ca504bb95f2a4e3429462
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View file

@ -280,7 +280,15 @@ MonoBehaviour:
ListPrefab: {fileID: 6914334813923144328}
PropertyPrefab: {fileID: 279061376544739623, guid: 5b8c5126640066e4fabe6e65b7225b3b,
type: 3}
ChildRadioSelection: 0
AttributePrefab: {fileID: 0}
InputField: {fileID: 0}
RangedFloatField: {fileID: 0}
ProgressField: {fileID: 0}
EnumField: {fileID: 0}
BoolField: {fileID: 0}
PropertyButton: {fileID: 1613450655389604799, guid: 99bde06e2f0ca504bb95f2a4e3429462,
type: 3}
ButtonField: {fileID: 0}
FoldoutIcon: {fileID: 6485458701090981364}
FoldoutRotationDamping: 10
Button: {fileID: 5436107563273525140}
@ -307,6 +315,7 @@ MonoBehaviour:
SelectedColor: {r: 1, g: 0.44583336, b: 0.050000012, a: 0.65882355}
HoverColor: {r: 0, g: 0.4180913, b: 1, a: 0.29803923}
ClickColor: {r: 0, g: 0.4180913, b: 1, a: 0.7490196}
DisabledColor: {r: 0, g: 0, b: 0, a: 0}
--- !u!1 &2755672975795187168
GameObject:
m_ObjectHideFlags: 0

View file

@ -161,7 +161,7 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: New Text
m_text: Corporation
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 9dcd07b95faae7641a3ff6fccab43c32, type: 2}
m_sharedMaterial: {fileID: 21906973755630180, guid: 9dcd07b95faae7641a3ff6fccab43c32,
@ -191,12 +191,12 @@ MonoBehaviour:
serializedVersion: 2
rgba: 4278190080
m_fontSize: 32
m_fontSizeBase: 24
m_fontSizeBase: 32
m_fontWeight: 400
m_enableAutoSizing: 0
m_fontSizeMin: 18
m_fontSizeMax: 72
m_fontStyle: 0
m_fontStyle: 1
m_textAlignment: 514
m_characterSpacing: 0
m_wordSpacing: 0
@ -207,7 +207,7 @@ MonoBehaviour:
m_enableWordWrapping: 1
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_firstOverflowCharacterIndex: 0
m_firstOverflowCharacterIndex: -1
m_linkedTextComponent: {fileID: 0}
m_isLinkedTextComponent: 0
m_isTextTruncated: 0
@ -231,10 +231,10 @@ MonoBehaviour:
m_margin: {x: 0, y: 0, z: 0, w: 0}
m_textInfo:
textComponent: {fileID: 4750078953547169287}
characterCount: 8
characterCount: 11
spriteCount: 0
spaceCount: 1
wordCount: 2
spaceCount: 0
wordCount: 1
linkCount: 0
lineCount: 1
pageCount: 1
@ -365,7 +365,6 @@ MonoBehaviour:
StateDamping: 10
Fill: {fileID: 6620917632164000384}
Outline: {fileID: 5084245071935710148}
Label: {fileID: 4750078953547169287}
LabelLayout: {fileID: 323497596060304149}
CurrentState: 0
DisableClickWhenSelected: 1

View file

@ -388,7 +388,7 @@ PrefabInstance:
- target: {fileID: 6493174789768221420, guid: b93e36d73a071274d8e9225e077ce92a,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 83.65
value: 86.84
objectReference: {fileID: 0}
- target: {fileID: 6493174789768221420, guid: b93e36d73a071274d8e9225e077ce92a,
type: 3}
@ -1262,12 +1262,12 @@ PrefabInstance:
- target: {fileID: 2378632238049155248, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
propertyPath: m_SizeDelta.y
value: 0
value: -707.7081
objectReference: {fileID: 0}
- target: {fileID: 2378632238049155248, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
propertyPath: m_AnchoredPosition.y
value: 0.000030517578
value: -0.00012207031
objectReference: {fileID: 0}
- target: {fileID: 2378632238049155251, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
@ -1277,32 +1277,32 @@ PrefabInstance:
- target: {fileID: 2378632238144827081, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
propertyPath: m_AnchorMax.x
value: 0
value: 1
objectReference: {fileID: 0}
- target: {fileID: 2378632238144827081, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
propertyPath: m_AnchorMax.y
value: 0
value: 1
objectReference: {fileID: 0}
- target: {fileID: 2378632238144827081, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
propertyPath: m_AnchorMin.y
value: 0
value: 0.000000059604645
objectReference: {fileID: 0}
- target: {fileID: 2378632238683789172, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
propertyPath: m_AnchorMax.x
value: 0
value: 1
objectReference: {fileID: 0}
- target: {fileID: 2378632238683789172, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
propertyPath: m_AnchorMax.y
value: 0
value: 1
objectReference: {fileID: 0}
- target: {fileID: 2378632238683789172, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
propertyPath: m_SizeDelta.x
value: 0
value: -17
objectReference: {fileID: 0}
- target: {fileID: 2378632240158519320, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
@ -1373,12 +1373,12 @@ PrefabInstance:
- target: {fileID: 2378632240158519326, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
value: 1274
objectReference: {fileID: 0}
- target: {fileID: 2378632240158519326, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
value: -458.20905
objectReference: {fileID: 0}
- target: {fileID: 2378632240158519326, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
@ -1388,7 +1388,7 @@ PrefabInstance:
- target: {fileID: 2378632240158519326, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
propertyPath: m_SizeDelta.y
value: 0
value: 852.4181
objectReference: {fileID: 0}
- target: {fileID: 2378632240158519326, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
@ -1398,7 +1398,7 @@ PrefabInstance:
- target: {fileID: 2378632240158519326, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
propertyPath: m_AnchorMin.y
value: 0
value: 1
objectReference: {fileID: 0}
- target: {fileID: 2378632240158519326, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
@ -1408,7 +1408,7 @@ PrefabInstance:
- target: {fileID: 2378632240158519326, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
propertyPath: m_AnchorMax.y
value: 0
value: 1
objectReference: {fileID: 0}
- target: {fileID: 2378632240158519326, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
@ -1433,32 +1433,32 @@ PrefabInstance:
- target: {fileID: 5116519198747529736, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
propertyPath: m_AnchorMin.y
value: 0
value: 1
objectReference: {fileID: 0}
- target: {fileID: 5116519198747529736, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
propertyPath: m_AnchorMax.y
value: 0
value: 1
objectReference: {fileID: 0}
- target: {fileID: 5116519198747529736, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
value: 241.5
objectReference: {fileID: 0}
- target: {fileID: 5116519198747529736, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
value: -72.354996
objectReference: {fileID: 0}
- target: {fileID: 5116519198747529736, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
propertyPath: m_SizeDelta.x
value: 0
value: 419
objectReference: {fileID: 0}
- target: {fileID: 5116519198747529736, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
propertyPath: m_SizeDelta.y
value: 0
value: 80.71
objectReference: {fileID: 0}
- target: {fileID: 5116519198747529738, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
@ -3702,12 +3702,12 @@ PrefabInstance:
- target: {fileID: 2378632238049155248, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
propertyPath: m_SizeDelta.y
value: 0
value: -707.7081
objectReference: {fileID: 0}
- target: {fileID: 2378632238049155248, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
propertyPath: m_AnchoredPosition.y
value: 0.000030517578
value: -0.00012207031
objectReference: {fileID: 0}
- target: {fileID: 2378632238049155251, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
@ -3717,32 +3717,32 @@ PrefabInstance:
- target: {fileID: 2378632238144827081, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
propertyPath: m_AnchorMax.x
value: 0
value: 1
objectReference: {fileID: 0}
- target: {fileID: 2378632238144827081, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
propertyPath: m_AnchorMax.y
value: 0
value: 1
objectReference: {fileID: 0}
- target: {fileID: 2378632238144827081, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
propertyPath: m_AnchorMin.y
value: 0
value: 0.000000059604645
objectReference: {fileID: 0}
- target: {fileID: 2378632238683789172, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
propertyPath: m_AnchorMax.x
value: 0
value: 1
objectReference: {fileID: 0}
- target: {fileID: 2378632238683789172, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
propertyPath: m_AnchorMax.y
value: 0
value: 1
objectReference: {fileID: 0}
- target: {fileID: 2378632238683789172, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
propertyPath: m_SizeDelta.x
value: 0
value: -17
objectReference: {fileID: 0}
- target: {fileID: 2378632240158519320, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
@ -3813,12 +3813,12 @@ PrefabInstance:
- target: {fileID: 2378632240158519326, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
value: 146
objectReference: {fileID: 0}
- target: {fileID: 2378632240158519326, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
value: -458.20905
objectReference: {fileID: 0}
- target: {fileID: 2378632240158519326, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
@ -3828,7 +3828,7 @@ PrefabInstance:
- target: {fileID: 2378632240158519326, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
propertyPath: m_SizeDelta.y
value: 0
value: 852.4181
objectReference: {fileID: 0}
- target: {fileID: 2378632240158519326, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
@ -3838,7 +3838,7 @@ PrefabInstance:
- target: {fileID: 2378632240158519326, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
propertyPath: m_AnchorMin.y
value: 0
value: 1
objectReference: {fileID: 0}
- target: {fileID: 2378632240158519326, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
@ -3848,7 +3848,7 @@ PrefabInstance:
- target: {fileID: 2378632240158519326, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
propertyPath: m_AnchorMax.y
value: 0
value: 1
objectReference: {fileID: 0}
- target: {fileID: 2378632240158519326, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
@ -3878,32 +3878,32 @@ PrefabInstance:
- target: {fileID: 5116519198747529736, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
propertyPath: m_AnchorMin.y
value: 0
value: 1
objectReference: {fileID: 0}
- target: {fileID: 5116519198747529736, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
propertyPath: m_AnchorMax.y
value: 0
value: 1
objectReference: {fileID: 0}
- target: {fileID: 5116519198747529736, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
value: 241.5
objectReference: {fileID: 0}
- target: {fileID: 5116519198747529736, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
value: -72.354996
objectReference: {fileID: 0}
- target: {fileID: 5116519198747529736, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
propertyPath: m_SizeDelta.x
value: 0
value: 419
objectReference: {fileID: 0}
- target: {fileID: 5116519198747529736, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
propertyPath: m_SizeDelta.y
value: 0
value: 80.71
objectReference: {fileID: 0}
- target: {fileID: 5116519198747529738, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
@ -6000,7 +6000,7 @@ PrefabInstance:
- target: {fileID: 6493174789768221420, guid: b93e36d73a071274d8e9225e077ce92a,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 78.765
value: 81.615005
objectReference: {fileID: 0}
- target: {fileID: 6493174789768221420, guid: b93e36d73a071274d8e9225e077ce92a,
type: 3}
@ -6934,7 +6934,7 @@ PrefabInstance:
- target: {fileID: 6493174789768221420, guid: b93e36d73a071274d8e9225e077ce92a,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 80.130005
value: 82.94
objectReference: {fileID: 0}
- target: {fileID: 6493174789768221420, guid: b93e36d73a071274d8e9225e077ce92a,
type: 3}
@ -9099,12 +9099,12 @@ PrefabInstance:
- target: {fileID: 2378632238049155248, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
propertyPath: m_SizeDelta.y
value: 0
value: -707.7081
objectReference: {fileID: 0}
- target: {fileID: 2378632238049155248, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
propertyPath: m_AnchoredPosition.y
value: 0.000030517578
value: -0.00012207031
objectReference: {fileID: 0}
- target: {fileID: 2378632238049155251, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
@ -9114,32 +9114,32 @@ PrefabInstance:
- target: {fileID: 2378632238144827081, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
propertyPath: m_AnchorMax.x
value: 0
value: 1
objectReference: {fileID: 0}
- target: {fileID: 2378632238144827081, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
propertyPath: m_AnchorMax.y
value: 0
value: 1
objectReference: {fileID: 0}
- target: {fileID: 2378632238144827081, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
propertyPath: m_AnchorMin.y
value: 0
value: 0.000000059604645
objectReference: {fileID: 0}
- target: {fileID: 2378632238683789172, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
propertyPath: m_AnchorMax.x
value: 0
value: 1
objectReference: {fileID: 0}
- target: {fileID: 2378632238683789172, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
propertyPath: m_AnchorMax.y
value: 0
value: 1
objectReference: {fileID: 0}
- target: {fileID: 2378632238683789172, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
propertyPath: m_SizeDelta.x
value: 0
value: -17
objectReference: {fileID: 0}
- target: {fileID: 2378632240158519320, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
@ -9210,12 +9210,12 @@ PrefabInstance:
- target: {fileID: 2378632240158519326, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
value: 710
objectReference: {fileID: 0}
- target: {fileID: 2378632240158519326, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
value: -458.20905
objectReference: {fileID: 0}
- target: {fileID: 2378632240158519326, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
@ -9225,7 +9225,7 @@ PrefabInstance:
- target: {fileID: 2378632240158519326, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
propertyPath: m_SizeDelta.y
value: 0
value: 852.4181
objectReference: {fileID: 0}
- target: {fileID: 2378632240158519326, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
@ -9235,7 +9235,7 @@ PrefabInstance:
- target: {fileID: 2378632240158519326, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
propertyPath: m_AnchorMin.y
value: 0
value: 1
objectReference: {fileID: 0}
- target: {fileID: 2378632240158519326, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
@ -9245,7 +9245,7 @@ PrefabInstance:
- target: {fileID: 2378632240158519326, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
propertyPath: m_AnchorMax.y
value: 0
value: 1
objectReference: {fileID: 0}
- target: {fileID: 2378632240158519326, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
@ -9275,32 +9275,32 @@ PrefabInstance:
- target: {fileID: 5116519198747529736, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
propertyPath: m_AnchorMin.y
value: 0
value: 1
objectReference: {fileID: 0}
- target: {fileID: 5116519198747529736, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
propertyPath: m_AnchorMax.y
value: 0
value: 1
objectReference: {fileID: 0}
- target: {fileID: 5116519198747529736, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
value: 241.5
objectReference: {fileID: 0}
- target: {fileID: 5116519198747529736, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
value: -72.354996
objectReference: {fileID: 0}
- target: {fileID: 5116519198747529736, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
propertyPath: m_SizeDelta.x
value: 0
value: 419
objectReference: {fileID: 0}
- target: {fileID: 5116519198747529736, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
propertyPath: m_SizeDelta.y
value: 0
value: 80.71
objectReference: {fileID: 0}
- target: {fileID: 5116519198747529738, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
@ -13208,7 +13208,7 @@ PrefabInstance:
- target: {fileID: 6493174789768221420, guid: b93e36d73a071274d8e9225e077ce92a,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 115.185
value: 120.51
objectReference: {fileID: 0}
- target: {fileID: 6493174789768221420, guid: b93e36d73a071274d8e9225e077ce92a,
type: 3}
@ -15872,7 +15872,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
m_IsActive: 0
--- !u!224 &1565778113
RectTransform:
m_ObjectHideFlags: 0
@ -15909,9 +15909,11 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 69422316520cbd649ad89629be288c06, type: 3}
m_Name:
m_EditorClassIdentifier:
Title: {fileID: 778641168}
General: {fileID: 303664031}
Inventory: {fileID: 1738416598}
Details: {fileID: 1548865998}
ContextMenu: {fileID: 831625851}
--- !u!114 &1565778115
MonoBehaviour:
m_ObjectHideFlags: 0
@ -20181,7 +20183,7 @@ PrefabInstance:
- target: {fileID: 6493174789768221420, guid: b93e36d73a071274d8e9225e077ce92a,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 81.759995
value: 84.72
objectReference: {fileID: 0}
- target: {fileID: 6493174789768221420, guid: b93e36d73a071274d8e9225e077ce92a,
type: 3}
@ -22099,12 +22101,12 @@ PrefabInstance:
- target: {fileID: 2378632238049155248, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
propertyPath: m_SizeDelta.y
value: -784.9881
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2378632238049155248, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
propertyPath: m_AnchoredPosition.y
value: -0.000061035156
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2378632238049155251, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
@ -22114,12 +22116,12 @@ PrefabInstance:
- target: {fileID: 2378632238144827081, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
propertyPath: m_AnchorMax.x
value: 1
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2378632238144827081, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
propertyPath: m_AnchorMax.y
value: 0.9999999
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2378632238144827081, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
@ -22129,17 +22131,17 @@ PrefabInstance:
- target: {fileID: 2378632238683789172, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
propertyPath: m_AnchorMax.x
value: 1
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2378632238683789172, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
propertyPath: m_AnchorMax.y
value: 1
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2378632238683789172, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
propertyPath: m_SizeDelta.x
value: -17
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2378632240158519326, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
@ -22254,37 +22256,37 @@ PrefabInstance:
- target: {fileID: 2378632240158519327, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
propertyPath: m_IsActive
value: 0
value: 1
objectReference: {fileID: 0}
- target: {fileID: 5116519198747529736, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
propertyPath: m_AnchorMin.y
value: 1
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5116519198747529736, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
propertyPath: m_AnchorMax.y
value: 1
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5116519198747529736, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 241.5
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5116519198747529736, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
propertyPath: m_AnchoredPosition.y
value: -113.715
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5116519198747529736, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
propertyPath: m_SizeDelta.x
value: 419
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5116519198747529736, guid: 4fca44e21a27a6d48916d2cc4b6e2df0,
type: 3}
propertyPath: m_SizeDelta.y
value: 163.43
value: 0
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 4fca44e21a27a6d48916d2cc4b6e2df0, type: 3}
@ -22354,51 +22356,11 @@ PrefabInstance:
propertyPath: m_Name
value: Corporation
objectReference: {fileID: 0}
- target: {fileID: 4750078953547169287, guid: b93e36d73a071274d8e9225e077ce92a,
type: 3}
propertyPath: m_text
value: Corporation
objectReference: {fileID: 0}
- target: {fileID: 4750078953547169287, guid: b93e36d73a071274d8e9225e077ce92a,
type: 3}
propertyPath: m_firstOverflowCharacterIndex
value: -1
objectReference: {fileID: 0}
- target: {fileID: 4750078953547169287, guid: b93e36d73a071274d8e9225e077ce92a,
type: 3}
propertyPath: m_textInfo.characterCount
value: 11
objectReference: {fileID: 0}
- target: {fileID: 4750078953547169287, guid: b93e36d73a071274d8e9225e077ce92a,
type: 3}
propertyPath: m_textInfo.spaceCount
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4750078953547169287, guid: b93e36d73a071274d8e9225e077ce92a,
type: 3}
propertyPath: m_textInfo.wordCount
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4750078953547169287, guid: b93e36d73a071274d8e9225e077ce92a,
type: 3}
propertyPath: m_fontSizeBase
value: 32
objectReference: {fileID: 0}
- target: {fileID: 4750078953547169287, guid: b93e36d73a071274d8e9225e077ce92a,
type: 3}
propertyPath: m_subTextObjects.Array.data[1]
value:
objectReference: {fileID: 650897775}
- target: {fileID: 4750078953547169287, guid: b93e36d73a071274d8e9225e077ce92a,
type: 3}
propertyPath: m_textInfo.lineCount
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4750078953547169287, guid: b93e36d73a071274d8e9225e077ce92a,
type: 3}
propertyPath: m_textInfo.pageCount
value: 1
objectReference: {fileID: 0}
- target: {fileID: 5318229203699776728, guid: b93e36d73a071274d8e9225e077ce92a,
type: 3}
propertyPath: m_LocalPosition.x
@ -22512,7 +22474,7 @@ PrefabInstance:
- target: {fileID: 6493174789768221420, guid: b93e36d73a071274d8e9225e077ce92a,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 119.765
value: 125.285
objectReference: {fileID: 0}
- target: {fileID: 6493174789768221420, guid: b93e36d73a071274d8e9225e077ce92a,
type: 3}

View file

@ -24,21 +24,43 @@ public class FactoryData : BehaviorData
public class Factory : IBehavior, IPersistentBehavior
{
public float ProductionQuality;
public double RetoolingTime;
public string ItemName;
public List<Guid> ItemsUnderConstruction = new List<Guid>();
public Entity Entity { get; }
public Gear Item { get; }
public GameContext Context { get; }
public BehaviorData Data => _data;
public float ToolingTime { get; private set; }
public Guid Blueprint
{
get => _blueprint;
set
{
if (value != _blueprint)
{
_blueprint = value;
RetoolingTime = ToolingTime;
_retooling = true;
OnToolingUpdate?.Invoke();
OnToolingUpdate = null;
ItemName = Context.Cache.Get<BlueprintData>(value).Name;
}
}
}
public event Action OnToolingUpdate;
private FactoryData _data;
private Guid _blueprint;
private float _remainingManHours;
private bool _retooling;
private bool _producing;
private List<ItemInstance> _reservedStock = new List<ItemInstance>();
private int _assignedPopulation;
private float _productionQuality;
private bool _retooling = false;
public Factory(GameContext context, FactoryData data, Entity entity, Gear item)
{
@ -50,148 +72,56 @@ public class Factory : IBehavior, IPersistentBehavior
public bool Update(float delta)
{
ToolingTime = Context.Evaluate(_data.ToolingTime, Item, Entity);
var blueprint = Context.Cache.Get<BlueprintData>(_blueprint);
if (_retooling || _producing)
if (blueprint == null)
return false;
if (RetoolingTime > 0)
{
_remainingManHours -= delta / 3600 * (_assignedPopulation + _data.AutomationPoints) /
pow(lerp(blueprint.QualityFloor, 1, saturate(_productionQuality)),
blueprint.ProductionExponent);
RetoolingTime -= delta;
return false;
}
if (_remainingManHours < 0)
if (_retooling)
{
if (_retooling)
_retooling = false;
else if (_producing)
_retooling = false;
OnToolingUpdate?.Invoke();
OnToolingUpdate = null;
}
if (ItemsUnderConstruction.Any())
{
var finishedConstruction = false;
foreach (var item in ItemsUnderConstruction.ToArray())
{
var blueprintItemData = Context.Cache.Get(blueprint.Item);
if (blueprintItemData is CraftedItemData)
Entity.IncompleteCargo[item] =
Entity.IncompleteCargo[item] - delta * (_assignedPopulation + _data.AutomationPoints) /
pow(lerp(blueprint.QualityFloor, 1, saturate(ProductionQuality)),
blueprint.ProductionExponent);
if(Entity.IncompleteCargo[item] < 0)
{
for (int i = 0; i < blueprint.Quantity; i++)
{
CraftedItemInstance newItem;
// Applying exponents to two random numbers and adding them produces a range of interesting probability distributions
var quality = blueprint.Quality *
pow(_productionQuality, blueprint.QualityExponent) *
(pow(Context.Random.NextFloat(), blueprint.RandomExponent) +
pow(Context.Random.NextFloat(), blueprint.RandomExponent)) / 2;
if (blueprintItemData is EquippableItemData equippableItemData)
{
var newGear = new Gear
{
Context = Context,
Data = blueprintItemData.ID,
Ingredients = _reservedStock.Select(ii=>ii.ID).ToList(),
Quality = quality,
Blueprint = _blueprint
};
newGear.Durability = Context.Evaluate(equippableItemData.Durability, newGear);
newItem = newGear;
}
else
{
newItem = new CompoundCommodity
{
Context = Context,
Data = blueprintItemData.ID,
Ingredients = _reservedStock.Select(ii=>ii.ID).ToList(),
Quality = quality,
Blueprint = _blueprint
};
}
Context.Cache.Add(newItem);
Entity.Cargo.Add(newItem.ID);
}
}
else
{
var simpleCommodityData = blueprintItemData as SimpleCommodityData;
var simpleCommodityInstance = Entity.Cargo.FirstOrDefault(i => Context.Cache.Get<ItemInstance>(i).Data == simpleCommodityData.ID);
if (simpleCommodityInstance == Guid.Empty)
{
var newSimpleCommodity = new SimpleCommodity
{
Context = Context,
Data = simpleCommodityData.ID,
Quantity = blueprint.Quantity
};
Context.Cache.Add(newSimpleCommodity);
Entity.Cargo.Add(newSimpleCommodity.ID);
}
else
{
Context.Cache.Get<SimpleCommodity>(simpleCommodityInstance).Quantity += blueprint.Quantity;
}
}
Entity.RecalculateMass();
var simpleIngredients = new List<SimpleCommodity>();
var compoundIngredients = new List<CompoundCommodity>();
var hasAllIngredients = true;
var cargoInstances = Entity.Cargo.Select(c => Context.Cache.Get<ItemInstance>(c));
foreach (var kvp in blueprint.Ingredients)
{
var itemData = Context.Cache.Get(kvp.Key);
if (itemData is SimpleCommodityData)
{
var matchingItem = cargoInstances.FirstOrDefault(ii =>
{
if (!(ii is SimpleCommodity simpleCommodity)) return false;
return simpleCommodity.Data == itemData.ID && simpleCommodity.Quantity >= kvp.Value;
}) as SimpleCommodity;
hasAllIngredients = hasAllIngredients && matchingItem != null;
if(matchingItem != null)
simpleIngredients.Add(matchingItem);
}
else
{
var matchingItems =
cargoInstances.Where(ii => (ii as CompoundCommodity)?.Data == itemData.ID).Cast<CompoundCommodity>().ToArray();
hasAllIngredients = hasAllIngredients && matchingItems.Length >= kvp.Value;
if(matchingItems.Length >= kvp.Value)
compoundIngredients.AddRange(matchingItems.Take(kvp.Value));
}
}
if (hasAllIngredients)
{
_reservedStock.AddRange(compoundIngredients);
foreach (var compoundCommodity in compoundIngredients)
{
Entity.Cargo.Remove(compoundCommodity.ID);
}
foreach (var simpleCommodity in simpleIngredients)
{
var blueprintQuantity = blueprint.Ingredients
.First(ingredient => ingredient.Key == simpleCommodity.ID).Value;
if (simpleCommodity.Quantity == blueprintQuantity)
{
_reservedStock.Add(simpleCommodity);
Entity.Cargo.Remove(simpleCommodity.ID);
}
else
{
var newSimpleCommodity = new SimpleCommodity
{
Context = Context,
Data = simpleCommodity.Data,
Quantity = blueprintQuantity
};
simpleCommodity.Quantity -= blueprintQuantity;
_reservedStock.Add(newSimpleCommodity);
}
}
Entity.RecalculateMass();
_remainingManHours = blueprint.ProductionTime;
_producing = true;
Entity.Cargo.Add(item);
Entity.IncompleteCargo.Remove(item);
ItemsUnderConstruction.Remove(item);
finishedConstruction = true;
}
}
if(finishedConstruction)
Entity.RecalculateMass();
return true;
}
return true;
// Applying exponents to two random numbers and adding them produces a range of interesting probability distributions for quality
ItemsUnderConstruction = Entity.Build(blueprint, blueprint.Quality *
pow(ProductionQuality, blueprint.QualityExponent) *
(pow(Context.Random.NextFloat(), blueprint.RandomExponent) +
pow(Context.Random.NextFloat(), blueprint.RandomExponent)) / 2, ItemName);
if(ItemsUnderConstruction.Any())
Entity.RecalculateMass(); // TODO: FIX THIS UGLY HACK, needed to update UI
return false;
}
public PersistentBehaviorData Store()
@ -199,12 +129,9 @@ public class Factory : IBehavior, IPersistentBehavior
return new FactoryPersistence
{
Blueprint = _blueprint,
RemainingManHours = _remainingManHours,
Retooling = _retooling,
Producing = _producing,
ReservedStock = _reservedStock.Select(i=>i.ID).ToArray(),
RetoolingTime = RetoolingTime,
AssignedPopulation = _assignedPopulation,
ProductionQuality = _productionQuality
ProductionQuality = ProductionQuality
};
}
@ -212,12 +139,9 @@ public class Factory : IBehavior, IPersistentBehavior
{
var factoryPersistence = data as FactoryPersistence;
_blueprint = factoryPersistence.Blueprint;
_remainingManHours = factoryPersistence.RemainingManHours;
_retooling = factoryPersistence.Retooling;
_producing = factoryPersistence.Producing;
_reservedStock = factoryPersistence.ReservedStock.Select(id => Context.Cache.Get<ItemInstance>(id)).ToList();
RetoolingTime = factoryPersistence.RetoolingTime;
_assignedPopulation = factoryPersistence.AssignedPopulation;
_productionQuality = factoryPersistence.ProductionQuality;
ProductionQuality = factoryPersistence.ProductionQuality;
}
}
@ -225,10 +149,7 @@ public class Factory : IBehavior, IPersistentBehavior
public class FactoryPersistence : PersistentBehaviorData
{
[JsonProperty("blueprint"), Key(0)] public Guid Blueprint;
[JsonProperty("remainingManHours"), Key(1)] public float RemainingManHours;
[JsonProperty("retooling"), Key(2)] public bool Retooling;
[JsonProperty("producing"), Key(3)] public bool Producing;
[JsonProperty("reservedStock"), Key(4)] public Guid[] ReservedStock;
[JsonProperty("retoolingTime"), Key(2)] public double RetoolingTime;
[JsonProperty("assignedPopulation"), Key(5)] public int AssignedPopulation;
[JsonProperty("productionQuality"), Key(6)] public float ProductionQuality;
}

View file

@ -0,0 +1,66 @@
using System;
using System.Collections;
using System.Collections.Generic;
using MessagePack;
using Newtonsoft.Json;
using UnityEngine;
[RethinkTable("Galaxy"), MessagePackObject, JsonObject(MemberSerialization.OptIn)]
public class Corporation : DatabaseEntry, INamedEntry
{
[JsonProperty("name"), Key(1)]
public string Name;
[JsonProperty("parent"), Key(2)]
public Guid Parent;
[JsonProperty("tasks"), Key(3)]
public List<Guid> Tasks = new List<Guid>();
[JsonProperty("planetSurveyFloor"), Key(4)]
public Dictionary<Guid, float> PlanetSurveyFloor = new Dictionary<Guid, float>();
[JsonProperty("unlockedBlueprints"), Key(5)]
public List<Guid> UnlockedBlueprints = new List<Guid>();
[IgnoreMember] public string EntryName
{
get => Name;
set => Name = value;
}
}
[RethinkTable("Galaxy"), Inspectable, MessagePackObject, JsonObject(MemberSerialization.OptIn)]
public class MegaCorporation : DatabaseEntry, INamedEntry
{
[InspectableField, JsonProperty("name"), Key(1)]
public string Name;
[InspectableText, JsonProperty("description"), Key(2)]
public string Description;
[InspectableTexture, JsonProperty("logo"), Key(3)]
public string Logo;
[InspectableDatabaseLink(typeof(PersonalityAttribute)), JsonProperty("personality"), Key(4)]
public Dictionary<Guid, float> Personality = new Dictionary<Guid, float>();
[InspectableDatabaseLink(typeof(LoadoutData)), JsonProperty("initialFleet"), Key(5)]
public Dictionary<Guid, int> InitialFleet = new Dictionary<Guid, int>();
[InspectableDatabaseLink(typeof(BlueprintData)), JsonProperty("initialTechs"), Key(6)]
public List<Guid> InitialTechnologies = new List<Guid>();
[JsonProperty("parent"), Key(7)]
public Guid HomeZone;
[InspectableField, JsonProperty("placement"), Key(8)]
public MegaPlacementType PlacementType;
[IgnoreMember] public string EntryName
{
get => Name;
set => Name = value;
}
}

View file

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: ce66dd66434e39f44bd4d4b9639aaeca
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View file

@ -74,62 +74,6 @@ public class Player : DatabaseEntry, INamedEntry
}
}
[RethinkTable("Galaxy"), MessagePackObject, JsonObject(MemberSerialization.OptIn)]
public class Corporation : DatabaseEntry, INamedEntry
{
[JsonProperty("name"), Key(1)]
public string Name;
[JsonProperty("parent"), Key(2)]
public Guid Parent;
[JsonProperty("tasks"), Key(3)]
public List<Guid> Tasks = new List<Guid>();
[JsonProperty("planetSurveyFloor"), Key(4)]
public Dictionary<Guid, float> PlanetSurveyFloor = new Dictionary<Guid, float>();
[IgnoreMember] public string EntryName
{
get => Name;
set => Name = value;
}
}
[RethinkTable("Galaxy"), Inspectable, MessagePackObject, JsonObject(MemberSerialization.OptIn)]
public class MegaCorporation : DatabaseEntry, INamedEntry
{
[InspectableField, JsonProperty("name"), Key(1)]
public string Name;
[InspectableText, JsonProperty("description"), Key(2)]
public string Description;
[InspectableTexture, JsonProperty("logo"), Key(3)]
public string Logo;
[InspectableDatabaseLink(typeof(PersonalityAttribute)), JsonProperty("personality"), Key(4)]
public Dictionary<Guid, float> Personality = new Dictionary<Guid, float>();
[InspectableDatabaseLink(typeof(LoadoutData)), JsonProperty("initialFleet"), Key(5)]
public Dictionary<Guid, int> InitialFleet = new Dictionary<Guid, int>();
[InspectableDatabaseLink(typeof(BlueprintData)), JsonProperty("initialTechs"), Key(6)]
public List<Guid> InitialTechnologies = new List<Guid>();
[JsonProperty("parent"), Key(7)]
public Guid HomeZone;
[InspectableField, JsonProperty("placement"), Key(8)]
public MegaPlacementType PlacementType;
[IgnoreMember] public string EntryName
{
get => Name;
set => Name = value;
}
}
[RethinkTable("Items"), Inspectable, MessagePackObject, JsonObject(MemberSerialization.OptIn)]
public class LoadoutData : DatabaseEntry, INamedEntry
{

View file

@ -60,6 +60,14 @@ public abstract class Entity : DatabaseEntry, IMessagePackSerializationCallbackR
[JsonProperty("personality"), Key(15)]
public Dictionary<Guid, float> Personality = new Dictionary<Guid, float>();
[JsonProperty("incompleteGear"), Key(16)]
public Dictionary<Guid, double> IncompleteGear = new Dictionary<Guid, double>();
//public List<IncompleteItem> IncompleteGear = new List<IncompleteItem>();
[JsonProperty("incompleteGear"), Key(17)]
public Dictionary<Guid, double> IncompleteCargo = new Dictionary<Guid, double>();
//public List<IncompleteItem> IncompleteCargo = new List<IncompleteItem>();
// [IgnoreMember] protected List<IBehavior> Behaviors;
[IgnoreMember] public Guid Zone;
[IgnoreMember] public Dictionary<int, List<IBehavior>> Behaviors;
@ -69,14 +77,16 @@ public abstract class Entity : DatabaseEntry, IMessagePackSerializationCallbackR
[IgnoreMember] public Dictionary<int, float> AxisOverrides = new Dictionary<int, float>();
[IgnoreMember] public readonly Dictionary<object, float> VisibilitySources = new Dictionary<object, float>();
[IgnoreMember] public readonly Dictionary<string, float> Messages = new Dictionary<string, float>();
private Dictionary<Gear, EquippableItemData> GearData;
private Dictionary<Gear, List<IBehavior>> ItemBehaviors;
[IgnoreMember] public Dictionary<Gear, EquippableItemData> GearData;
[IgnoreMember] public Dictionary<Gear, List<IBehavior>> ItemBehaviors;
[IgnoreMember] public float Mass { get; private set; }
[IgnoreMember] public float OccupiedCapacity { get; private set; }
[IgnoreMember] public float SpecificHeat { get; private set; }
[IgnoreMember] public float Visibility => VisibilitySources.Values.Sum();
public event Action OnInventoryUpdate;
public float Capacity
{
get
@ -111,16 +121,16 @@ public abstract class Entity : DatabaseEntry, IMessagePackSerializationCallbackR
public void AddItemBehaviors()
{
var gear = EquippedItems.Append(Hull);
var gearData = gear.ToDictionary(id => id, id => Context.Cache.Get<Gear>(id));
GearData = gearData.Values.ToDictionary(g => g, g => g.ItemData);
var gearIDs = EquippedItems.Append(Hull);
var gear = gearIDs.ToDictionary(id => id, id => Context.Cache.Get<Gear>(id));
GearData = gear.Values.ToDictionary(g => g, g => g.ItemData);
// Associate items with behavior list, used only for persistence
ItemBehaviors = gear
.Where(i=> gearData[i].ItemData.Behaviors?.Any()??false)
.ToDictionary(i=> gearData[i], i => gearData[i].ItemData.Behaviors
// Associate items with behavior list, used for persistence and convenience
ItemBehaviors = gearIDs
.Where(i=> gear[i].ItemData.Behaviors?.Any()??false)
.ToDictionary(i=> gear[i], i => gear[i].ItemData.Behaviors
.OrderBy(bd => bd.GetType().GetCustomAttribute<OrderAttribute>()?.Order ?? 0)
.Select(bd => bd.CreateInstance(Context, this, gearData[i]))
.Select(bd => bd.CreateInstance(Context, this, gear[i]))
.ToList());
var behaviorGroups = ItemBehaviors
@ -160,20 +170,207 @@ public abstract class Entity : DatabaseEntry, IMessagePackSerializationCallbackR
.Cast<IInitializableBehavior>()) behavior.Initialize();
}
public void Equip(Gear gear)
{
if (Cargo.Contains(gear.ID)) Cargo.Remove(gear.ID);
else if (IncompleteGear.Any(ig => ig.Key == gear.ID))
IncompleteGear.Remove(IncompleteGear.First(ig => ig.Key == gear.ID).Key);
else
throw new ArgumentException("Attempted to equip gear which is not present in inventory!");
EquippedItems.Add(gear.ID);
OnBeforeSerialize();
OnAfterDeserialize();
}
// public Guid Build(BlueprintData blueprint)
// {
// var gear = Context.CreateInstance(blueprint.Item, blueprint.Quality * .5f, blueprint.Quality);
// IncompleteGear[gear.ID] = blueprint.ProductionTime;
// RecalculateMass();
// return gear.ID;
// // IncompleteGear.Add(new IncompleteItem
// // {
// // Item = gear.ID,
// // Blueprint = blueprint.ID,
// // RemainingTime = blueprint.ProductionTime
// // });
// }
public List<Guid> Build(BlueprintData blueprint, float quality, string name, bool equip = false)
{
if (equip)
{
if(blueprint.FactoryItem!=Guid.Empty)
throw new ArgumentException("Attempted to directly build a blueprint which requires a factory!");
var blueprintItem = Context.Cache.Get<GearData>(blueprint.Item);
if(blueprintItem == null)
throw new ArgumentException("Attempted to directly build a blueprint for a missing or incompatible item!");
}
var newItems = new List<Guid>();
if (GetBlueprintIngredients(blueprint, out var simpleIngredients, out var compoundIngredients))
{
var ingredients = new List<ItemInstance>();
ingredients.AddRange(compoundIngredients);
foreach (var compoundCommodity in compoundIngredients)
{
Cargo.Remove(compoundCommodity.ID);
}
foreach (var simpleCommodity in simpleIngredients)
{
var blueprintQuantity = blueprint.Ingredients
.First(ingredient => ingredient.Key == simpleCommodity.ItemData.ID).Value;
if (simpleCommodity.Quantity == blueprintQuantity)
{
ingredients.Add(simpleCommodity);
Cargo.Remove(simpleCommodity.ID);
}
else
{
var newSimpleCommodity = new SimpleCommodity
{
Context = Context,
Data = simpleCommodity.Data,
Quantity = blueprintQuantity
};
simpleCommodity.Quantity -= blueprintQuantity;
ingredients.Add(newSimpleCommodity);
}
}
var blueprintItemData = Context.Cache.Get(blueprint.Item);
if (blueprintItemData is CraftedItemData)
{
for (int i = 0; i < blueprint.Quantity; i++)
{
CraftedItemInstance newItem;
if (blueprintItemData is EquippableItemData equippableItemData)
{
var newGear = new Gear
{
Context = Context,
Data = blueprintItemData.ID,
Ingredients = ingredients.Select(ii=>ii.ID).ToList(),
Quality = quality,
Blueprint = blueprint.ID,
Name = name
};
newGear.Durability = Context.Evaluate(equippableItemData.Durability, newGear);
newItem = newGear;
}
else
{
newItem = new CompoundCommodity
{
Context = Context,
Data = blueprintItemData.ID,
Ingredients = ingredients.Select(ii=>ii.ID).ToList(),
Quality = quality,
Blueprint = blueprint.ID,
Name = name
};
}
Context.Cache.Add(newItem);
if (equip)
IncompleteGear[newItem.ID] = blueprint.ProductionTime;
else
IncompleteCargo[newItem.ID] = blueprint.ProductionTime;
newItems.Add(newItem.ID);
// IncompleteCargo.Add(new IncompleteItem
// {
// Item = newItem.ID,
// Blueprint = blueprint.ID,
// RemainingTime = blueprint.ProductionTime
// });
}
}
else
{
var newSimpleCommodity = new SimpleCommodity
{
Context = Context,
Data = blueprintItemData.ID,
Quantity = blueprint.Quantity
};
Context.Cache.Add(newSimpleCommodity);
IncompleteCargo[newSimpleCommodity.ID] = blueprint.ProductionTime;
newItems.Add(newSimpleCommodity.ID);
// IncompleteCargo.Add(new IncompleteItem
// {
// Item = newSimpleCommodity.ID,
// Blueprint = blueprint.ID,
// RemainingTime = blueprint.ProductionTime
// });
}
RecalculateMass();
}
return newItems;
}
public bool GetBlueprintIngredients(BlueprintData blueprint, out List<SimpleCommodity> simpleIngredients,
out List<CompoundCommodity> compoundIngredients)
{
simpleIngredients = new List<SimpleCommodity>();
compoundIngredients = new List<CompoundCommodity>();
var hasAllIngredients = true;
var cargoInstances = Cargo.Select(c => Context.Cache.Get<ItemInstance>(c));
foreach (var kvp in blueprint.Ingredients)
{
var itemData = Context.Cache.Get(kvp.Key);
if (itemData is SimpleCommodityData)
{
var matchingItem = cargoInstances.FirstOrDefault(ii =>
{
if (!(ii is SimpleCommodity simpleCommodity)) return false;
return simpleCommodity.Data == itemData.ID && simpleCommodity.Quantity >= kvp.Value;
}) as SimpleCommodity;
hasAllIngredients = hasAllIngredients && matchingItem != null;
if(matchingItem != null)
simpleIngredients.Add(matchingItem);
}
else
{
var matchingItems =
cargoInstances.Where(ii => (ii as CompoundCommodity)?.Data == itemData.ID).Cast<CompoundCommodity>().ToArray();
hasAllIngredients = hasAllIngredients && matchingItems.Length >= kvp.Value;
if(matchingItems.Length >= kvp.Value)
compoundIngredients.AddRange(matchingItems.Take(kvp.Value));
}
}
return hasAllIngredients;
}
public void RecalculateMass()
{
Mass = Context.Cache.Get<Gear>(Hull).Mass +
EquippedItems.Select(i => Context.Cache.Get<Gear>(i)).Sum(i => i.Mass) +
IncompleteGear.Select(i => Context.Cache.Get<Gear>(i.Key)).Sum(i => i.Mass) +
Cargo.Select(i => Context.Cache.Get<ItemInstance>(i)).Sum(ii => ii.Mass) +
IncompleteCargo.Select(i => Context.Cache.Get<ItemInstance>(i.Key)).Sum(ii => ii.Mass) +
Children.Select(i => Context.Cache.Get<Entity>(i)).Sum(c=>c.Mass);
SpecificHeat = Context.Cache.Get<Gear>(Hull).HeatCapacity +
EquippedItems.Select(i => Context.Cache.Get<Gear>(i)).Sum(i => i.HeatCapacity) +
IncompleteGear.Select(i => Context.Cache.Get<Gear>(i.Key)).Sum(i => i.HeatCapacity) +
Cargo.Select(i => Context.Cache.Get<ItemInstance>(i)).Sum(ii => ii.HeatCapacity) +
IncompleteCargo.Select(i => Context.Cache.Get<ItemInstance>(i.Key)).Sum(ii => ii.HeatCapacity) +
Children.Select(i => Context.Cache.Get<Entity>(i)).Sum(c=>c.SpecificHeat);
OccupiedCapacity = EquippedItems.Select(i => Context.Cache.Get<Gear>(i)).Sum(i => i.ItemData.Size) +
Cargo.Select(i => Context.Cache.Get<ItemInstance>(i)).Sum(ii => Context.GetSize(ii));
OnInventoryUpdate?.Invoke();
}
public void ClearInventoryListeners()
{
OnInventoryUpdate = null;
}
public IEnumerable<T> GetBehaviors<T>() where T : class, IBehavior
@ -278,6 +475,15 @@ public abstract class Entity : DatabaseEntry, IMessagePackSerializationCallbackR
Messages.Remove(message);
}
foreach (var incompleteGear in IncompleteGear.Keys.ToArray())
{
IncompleteGear[incompleteGear] = IncompleteGear[incompleteGear] - delta;
if (IncompleteGear[incompleteGear] < 0)
{
Equip(Context.Cache.Get<Gear>(incompleteGear));
}
}
// Here's the PITA way
// foreach (var staleItem in GearData
// .Where(kvp=>kvp.Key.ItemData!=kvp.Value)
@ -352,9 +558,9 @@ public abstract class Entity : DatabaseEntry, IMessagePackSerializationCallbackR
public void OnAfterDeserialize()
{
RecalculateMass();
AddItemBehaviors();
RecalculateMass();
// Iterate only over the behaviors of items which contain persistent data
// Filter the behaviors for each item to get the persistent ones, then cast them and combine with the persisted data array for that item
@ -372,4 +578,12 @@ public class AxisSetting
{
public float Value;
public List<IAnalogBehavior> Behaviors;
}
[MessagePackObject]
public class IncompleteItem
{
[Key(0)] public Guid Item;
[Key(1)] public Guid Blueprint;
[Key(2)] public double RemainingTime;
}

View file

@ -699,9 +699,6 @@ public class GameContext
if (simpleCargo.Any(g=>g==null))
return null;
foreach(var c in simpleCargo)
Cache.Add(c);
var hull = CreateInstance(loadoutData.Hull, GlobalData.StartingGearQualityMin, GlobalData.StartingGearQualityMax);
if(hull==null)
@ -764,11 +761,16 @@ public class GameContext
{
var item = Cache.Get<SimpleCommodityData>(data);
if (item != null)
return new SimpleCommodity
{
var newItem = new SimpleCommodity
{
Context = this,
Data = data,
Quantity = count
};
Cache.Add(newItem);
return newItem;
}
_logger("Attempted to create Simple Commodity instance using missing or incorrect item id");
return null;
@ -809,7 +811,8 @@ public class GameContext
Data = data,
Ingredients = ingredients.Select(i=>i.ID).ToList(),
Quality = Random.NextFloat(qualityMin, qualityMax),
Blueprint = blueprint.ID
Blueprint = blueprint.ID,
Name = $"Generic {item.Name}"
};
newGear.Durability = Evaluate(equippableItemData.Durability, newGear);
Cache.Add(newGear);
@ -822,7 +825,8 @@ public class GameContext
Data = data,
Ingredients = ingredients.Select(i=>i.ID).ToList(),
Quality = Random.NextFloat(qualityMin, qualityMax),
Blueprint = blueprint.ID
Blueprint = blueprint.ID,
Name = $"Generic {item.Name}"
};
Cache.Add(newCommodity);
return newCommodity;

View file

@ -36,6 +36,8 @@ public abstract class CraftedItemInstance : ItemInstance
[JsonProperty("ingredients"), Key(3)] public List<Guid> Ingredients = new List<Guid>();
[JsonProperty("blueprint"), Key(4)] public Guid Blueprint;
[JsonProperty("name"), Key(5)] public string Name;
}
[MessagePackObject, JsonObject(MemberSerialization.OptIn)]

View file

@ -203,6 +203,9 @@ public class StrategyGameManager : MonoBehaviour
CorpMenuRoot.gameObject.SetActive(false);
var parentCorp = _cache.Get<MegaCorporation>(newCorp.Parent);
newCorp.UnlockedBlueprints.AddRange(parentCorp.InitialTechnologies);
_selectedZone = parentCorp.HomeZone;
ZoneTabButton.OnPointerClick(null);

View file

@ -0,0 +1,11 @@
using System.Collections;
using System.Collections.Generic;
using TMPro;
using UnityEngine;
public class ButtonField : MonoBehaviour
{
public TextMeshProUGUI Label;
public TextMeshProUGUI ButtonLabel;
public FlatFlatButton Button;
}

View file

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 16f77bec2596fd74ba40cb68aa4c7f20
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View file

@ -3,30 +3,65 @@ using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using TMPro;
using UnityEngine;
using UnityEngine.EventSystems;
public class ColonyTab : MonoBehaviour
{
public TextMeshProUGUI Title;
public PropertiesPanel General;
public PropertiesPanel Inventory;
public PropertiesPanel Details;
public ContextMenu ContextMenu;
[HideInInspector]
public GameContext Context;
public GameContext Context
{
get => _context;
set
{
_context = value;
General.Context = value;
Inventory.Context = value;
Details.Context = value;
}
}
private Guid _selectedColony;
private GameContext _context;
private HardpointData _selectedHardpoint;
public void Open(Guid colony)
{
_selectedColony = colony;
_selectedHardpoint = null;
var entity = Context.Cache.Get<Entity>(_selectedColony);
entity.OnInventoryUpdate += () => PopulateScreen(entity);
PopulateScreen(entity);
}
private void OnDisable()
{
var entity = Context.Cache.Get<Entity>(_selectedColony);
entity.ClearInventoryListeners();
}
public void PopulateScreen(Entity entity){
Title.text = entity.Name;
General.Clear();
Inventory.Clear();
Details.Clear();
var entity = Context.Cache.Get<Entity>(_selectedColony);
General.AddProperty("Capacity", () => $"{entity.OccupiedCapacity}/{entity.Capacity:0}");
var corporation = Context.Cache.Get<Corporation>(entity.Corporation);
var blueprints = corporation.UnlockedBlueprints.Select(id => Context.Cache.Get<BlueprintData>(id));
var hull = Context.Cache.Get<Gear>(entity.Hull);
var hullData = Context.Cache.Get<HullData>(hull.Data);
var capacity = Context.Evaluate(hullData.Capacity, hull, entity);
General.AddProperty("Capacity", () => $"{entity.OccupiedCapacity}/{capacity:0}");
General.AddProperty("Mass", () => $"{entity.Mass.SignificantDigits(Context.GlobalData.SignificantDigits)}");
General.AddProperty("Temperature", () => $"{entity.Temperature:0}°K");
General.AddProperty("Energy", () => $"{entity.Energy:0}/{entity.GetBehaviors<Reactor>().First().Capacitance:0}");
@ -37,24 +72,107 @@ public class ColonyTab : MonoBehaviour
() => attribute.Value);
General.RefreshValues();
Inventory.ChildRadioSelection = true;
var cargoData = entity.Cargo.ToDictionary(id => _context.Cache.Get<ItemInstance>(id),
id => Context.Cache.Get<ItemData>(_context.Cache.Get<ItemInstance>(id).Data));
//var incompleteGear = entity.IncompleteGear.Keys.Select(id => _context.Cache.Get<Gear>(id));
// var incompleteGear = entity.IncompleteGear.Select(x =>
// {
// var gear = _context.Cache.Get<Gear>(x.Key);
// var productionTime = _context.Cache.Get<BlueprintData>(gear.Blueprint).ProductionTime;
// var progress = (productionTime - (float) x.Value) / productionTime;
// return (gear, progress);
// });
Inventory.AddSection("Gear");
var equippedItems = entity.EquippedItems.Select(g => Context.Cache.Get<Gear>(g));
foreach(var gear in equippedItems)
Inventory.AddProperty(gear.ItemData.Name, null, () => PopulateDetails(gear, entity));
var gearList = new List<Gear>(entity.GearData.Keys.Concat(entity.IncompleteGear.Keys.Select(id => _context.Cache.Get<Gear>(id))));
foreach (var hardpoint in hullData.Hardpoints)
{
var match = gearList.FirstOrDefault(g => g.ItemData.HardpointType == hardpoint.Type);
var matchingCargoGear = cargoData
.Where(x => x.Value is EquippableItemData equippableItemData &&
equippableItemData.HardpointType == hardpoint.Type).Select(x=>x.Key as Gear)
.ToArray();
if (match == null)
{
var matchingBlueprints = blueprints.Where(bp =>
bp.FactoryItem == Guid.Empty &&
Context.Cache.Get<ItemData>(bp.Item) is GearData gearData &&
gearData.HardpointType == hardpoint.Type).ToArray();
Action<PointerEventData> onClick = null;
if (matchingCargoGear.Any() || matchingBlueprints.Any())
onClick = data =>
{
if (data.button == PointerEventData.InputButton.Left)
{
Details.Clear();
foreach (var blueprint in matchingBlueprints)
{
var blueprintList = Details.AddList(blueprint.Name);
foreach (var ingredient in blueprint.Ingredients)
{
var itemData = _context.Cache.Get<ItemData>(ingredient.Key);
blueprintList.AddProperty(itemData.Name, () => ingredient.Value.ToString());
}
var bpItemData = _context.Cache.Get<ItemData>(blueprint.Item);
if(entity.GetBlueprintIngredients(blueprint, out _, out _))
blueprintList.AddButton("Build", _ => entity.Build(blueprint, 1, bpItemData.Name, true));
}
Details.RefreshValues();
}
else if (data.button == PointerEventData.InputButton.Right)
{
ContextMenu.gameObject.SetActive(true);
ContextMenu.Clear();
if (matchingCargoGear.Any())
ContextMenu.AddDropdown("Install", matchingCargoGear
.Select<Gear, (string, Action, bool)>(gear => (gear.Name, () => entity.Equip(gear), true)));
if(matchingBlueprints.Any())
ContextMenu.AddDropdown("Build", matchingBlueprints
.Select<BlueprintData, (string, Action, bool)>(blueprint => (blueprint.Name, () => entity.Build(blueprint, 1, _context.Cache.Get<ItemData>(blueprint.Item).Name, true), entity.GetBlueprintIngredients(blueprint, out _, out _))));
ContextMenu.Show();
}
};
Inventory.AddProperty($"Empty {Enum.GetName(typeof(HardpointType), hardpoint.Type)} Hardpoint", null, onClick, matchingBlueprints.Any());
}
else
{
if (entity.IncompleteGear.ContainsKey(match.ID))
{
Inventory.AddProgressField(match.Name, () =>
{
var productionTime = _context.Cache.Get<BlueprintData>(match.Blueprint).ProductionTime;
return (productionTime - (float) entity.IncompleteGear[match.ID]) / productionTime;
});
}
else
{
var prop = Inventory.AddProperty(match.Name, null, _ =>
{
_selectedHardpoint = hardpoint;
PopulateDetails(match, entity);
}, true);
if (hardpoint == _selectedHardpoint) prop.Button.OnPointerClick(new PointerEventData(null){button = PointerEventData.InputButton.Left});
}
gearList.Remove(match);
}
}
if(!entity.Cargo.Any())
Inventory.AddSection("No Cargo");
else
{
Inventory.AddSection("Cargo");
foreach (var itemID in entity.Cargo)
foreach (var x in cargoData)
{
var itemInstance = Context.Cache.Get<ItemInstance>(itemID);
var data = Context.Cache.Get<ItemData>(itemInstance.Data);
if(itemInstance is SimpleCommodity simpleCommodity)
Inventory.AddProperty(data.Name, () => simpleCommodity.Quantity.ToString());
if(x.Key is SimpleCommodity simpleCommodity)
Inventory.AddProperty(x.Value.Name, () => simpleCommodity.Quantity.ToString());
else
Inventory.AddProperty(data.Name);
Inventory.AddProperty(x.Value.Name);
}
}
Inventory.RefreshValues();
@ -69,6 +187,52 @@ public class ColonyTab : MonoBehaviour
Details.AddProperty("Durability",
() =>
$"{gear.Durability.SignificantDigits(Context.GlobalData.SignificantDigits)}/{Context.Evaluate(data.Durability, gear).SignificantDigits(Context.GlobalData.SignificantDigits)}");
foreach (var behavior in entity.ItemBehaviors[gear])
{
if (behavior is Factory factory)
{
factory.OnToolingUpdate += () => PopulateDetails(item, entity);
Details.AddField("Production Quality", () => factory.ProductionQuality, f => factory.ProductionQuality = f, 0, 1);
var corporation = Context.Cache.Get<Corporation>(entity.Corporation);
var compatibleBlueprints = corporation.UnlockedBlueprints
.Select(id => _context.Cache.Get<BlueprintData>(id))
.Where(bp => bp.FactoryItem == data.ID).ToList();
if (factory.RetoolingTime > 0)
{
Details.AddProgressField("Retooling", () => (factory.ToolingTime - (float) factory.RetoolingTime) / factory.ToolingTime);
}
else
{
Details.AddField("Item",
() => compatibleBlueprints.FindIndex(bp=>bp.ID== factory.Blueprint) + 1,
i => factory.Blueprint = i == 0 ? Guid.Empty : compatibleBlueprints[i - 1].ID,
new []{"None"}.Concat(compatibleBlueprints.Select(bp=>bp.Name)).ToArray());
if (factory.Blueprint != Guid.Empty)
{
if (factory.ItemsUnderConstruction.Any())
{
Details.AddProgressField("Production", () =>
{
var itemUnderConstruction = factory.ItemsUnderConstruction[0];
var itemInstance = _context.Cache.Get<CraftedItemInstance>(itemUnderConstruction);
var blueprintData = _context.Cache.Get<BlueprintData>(itemInstance.Blueprint);
return (blueprintData.ProductionTime - (float) entity.IncompleteCargo[itemUnderConstruction]) / blueprintData.ProductionTime;
});
}
else
{
var ingredientsList = Details.AddList("Ingredients Needed");
var blueprintData = _context.Cache.Get<BlueprintData>(factory.Blueprint);
foreach (var ingredient in blueprintData.Ingredients)
{
var itemData = _context.Cache.Get<ItemData>(ingredient.Key);
ingredientsList.AddProperty(itemData.Name, () => ingredient.Value.ToString());
}
}
}
}
}
}
foreach (var behavior in data.Behaviors)
{
var type = behavior.GetType();

View file

@ -54,7 +54,7 @@ public class ContextMenu : MonoBehaviour
_hasDropdown = false;
}
public void AddOption(string text, Action action)
public void AddOption(string text, Action action, bool enabled = true)
{
var optionButton = Instantiate(OptionPrefab, ContentRoot);
optionButton.Label.text = text;
@ -72,10 +72,11 @@ public class ContextMenu : MonoBehaviour
Destroy(_dropdown);
};
optionButton.Arrow.gameObject.SetActive(false);
optionButton.Button.interactable = enabled;
_options.Add(optionButton.gameObject);
}
public void AddDropdown(string text, IEnumerable<(string text, Action action)> options)
public void AddDropdown(string text, IEnumerable<(string text, Action action, bool enabled)> options)
{
_hasDropdown = true;
var optionButton = Instantiate(OptionPrefab, ContentRoot);
@ -89,7 +90,7 @@ public class ContextMenu : MonoBehaviour
var drop = Instantiate(DropMenuPrefab, Root);
_dropdown = drop.gameObject;
foreach (var option in options)
drop.AddOption(option.text, option.action);
drop.AddOption(option.text, option.action, option.enabled);
drop.Parent = this;
drop.ForceDirectionRight = _dropdownRight;
Vector3[] corners = new Vector3[4];

View file

@ -21,6 +21,7 @@ public class FlatButton : MonoBehaviour, IPointerEnterHandler, IPointerExitHandl
public FlatButtonAppearance SelectedAppearance;
public FlatButtonAppearance HoverAppearance;
public FlatButtonAppearance ClickAppearance;
public FlatButtonAppearance DisabledAppearance;
private RectOffset _defaultPadding;
private float _currentPadding;
@ -45,7 +46,7 @@ public class FlatButton : MonoBehaviour, IPointerEnterHandler, IPointerExitHandl
public void OnPointerClick(PointerEventData eventData)
{
if (!DisableClickWhenSelected || CurrentState != FlatButtonState.Selected)
if (CurrentState != FlatButtonState.Disabled && (!DisableClickWhenSelected || CurrentState != FlatButtonState.Selected))
{
Fill.color = ClickAppearance.FillColor;
Outline.color = ClickAppearance.OutlineColor;
@ -67,6 +68,9 @@ public class FlatButton : MonoBehaviour, IPointerEnterHandler, IPointerExitHandl
case FlatButtonState.Hover:
appearance = HoverAppearance;
break;
case FlatButtonState.Disabled:
appearance = DisabledAppearance;
break;
default:
appearance = new FlatButtonAppearance();
break;
@ -89,7 +93,8 @@ public enum FlatButtonState
{
Unselected,
Selected,
Hover
Hover,
Disabled
}
[Serializable]

View file

@ -8,7 +8,7 @@ using UnityEngine.UI;
public class FlatFlatButton : MonoBehaviour, IPointerEnterHandler, IPointerExitHandler, IPointerClickHandler
{
public event Action OnClick;
public event Action<PointerEventData> OnClick;
public float StateDamping;
// public RectTransform Tab;
public Image Fill;
@ -19,6 +19,7 @@ public class FlatFlatButton : MonoBehaviour, IPointerEnterHandler, IPointerExitH
public Color SelectedColor;
public Color HoverColor;
public Color ClickColor;
public Color DisabledColor;
public void OnPointerEnter(PointerEventData eventData)
{
@ -34,12 +35,12 @@ public class FlatFlatButton : MonoBehaviour, IPointerEnterHandler, IPointerExitH
public void OnPointerClick(PointerEventData eventData)
{
if (!DisableClickWhenSelected || CurrentState != FlatButtonState.Selected)
if (CurrentState != FlatButtonState.Disabled && (!DisableClickWhenSelected || CurrentState != FlatButtonState.Selected))
{
if (OnClick != null)
{
Fill.color = ClickColor;
OnClick();
OnClick(eventData);
}
}
}
@ -58,6 +59,9 @@ public class FlatFlatButton : MonoBehaviour, IPointerEnterHandler, IPointerExitH
case FlatButtonState.Hover:
appearance = HoverColor;
break;
case FlatButtonState.Disabled:
appearance = DisabledColor;
break;
default:
appearance = Color.white;
break;

View file

@ -3,6 +3,7 @@ using System.Collections;
using System.Collections.Generic;
using TMPro;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
public class PropertiesList : PropertiesPanel
@ -33,7 +34,7 @@ public class PropertiesList : PropertiesPanel
public void Start()
{
Button.OnClick += ToggleExpand;
Button.OnClick += _ => ToggleExpand();
}
public void ToggleExpand() => Expanded = !_expanded;
@ -45,24 +46,31 @@ public class PropertiesList : PropertiesPanel
FoldoutIcon.transform.localRotation = Quaternion.Euler(0,0, _foldoutRotation);
}
public new PropertyLabel AddProperty(string name, Func<string> value = null, Action onClick = null)
public override PropertyLabel AddProperty(string name, Func<string> read = null, Action<PointerEventData> onClick = null, bool radio = false)
{
var prop = base.AddProperty(name, value, onClick);
var prop = base.AddProperty(name, read, onClick, radio);
prop.gameObject.SetActive(false);
return prop;
}
public new PropertiesList AddList(string name)
public override PropertiesList AddList(string name)
{
var list = base.AddList(name);
list.gameObject.SetActive(false);
return list;
}
public new RectTransform AddSection(string name)
public override RectTransform AddSection(string name)
{
var section = base.AddSection(name);
section.gameObject.SetActive(false);
return section;
}
public override PropertyButton AddButton(string name, Action<PointerEventData> onClick)
{
var button = base.AddButton(name, onClick);
button.gameObject.SetActive(false);
return button;
}
}

View file

@ -5,6 +5,7 @@ using System.Globalization;
using System.Linq;
using TMPro;
using UnityEngine;
using UnityEngine.EventSystems;
public class PropertiesPanel : MonoBehaviour
{
@ -15,14 +16,18 @@ public class PropertiesPanel : MonoBehaviour
public AttributeProperty AttributePrefab;
public InputField InputField;
public RangedFloatField RangedFloatField;
public RangedFloatField ProgressField;
public EnumField EnumField;
public BoolField BoolField;
public bool ChildRadioSelection;
public PropertyButton PropertyButton;
public ButtonField ButtonField;
[HideInInspector] public GameContext Context;
protected List<GameObject> Properties = new List<GameObject>();
protected List<FlatFlatButton> Buttons = new List<FlatFlatButton>();
protected FlatFlatButton SelectedChild;
protected event Action RefreshPropertyValues;
protected bool RadioSelection = false;
private void Update()
{
@ -37,6 +42,7 @@ public class PropertiesPanel : MonoBehaviour
Buttons.Clear();
SelectedChild = null;
RefreshPropertyValues = null;
RadioSelection = false;
}
public void Deselect()
@ -46,7 +52,7 @@ public class PropertiesPanel : MonoBehaviour
SelectedChild = null;
}
public RectTransform AddSection(string name)
public virtual RectTransform AddSection(string name)
{
var section = Instantiate(SectionPrefab, transform);
section.GetComponentInChildren<TextMeshProUGUI>().text = name;
@ -54,20 +60,24 @@ public class PropertiesPanel : MonoBehaviour
return section;
}
public PropertyLabel AddProperty(string name, Func<string> read = null, Action onClick = null)
public virtual PropertyLabel AddProperty(string name, Func<string> read = null, Action<PointerEventData> onClick = null, bool radio = false)
{
var property = Instantiate(PropertyPrefab, transform);
property.Name.text = name;
if (ChildRadioSelection)
if (radio)
{
RadioSelection = true;
Buttons.Add(property.Button);
property.Button.OnClick += () =>
property.Button.OnClick += data =>
{
if (SelectedChild != null)
SelectedChild.CurrentState = FlatButtonState.Unselected;
SelectedChild = property.Button;
SelectedChild.CurrentState = FlatButtonState.Selected;
onClick?.Invoke();
if (data.button == PointerEventData.InputButton.Left)
{
if (SelectedChild != null)
SelectedChild.CurrentState = FlatButtonState.Unselected;
SelectedChild = property.Button;
SelectedChild.CurrentState = FlatButtonState.Selected;
}
onClick?.Invoke(data);
};
}
else if(onClick!=null) property.Button.OnClick += onClick;
@ -76,7 +86,7 @@ public class PropertiesPanel : MonoBehaviour
return property;
}
public PropertiesList AddList(string name) //, IEnumerable<(string, Func<string>)> elements)
public virtual PropertiesList AddList(string name) //, IEnumerable<(string, Func<string>)> elements)
{
var list = Instantiate(ListPrefab, transform);
list.Title.text = name;
@ -103,8 +113,26 @@ public class PropertiesPanel : MonoBehaviour
Properties.Add(attributeInstance.gameObject);
return attributeInstance;
}
public virtual PropertyButton AddButton(string name, Action<PointerEventData> onClick)
{
var button = Instantiate(PropertyButton, transform);
button.Label.text = name;
button.Button.OnClick += onClick;
Properties.Add(button.gameObject);
return button;
}
public void AddButton(string name, string label, Action<PointerEventData> onClick)
{
var button = Instantiate(ButtonField, transform);
button.Label.text = name;
button.ButtonLabel.text = label;
button.Button.OnClick += onClick;
Properties.Add(button.gameObject);
}
public void AddProperty(string name, Func<string> read, Action<string> write)
public void AddField(string name, Func<string> read, Action<string> write)
{
var field = Instantiate(InputField, transform);
field.Label.text = name;
@ -114,7 +142,7 @@ public class PropertiesPanel : MonoBehaviour
Properties.Add(field.gameObject);
}
public void AddProperty(string name, Func<float> read, Action<float> write)
public void AddField(string name, Func<float> read, Action<float> write)
{
var field = Instantiate(InputField, transform);
field.Label.text = name;
@ -124,7 +152,7 @@ public class PropertiesPanel : MonoBehaviour
Properties.Add(field.gameObject);
}
public void AddProperty(string name, Func<int> read, Action<int> write)
public void AddField(string name, Func<int> read, Action<int> write)
{
var field = Instantiate(InputField, transform);
field.Label.text = name;
@ -134,7 +162,7 @@ public class PropertiesPanel : MonoBehaviour
Properties.Add(field.gameObject);
}
public void AddProperty(string name, Func<float> read, Action<float> write, float min, float max)
public void AddField(string name, Func<float> read, Action<float> write, float min, float max)
{
var field = Instantiate(RangedFloatField, transform);
field.Label.text = name;
@ -146,7 +174,19 @@ public class PropertiesPanel : MonoBehaviour
Properties.Add(field.gameObject);
}
public void AddProperty(string name, Func<int> read, Action<int> write, int min, int max)
public void AddProgressField(string name, Func<float> read)
{
var field = Instantiate(ProgressField, transform);
field.Label.text = name;
field.Slider.wholeNumbers = false;
field.Slider.minValue = 0;
field.Slider.maxValue = 1;
//field.Slider.onValueChanged.AddListener(val => write(val));
RefreshPropertyValues += () => field.Slider.value = read();
Properties.Add(field.gameObject);
}
public void AddField(string name, Func<int> read, Action<int> write, int min, int max)
{
var field = Instantiate(RangedFloatField, transform);
field.Label.text = name;
@ -158,7 +198,7 @@ public class PropertiesPanel : MonoBehaviour
Properties.Add(field.gameObject);
}
public void AddProperty(string name, Func<bool> read, Action<bool> write)
public void AddField(string name, Func<bool> read, Action<bool> write)
{
var field = Instantiate(BoolField, transform);
field.Label.text = name;
@ -167,7 +207,7 @@ public class PropertiesPanel : MonoBehaviour
Properties.Add(field.gameObject);
}
public void AddProperty(string name, Func<int> read, Action<int> write, string[] enumOptions)
public void AddField(string name, Func<int> read, Action<int> write, string[] enumOptions)
{
var field = Instantiate(EnumField, transform);
field.Label.text = name;

View file

@ -0,0 +1,10 @@
using System.Collections;
using System.Collections.Generic;
using TMPro;
using UnityEngine;
public class PropertyButton : MonoBehaviour
{
public TextMeshProUGUI Label;
public FlatFlatButton Button;
}

View file

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 8c0b005aebd0cd947a04034f1a42e838
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View file

@ -104,6 +104,7 @@
<Compile Include="Assets\Scripts\ServerShared\Behaviors\Visibility.cs" />
<Compile Include="Assets\Scripts\ServerShared\Behaviors\Weapon.cs" />
<Compile Include="Assets\Scripts\ServerShared\BlueprintData.cs" />
<Compile Include="Assets\Scripts\ServerShared\Corporations.cs" />
<Compile Include="Assets\Scripts\ServerShared\DatabaseCache.cs" />
<Compile Include="Assets\Scripts\ServerShared\DatabaseItems.cs" />
<Compile Include="Assets\Scripts\ServerShared\Entity.cs" />