diff --git a/Aetheria.Shared.Unity.csproj b/Aetheria.Shared.Unity.csproj index ab7380a3e..74e3a3fee 100644 --- a/Aetheria.Shared.Unity.csproj +++ b/Aetheria.Shared.Unity.csproj @@ -147,6 +147,7 @@ + @@ -252,7 +253,6 @@ - diff --git a/Assets/Prefabs/UI/Action Slot.prefab b/Assets/Prefabs/UI/Action Slot.prefab index 1bf80adc3..75f322d0a 100644 --- a/Assets/Prefabs/UI/Action Slot.prefab +++ b/Assets/Prefabs/UI/Action Slot.prefab @@ -150,6 +150,8 @@ GameObject: - component: {fileID: 8334150340270499367} - component: {fileID: 8334150340270499366} - component: {fileID: 8334150340270499361} + - component: {fileID: 116092007209826482} + - component: {fileID: 2829353637824256212} m_Layer: 5 m_Name: Action Slot m_TagString: Untagged @@ -237,8 +239,8 @@ MonoBehaviour: m_IgnoreLayout: 0 m_MinWidth: -1 m_MinHeight: -1 - m_PreferredWidth: 64 - m_PreferredHeight: 64 + m_PreferredWidth: 1080 + m_PreferredHeight: 1080 m_FlexibleWidth: -1 m_FlexibleHeight: -1 m_LayoutPriority: 1 @@ -275,6 +277,8 @@ MonoBehaviour: InputIcon: {fileID: 8334150340841115256} QuantityRemaining: {fileID: 8334150341178146431} Fill: {fileID: 8334150340821902602} + PointerEnterTrigger: {fileID: 116092007209826482} + PointerExitTrigger: {fileID: 2829353637824256212} --- !u!114 &8334150340270499361 MonoBehaviour: m_ObjectHideFlags: 0 @@ -288,6 +292,30 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_ShowMaskGraphic: 0 +--- !u!114 &116092007209826482 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8334150340270499363} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3468b3db8d419c745b12124f6432696b, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &2829353637824256212 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8334150340270499363} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9643e74593988274bbed9adf40384e48, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1 &8334150340821902612 GameObject: m_ObjectHideFlags: 0 @@ -465,7 +493,7 @@ RectTransform: m_GameObject: {fileID: 8334150340841115258} 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_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 8334150340270499360} m_RootOrder: 4 diff --git a/Assets/Prefabs/UI/Properties Panel/Fancy/Weapon Group.prefab b/Assets/Prefabs/UI/Properties Panel/Fancy/Weapon Group.prefab new file mode 100644 index 000000000..95677030e --- /dev/null +++ b/Assets/Prefabs/UI/Properties Panel/Fancy/Weapon Group.prefab @@ -0,0 +1,397 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &8854537499097178561 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8854537499097178562} + - component: {fileID: 8854537499097178565} + - component: {fileID: 8854537499097178564} + - component: {fileID: 8854537499097178563} + m_Layer: 5 + m_Name: Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8854537499097178562 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8854537499097178561} + 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: 7093141058661617964} + 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 &8854537499097178565 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8854537499097178561} + m_CullTransparentMesh: 1 +--- !u!114 &8854537499097178564 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8854537499097178561} + 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_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: G1 + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 53555f7a2d5e745428813f1b1118734f, type: 2} + m_sharedMaterial: {fileID: -2804126062856497447, guid: 53555f7a2d5e745428813f1b1118734f, + type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294964185 + m_fontColor: {r: 0.85, g: 0.95199996, 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_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 12 + m_fontSizeBase: 12 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 10 + m_fontSizeMax: 14 + m_fontStyle: 33 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + 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_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 1 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!114 &8854537499097178563 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8854537499097178561} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + 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_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, 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_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 8854537499097178564} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!1 &8854537499952373069 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8854537499952373070} + - component: {fileID: 8854537499952373056} + - component: {fileID: 8854537499952373071} + m_Layer: 5 + m_Name: Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8854537499952373070 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8854537499952373069} + 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: 7093141058661617964} + 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 &8854537499952373056 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8854537499952373069} + m_CullTransparentMesh: 1 +--- !u!114 &8854537499952373071 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8854537499952373069} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.8, g: 0.9333333, b: 1, a: 0.03137255} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 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 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &9223028044370770576 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7093141058661617964} + - component: {fileID: 5236190267576759953} + - component: {fileID: 9223028044370770578} + - component: {fileID: 9223028044370770577} + - component: {fileID: 3575432560508143777} + - component: {fileID: 2103399013588393016} + - component: {fileID: 8960961965027693801} + - component: {fileID: 2070497072283402020} + m_Layer: 5 + m_Name: Weapon Group + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7093141058661617964 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9223028044370770576} + 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: 8854537499952373070} + - {fileID: 8854537499097178562} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 12, y: -12} + m_SizeDelta: {x: 24, y: 24} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &5236190267576759953 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9223028044370770576} + m_CullTransparentMesh: 1 +--- !u!114 &9223028044370770578 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9223028044370770576} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 1080 + m_PreferredHeight: 1080 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!114 &9223028044370770577 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9223028044370770576} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a588f4b3f3e229540a82e5f976b08e2d, type: 3} + m_Name: + m_EditorClassIdentifier: + aspectRatio: 1 + updateMin: 0 + updatePreferred: 1 +--- !u!114 &3575432560508143777 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9223028044370770576} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 27f5673ad060b834489cad765159cb84, type: 3} + m_Name: + m_EditorClassIdentifier: + Label: {fileID: 8854537499097178564} + Button: {fileID: 8854537499097178563} + BeginDragTrigger: {fileID: 2103399013588393016} + DragTrigger: {fileID: 8960961965027693801} + EndDragTrigger: {fileID: 2070497072283402020} +--- !u!114 &2103399013588393016 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9223028044370770576} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3a81a9b6bec6b4f4fba7e0047cd989f6, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &8960961965027693801 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9223028044370770576} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 79db090dc9e4db245821e8b89b0e208e, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &2070497072283402020 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9223028044370770576} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b8ce8424f238d6842bd8b09c0cca1ac4, type: 3} + m_Name: + m_EditorClassIdentifier: diff --git a/Assets/Prefabs/UI/Properties Panel/Fancy/Weapon Group.prefab.meta b/Assets/Prefabs/UI/Properties Panel/Fancy/Weapon Group.prefab.meta new file mode 100644 index 000000000..da7d6e862 --- /dev/null +++ b/Assets/Prefabs/UI/Properties Panel/Fancy/Weapon Group.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: b987fd2e2a9af93459f01eed2609a58b +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/UI/Properties Panel/Fancy/Weapon Groups.prefab b/Assets/Prefabs/UI/Properties Panel/Fancy/Weapon Groups.prefab new file mode 100644 index 000000000..4c7acce17 --- /dev/null +++ b/Assets/Prefabs/UI/Properties Panel/Fancy/Weapon Groups.prefab @@ -0,0 +1,330 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &913394255187743890 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7044292112900681436} + - component: {fileID: 835890040255913825} + - component: {fileID: 4589204584295863281} + m_Layer: 5 + m_Name: Title + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7044292112900681436 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 913394255187743890} + 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: 7017012055636029233} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: -2} + m_SizeDelta: {x: -16, y: -4} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &835890040255913825 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 913394255187743890} + m_CullTransparentMesh: 1 +--- !u!114 &4589204584295863281 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 913394255187743890} + 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_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: Stat Name + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 53555f7a2d5e745428813f1b1118734f, type: 2} + m_sharedMaterial: {fileID: -2804126062856497447, guid: 53555f7a2d5e745428813f1b1118734f, + type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4279071487 + m_fontColor: {r: 1, g: 0.44583336, b: 0.050000012, 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_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 14 + m_fontSizeBase: 14 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 16 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + 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_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 1 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &4617351576505393965 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4617351576505394386} + - component: {fileID: 4617351576505394387} + m_Layer: 5 + m_Name: Group Container + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4617351576505394386 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4617351576505393965} + 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: 7017012055636029233} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: 0, y: 8} + m_SizeDelta: {x: -16, y: 24} + m_Pivot: {x: 0.5, y: 0} +--- !u!114 &4617351576505394387 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4617351576505393965} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 0 + m_Spacing: 8 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 1 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 +--- !u!1 &6173357060473159663 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7017012055636029233} + - component: {fileID: 1187566180789453781} + - component: {fileID: 9198057411594340877} + - component: {fileID: 2147666021289938829} + - component: {fileID: 6173357060473159660} + - component: {fileID: 8654742830357802168} + m_Layer: 5 + m_Name: Weapon Groups + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7017012055636029233 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6173357060473159663} + 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: 7044292112900681436} + - {fileID: 4617351576505394386} + 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!222 &1187566180789453781 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6173357060473159663} + m_CullTransparentMesh: 1 +--- !u!114 &9198057411594340877 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6173357060473159663} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.45402354, g: 0.45402354, b: 0.603, a: 0.039215688} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 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 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &2147666021289938829 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6173357060473159663} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b403db1d8980f544099fedf5735cf364, type: 3} + m_Name: + m_EditorClassIdentifier: + Label: {fileID: 4589204584295863281} + Value: {fileID: 0} +--- !u!114 &6173357060473159660 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6173357060473159663} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: 64 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!114 &8654742830357802168 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6173357060473159663} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b9b213fc96d20d848819b8159412680c, type: 3} + m_Name: + m_EditorClassIdentifier: + Container: {fileID: 4617351576505394386} + GroupPrefab: {fileID: 3575432560508143777, guid: b987fd2e2a9af93459f01eed2609a58b, + type: 3} + ActiveColor: {r: 1, g: 0.44583336, b: 0.050000012, a: 1} + InactiveColor: {r: 0.6037736, g: 0.6037736, b: 0.6037736, a: 1} diff --git a/Assets/Prefabs/UI/Properties Panel/Fancy/Weapon Groups.prefab.meta b/Assets/Prefabs/UI/Properties Panel/Fancy/Weapon Groups.prefab.meta new file mode 100644 index 000000000..58ffebfef --- /dev/null +++ b/Assets/Prefabs/UI/Properties Panel/Fancy/Weapon Groups.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: fbe6efeb205a68946af7a6f1cb8b9904 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/UI/Properties Panel/Properties.prefab b/Assets/Prefabs/UI/Properties Panel/Properties.prefab index 9f6c03949..29d281e03 100644 --- a/Assets/Prefabs/UI/Properties Panel/Properties.prefab +++ b/Assets/Prefabs/UI/Properties Panel/Properties.prefab @@ -787,7 +787,10 @@ MonoBehaviour: CurveField: {fileID: 3018914896466881005, guid: 168887bbd3de8c74eb3f06d3d46dda4e, type: 3} Content: {fileID: 257019179596293679} + WeaponGroupAssignment: {fileID: 8654742830357802168, guid: fbe6efeb205a68946af7a6f1cb8b9904, + type: 3} SelectedChild: {fileID: 0} + GameManager: {fileID: 0} --- !u!222 &7131821417165215473 CanvasRenderer: m_ObjectHideFlags: 0 diff --git a/Assets/Resources/Sprites/Icons/mouse.png b/Assets/Resources/Sprites/Icons/mouseL.png similarity index 100% rename from Assets/Resources/Sprites/Icons/mouse.png rename to Assets/Resources/Sprites/Icons/mouseL.png diff --git a/Assets/Resources/Sprites/Icons/mouse.png.meta b/Assets/Resources/Sprites/Icons/mouseL.png.meta similarity index 83% rename from Assets/Resources/Sprites/Icons/mouse.png.meta rename to Assets/Resources/Sprites/Icons/mouseL.png.meta index 0c96413c4..cf1d20e40 100644 --- a/Assets/Resources/Sprites/Icons/mouse.png.meta +++ b/Assets/Resources/Sprites/Icons/mouseL.png.meta @@ -1,12 +1,12 @@ fileFormatVersion: 2 guid: a308a6cbccf9c9b4fa444a974e7968df TextureImporter: - fileIDToRecycleName: {} + internalIDToNameTable: [] externalObjects: {} - serializedVersion: 9 + serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 1 + enableMipMap: 0 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -23,6 +23,7 @@ TextureImporter: isReadable: 0 streamingMipmaps: 0 streamingMipmapsPriority: 0 + vTOnly: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 @@ -54,13 +55,17 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 1 platformSettings: - - serializedVersion: 2 + - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 256 + maxTextureSize: 32 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -69,9 +74,10 @@ TextureImporter: allowsAlphaSplitting: 0 overridden: 0 androidETC2FallbackOverride: 0 - - serializedVersion: 2 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 256 + maxTextureSize: 32 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -80,7 +86,8 @@ TextureImporter: allowsAlphaSplitting: 0 overridden: 0 androidETC2FallbackOverride: 0 - - serializedVersion: 2 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 buildTarget: WebGL maxTextureSize: 256 resizeAlgorithm: 0 @@ -91,6 +98,7 @@ TextureImporter: allowsAlphaSplitting: 0 overridden: 0 androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 1 spriteSheet: serializedVersion: 2 sprites: [] @@ -98,10 +106,12 @@ TextureImporter: physicsShape: [] bones: [] spriteID: 29d0cbe550734d745a4c311b08cd9033 + internalID: 0 vertices: [] indices: edges: [] weights: [] + secondaryTextures: [] spritePackingTag: pSDRemoveMatte: 0 pSDShowRemoveMatteOption: 0 diff --git a/Assets/Resources/Sprites/Icons/mouseMiddle.png.meta b/Assets/Resources/Sprites/Icons/mouseMiddle.png.meta index cf88fc3c6..0c4917dc6 100644 --- a/Assets/Resources/Sprites/Icons/mouseMiddle.png.meta +++ b/Assets/Resources/Sprites/Icons/mouseMiddle.png.meta @@ -1,12 +1,12 @@ fileFormatVersion: 2 guid: 188698480e3264043842e31a1d7b26ab TextureImporter: - fileIDToRecycleName: {} + internalIDToNameTable: [] externalObjects: {} - serializedVersion: 9 + serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 1 + enableMipMap: 0 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -23,6 +23,7 @@ TextureImporter: isReadable: 0 streamingMipmaps: 0 streamingMipmapsPriority: 0 + vTOnly: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 @@ -54,13 +55,17 @@ TextureImporter: textureType: 8 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 1 platformSettings: - - serializedVersion: 2 + - serializedVersion: 3 buildTarget: DefaultTexturePlatform - maxTextureSize: 256 + maxTextureSize: 32 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -69,9 +74,10 @@ TextureImporter: allowsAlphaSplitting: 0 overridden: 0 androidETC2FallbackOverride: 0 - - serializedVersion: 2 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 buildTarget: Standalone - maxTextureSize: 256 + maxTextureSize: 32 resizeAlgorithm: 0 textureFormat: -1 textureCompression: 1 @@ -80,7 +86,8 @@ TextureImporter: allowsAlphaSplitting: 0 overridden: 0 androidETC2FallbackOverride: 0 - - serializedVersion: 2 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 buildTarget: WebGL maxTextureSize: 256 resizeAlgorithm: 0 @@ -91,6 +98,7 @@ TextureImporter: allowsAlphaSplitting: 0 overridden: 0 androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 1 spriteSheet: serializedVersion: 2 sprites: [] @@ -98,10 +106,12 @@ TextureImporter: physicsShape: [] bones: [] spriteID: 3ca6de31166650547bc6aa1652e3e95a + internalID: 0 vertices: [] indices: edges: [] weights: [] + secondaryTextures: [] spritePackingTag: pSDRemoveMatte: 0 pSDShowRemoveMatteOption: 0 diff --git a/Assets/Resources/Sprites/Icons/mouseR.png b/Assets/Resources/Sprites/Icons/mouseR.png new file mode 100644 index 000000000..4384b3624 --- /dev/null +++ b/Assets/Resources/Sprites/Icons/mouseR.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b2c065fe616b66f3c89ab2c3b2bcaa74492688d9054d7038af74577371437071 +size 6723 diff --git a/Assets/Resources/Sprites/Icons/mouseR.png.meta b/Assets/Resources/Sprites/Icons/mouseR.png.meta new file mode 100644 index 000000000..46d9740b1 --- /dev/null +++ b/Assets/Resources/Sprites/Icons/mouseR.png.meta @@ -0,0 +1,108 @@ +fileFormatVersion: 2 +guid: 3449ac806e8043f40b6612c729d8e555 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 32 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 32 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scenes/ARPG.unity b/Assets/Scenes/ARPG.unity index c79ceede9..78ee932a0 100644 --- a/Assets/Scenes/ARPG.unity +++ b/Assets/Scenes/ARPG.unity @@ -5350,7 +5350,6 @@ MonoBehaviour: m_EditorClassIdentifier: Settings: {fileID: 11400000, guid: cd2344e2001a37544aab0960c164d4ff, type: 2} ListElementPrototype: {fileID: 1462704895} - TriggerGroupPrototype: {fileID: 0} HeaderElementEnabledColor: {r: 0, g: 0, b: 0, a: 0} HeaderElementDisabledColor: {r: 0, g: 0, b: 0, a: 0} OverrideIcon: {fileID: 0} @@ -9410,7 +9409,9 @@ MonoBehaviour: type: 3} StatSheet: {fileID: 0} CurveField: {fileID: 0} + WeaponGroupAssignment: {fileID: 0} Content: {fileID: 620555923} + DragParent: {fileID: 0} SelectedChild: {fileID: 0} GameManager: {fileID: 0} CancelClickCatcher: {fileID: 1420548305} @@ -15388,6 +15389,7 @@ MonoBehaviour: SevereHypothermiaPP: {fileID: 694183021} ShiftIcon: {fileID: 21300000, guid: 6a42d073009184c4f9bd47c2d4e8d1f7, type: 3} MouseLeftIcon: {fileID: 21300000, guid: a308a6cbccf9c9b4fa444a974e7968df, type: 3} + MouseRightIcon: {fileID: 21300000, guid: 3449ac806e8043f40b6612c729d8e555, type: 3} MouseMiddleIcon: {fileID: 21300000, guid: 188698480e3264043842e31a1d7b26ab, type: 3} ActionBar: {fileID: 393961848} ActionBarSlot: {fileID: 8334150340270499366, guid: bfce34a0acbaa454e97a700e1875357e, @@ -29310,6 +29312,11 @@ PrefabInstance: propertyPath: Dropdown value: objectReference: {fileID: 178733681} + - target: {fileID: 7131821417165215475, guid: 426f9dcb510530d4dbfa678c9f727ec1, + type: 3} + propertyPath: DragParent + value: + objectReference: {fileID: 245842385} - target: {fileID: 7131821417165215484, guid: 426f9dcb510530d4dbfa678c9f727ec1, type: 3} propertyPath: m_Pivot.x @@ -33338,7 +33345,9 @@ MonoBehaviour: type: 3} StatSheet: {fileID: 0} CurveField: {fileID: 0} + WeaponGroupAssignment: {fileID: 0} Content: {fileID: 3255828831356619720} + DragParent: {fileID: 0} SelectedChild: {fileID: 0} GameManager: {fileID: 0} --- !u!114 &5496444666756201237 @@ -35015,7 +35024,6 @@ MonoBehaviour: m_EditorClassIdentifier: Settings: {fileID: 11400000, guid: cd2344e2001a37544aab0960c164d4ff, type: 2} ListElementPrototype: {fileID: 232470599} - TriggerGroupPrototype: {fileID: 0} HeaderElementEnabledColor: {r: 1, g: 1, b: 1, a: 0.078431375} HeaderElementDisabledColor: {r: 1, g: 1, b: 1, a: 0.011764706} OverrideIcon: {fileID: 1576705656} diff --git a/Assets/Scripts/Editor/PlayScenePlusPlus.cs b/Assets/Scripts/Editor/PlayScenePlusPlus.cs new file mode 100644 index 000000000..3beb59e4a --- /dev/null +++ b/Assets/Scripts/Editor/PlayScenePlusPlus.cs @@ -0,0 +1,40 @@ +using UnityEditor; +using UnityEditor.SceneManagement; + +[InitializeOnLoad] +public class PlayScenePlusPlus +{ + static PlayScenePlusPlus() + { + if(EditorPrefs.HasKey("PlayScene")) + { + EditorSceneManager.playModeStartScene = AssetDatabase.LoadAssetAtPath(EditorPrefs.GetString("PlayScene")); + } + } + + [MenuItem("Edit/Play Scene/Set Static", false)] + private static void SelectPlayScene() + { + EditorSceneManager.playModeStartScene = Selection.activeObject as SceneAsset; + EditorPrefs.SetString("PlayScene", AssetDatabase.GetAssetPath(EditorSceneManager.playModeStartScene)); + } + + [MenuItem("Edit/Play Scene/Set Static", true)] + private static bool SelectPlaySceneValidate() + { + return Selection.objects.Length == 1 && Selection.activeObject is SceneAsset; + } + + [MenuItem("Edit/Play Scene/Clear", false)] + private static void ClearPlayScene() + { + EditorSceneManager.playModeStartScene = null; + EditorPrefs.DeleteKey("PlayScene"); + } + + [MenuItem("Edit/Play Scene/Clear", true)] + private static bool ClearPlaySceneValidate() + { + return EditorSceneManager.playModeStartScene; + } +} \ No newline at end of file diff --git a/Assets/Scripts/Editor/PlayScenePlusPlus.cs.meta b/Assets/Scripts/Editor/PlayScenePlusPlus.cs.meta new file mode 100644 index 000000000..e454fff89 --- /dev/null +++ b/Assets/Scripts/Editor/PlayScenePlusPlus.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: e7f42430a0ad52b46a18c43afbb72406 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Gameplay/ActionBarSlot.cs b/Assets/Scripts/Gameplay/ActionBarSlot.cs index a50405f77..b871a0554 100644 --- a/Assets/Scripts/Gameplay/ActionBarSlot.cs +++ b/Assets/Scripts/Gameplay/ActionBarSlot.cs @@ -4,6 +4,7 @@ using JsonKnownTypes; using MessagePack; using Newtonsoft.Json; using TMPro; +using UniRx.Triggers; using UnityEngine; using UnityEngine.UI; @@ -15,6 +16,8 @@ public class ActionBarSlot : MonoBehaviour public Image InputIcon; public TextMeshProUGUI QuantityRemaining; public Image Fill; + public ObservablePointerEnterTrigger PointerEnterTrigger; + public ObservablePointerExitTrigger PointerExitTrigger; private ActionBarBinding binding; public Entity Entity { get; set; } @@ -27,6 +30,8 @@ public class ActionBarSlot : MonoBehaviour binding = value; if (binding == null) { + Fill.fillAmount = 0; + Label.gameObject.SetActive(false); QuantityRemaining.gameObject.SetActive(false); Icon.gameObject.SetActive(false); } @@ -179,7 +184,8 @@ public class ActionBarWeaponGroupBinding : ActionBarBinding public ActionBarWeaponGroupBinding(Entity entity, ActionBarSlot slot, int group) : base(entity, slot) { Group = group; - slot.Label.text = $"G{Group}"; + slot.Label.gameObject.SetActive(true); + slot.Label.text = $"G{Group+1}"; Slot.Icon.gameObject.SetActive(false); } diff --git a/Assets/Scripts/Gameplay/ActionGameManager.cs b/Assets/Scripts/Gameplay/ActionGameManager.cs index c73efca2a..6c4d8316a 100644 --- a/Assets/Scripts/Gameplay/ActionGameManager.cs +++ b/Assets/Scripts/Gameplay/ActionGameManager.cs @@ -81,6 +81,7 @@ public class ActionGameManager : MonoBehaviour [Header("Input Icons")] public Sprite ShiftIcon; public Sprite MouseLeftIcon; + public Sprite MouseRightIcon; public Sprite MouseMiddleIcon; [Header("Scene Links")] @@ -161,6 +162,9 @@ public class ActionGameManager : MonoBehaviour (float2(0, -1), "Rear") }; + private DragAction _dragAction; + private Action _endDragCallback; + public EntitySettings NewEntitySettings { get => MessagePackSerializer.Deserialize(MessagePackSerializer.Serialize(Settings.GameplaySettings.DefaultEntitySettings)); @@ -325,9 +329,36 @@ public class ActionGameManager : MonoBehaviour var action = new InputAction(binding: controlPath); _actionBarActions.Add(action); var slot = Instantiate(ActionBarSlot, ActionBar); + slot.Binding = null; _actionBarSlots.Add(slot); action.started += context => slot.Binding?.Activate(); action.canceled += context => slot.Binding?.Deactivate(); + + slot.PointerEnterTrigger.OnPointerEnterAsObservable().Subscribe(_ => + { + //Debug.Log($"Pointer entered action bar slot {controlPath}"); + RegisterDragTarget(dragAction => + { + //Debug.Log("Registering binding!"); + switch (dragAction) + { + case EquippedItemDragAction equippedItemDragAction: + break; + case ItemInstanceDragAction itemInstanceDragAction: + break; + case WeaponGroupDragAction weaponGroupDragAction: + slot.Binding = new ActionBarWeaponGroupBinding(CurrentEntity, slot, weaponGroupDragAction.Group); + break; + default: + throw new ArgumentOutOfRangeException(nameof(dragAction)); + } + }); + }); + slot.PointerExitTrigger.OnPointerExitAsObservable().Subscribe(_ => + { + //Debug.Log($"Pointer exited action bar slot {controlPath}"); + UnregisterDragTarget(); + }); return slot; } @@ -340,8 +371,7 @@ public class ActionGameManager : MonoBehaviour left.InputLabel.gameObject.SetActive(false); var right = createBinding("/rightButton"); - right.InputIcon.sprite = MouseLeftIcon; - right.InputIcon.transform.localScale = new Vector3(-1, 1, 1); + right.InputIcon.sprite = MouseRightIcon; right.InputLabel.gameObject.SetActive(false); var middle = createBinding("/middleButton"); @@ -467,6 +497,27 @@ public class ActionGameManager : MonoBehaviour }); } + public void BeginDrag(DragAction dragAction) + { + _dragAction = dragAction; + } + + public void RegisterDragTarget(Action onEndDrag) + { + _endDragCallback = onEndDrag; + } + + public void UnregisterDragTarget() + { + _endDragCallback = null; + } + + public void EndDrag() + { + _endDragCallback?.Invoke(_dragAction); + _dragAction = null; + } + public void EnablePlayerInput() { Input.Player.Enable(); @@ -1015,4 +1066,36 @@ public class ActionGameManager : MonoBehaviour } } } +} + +public abstract class DragAction{} + +public class WeaponGroupDragAction : DragAction +{ + public WeaponGroupDragAction(int group) + { + Group = group; + } + + public int Group { get; } +} + +public class ItemInstanceDragAction : DragAction +{ + public ItemInstanceDragAction(ItemInstance item) + { + Item = item; + } + + public ItemInstance Item { get; } +} + +public class EquippedItemDragAction : DragAction +{ + public EquippedItemDragAction(EquippedItem item) + { + Item = item; + } + + public EquippedItem Item { get; } } \ No newline at end of file diff --git a/Assets/Scripts/UI/PropertiesPanel.cs b/Assets/Scripts/UI/PropertiesPanel.cs index 272edbdcc..8ae518863 100644 --- a/Assets/Scripts/UI/PropertiesPanel.cs +++ b/Assets/Scripts/UI/PropertiesPanel.cs @@ -36,7 +36,10 @@ public class PropertiesPanel : MonoBehaviour public IncrementField IncrementField; public StatSheet StatSheet; public CurveField CurveField; + public WeaponGroupAssignment WeaponGroupAssignment; public RectTransform Content; + public RectTransform DragParent; + [HideInInspector] public FlatFlatButton SelectedChild; [HideInInspector] public ActionGameManager GameManager; @@ -45,6 +48,9 @@ public class PropertiesPanel : MonoBehaviour protected event Action RefreshPropertyValues; protected bool RadioSelection = false; + private RectTransform _dragObject; + + protected event Action OnPropertyAdded; protected Action OnPropertiesChanged; @@ -462,6 +468,33 @@ public class PropertiesPanel : MonoBehaviour AddItemProperties(item.EquippableItem); AddSpacer(); + + if (item.GetBehavior() != null) + { + var weaponGroups = Instantiate(WeaponGroupAssignment, Content ?? transform); + weaponGroups.Inspect(item); + var dragOffset = Vector2.zero; + Transform dragObject = null; + weaponGroups.OnBeginDragAsObservable().Subscribe(x => + { + //Debug.Log($"Began dragging weapon group {x.group}"); + GameManager.BeginDrag(new WeaponGroupDragAction(x.group)); + dragObject = Instantiate(weaponGroups.Groups[x.group], DragParent, true).transform; + dragOffset = (Vector2)dragObject.position - x.pointerEventData.position; + }); + weaponGroups.OnDragAsObservable().Subscribe(x => + { + dragObject.position = x.pointerEventData.position + dragOffset; + }); + weaponGroups.OnEndDragAsObservable().Subscribe(x => + { + //Debug.Log($"Ended dragging weapon group {x.group}"); + GameManager.EndDrag(); + Destroy(dragObject.gameObject); + }); + Properties.Add(weaponGroups.gameObject); + OnPropertyAdded?.Invoke(weaponGroups.gameObject); + } var gearData = GameManager.ItemManager.GetData(item.EquippableItem); var statusSheet = AddStatSheet(); diff --git a/Assets/Scripts/UI/WeaponGroupAssignment.cs b/Assets/Scripts/UI/WeaponGroupAssignment.cs new file mode 100644 index 000000000..536ac19af --- /dev/null +++ b/Assets/Scripts/UI/WeaponGroupAssignment.cs @@ -0,0 +1,65 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using UniRx; +using UnityEngine; +using UnityEngine.EventSystems; + +public class WeaponGroupAssignment : MonoBehaviour +{ + public RectTransform Container; + public WeaponGroupElement GroupPrefab; + public Color ActiveColor; + public Color InactiveColor; + + Subject<(PointerEventData pointerEventData, int group)> _onBeginDrag; + Subject<(PointerEventData pointerEventData, int group)> _onDrag; + Subject<(PointerEventData pointerEventData, int group)> _onEndDrag; + + public List Groups { get; } = new List(); + + public void Inspect(EquippedItem item) + { + var weapon = item.GetBehavior(); + if (weapon == null) throw new ArgumentException($"Attempted to inspect weapon groups on item \"{item.Data.Name}\" but no weapon is present!"); + var groupCount = ActionGameManager.Instance.Settings.GameplaySettings.TriggerGroupCount; + for (int i = 0; i < groupCount; i++) + { + var i1 = i; + bool groupContainsItem() => item.Entity.TriggerGroups[i1].items.Contains(item); + var group = Instantiate(GroupPrefab, Container); + Groups.Add(group); + group.Label.text = $"G{i+1}"; + group.Label.color = groupContainsItem() ? ActiveColor : InactiveColor; + group.Button.onClick.AddListener(() => + { + if (groupContainsItem()) + { + item.Entity.TriggerGroups[i1].items.Remove(item); + item.Entity.TriggerGroups[i1].weapons.Remove(weapon); + group.Label.color = InactiveColor; + } + else + { + item.Entity.TriggerGroups[i1].items.Add(item); + item.Entity.TriggerGroups[i1].weapons.Add(weapon); + group.Label.color = ActiveColor; + } + }); + + group.BeginDragTrigger.OnBeginDragAsObservable() + .Subscribe(data => _onBeginDrag?.OnNext((data, i1))); + group.DragTrigger.OnDragAsObservable() + .Subscribe(data => _onDrag?.OnNext((data, i1))); + group.EndDragTrigger.OnEndDragAsObservable() + .Subscribe(data => _onEndDrag?.OnNext((data, i1))); + } + } + + public UniRx.IObservable<(PointerEventData pointerEventData, int group)> OnBeginDragAsObservable() => + _onBeginDrag ?? (_onBeginDrag = new Subject<(PointerEventData pointerEventData, int group)>()); + public UniRx.IObservable<(PointerEventData pointerEventData, int group)> OnDragAsObservable() => + _onDrag ?? (_onDrag = new Subject<(PointerEventData pointerEventData, int group)>()); + public UniRx.IObservable<(PointerEventData pointerEventData, int group)> OnEndDragAsObservable() => + _onEndDrag ?? (_onEndDrag = new Subject<(PointerEventData pointerEventData, int group)>()); +} diff --git a/Assets/Scripts/UI/WeaponGroupAssignment.cs.meta b/Assets/Scripts/UI/WeaponGroupAssignment.cs.meta new file mode 100644 index 000000000..4ba983332 --- /dev/null +++ b/Assets/Scripts/UI/WeaponGroupAssignment.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b9b213fc96d20d848819b8159412680c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/UI/WeaponGroupElement.cs b/Assets/Scripts/UI/WeaponGroupElement.cs new file mode 100644 index 000000000..495267974 --- /dev/null +++ b/Assets/Scripts/UI/WeaponGroupElement.cs @@ -0,0 +1,15 @@ +using System.Collections; +using System.Collections.Generic; +using TMPro; +using UniRx.Triggers; +using UnityEngine; +using UnityEngine.UI; + +public class WeaponGroupElement : MonoBehaviour +{ + public TextMeshProUGUI Label; + public Button Button; + public ObservableBeginDragTrigger BeginDragTrigger; + public ObservableDragTrigger DragTrigger; + public ObservableEndDragTrigger EndDragTrigger; +} diff --git a/Assets/Scripts/UI/WeaponGroupElement.cs.meta b/Assets/Scripts/UI/WeaponGroupElement.cs.meta new file mode 100644 index 000000000..99c6e5e1b --- /dev/null +++ b/Assets/Scripts/UI/WeaponGroupElement.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 27f5673ad060b834489cad765159cb84 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/GameData/PlayerSettings.msgpack b/GameData/PlayerSettings.msgpack index b03ecd7d5..c76a1ccc0 100644 --- a/GameData/PlayerSettings.msgpack +++ b/GameData/PlayerSettings.msgpack @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:855065c2989064850795d1d60f37111d97f19aaaad1750c630ec940a58a7dc7c +oid sha256:0ac5d262fca3d766a88a6f5849db285f7b8d42cda04f747c9f36f562c85490b9 size 17318 diff --git a/UserSettings/EditorUserSettings.asset b/UserSettings/EditorUserSettings.asset index bc307be86..29995cccf 100644 --- a/UserSettings/EditorUserSettings.asset +++ b/UserSettings/EditorUserSettings.asset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:caf20eb516bc53f1774f3a147124ab3b7e9869c889cf6083eba3f4507444845a +oid sha256:ddf9f0c22847dc8893a39a7d9afc9b90b2fa13176fb5c4da0a1d8f16a85ee649 size 1699