Alexei #5
@ -33,6 +33,7 @@ RectTransform:
|
|||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 5903238893732464861}
|
- {fileID: 5903238893732464861}
|
||||||
- {fileID: 5903238893920995269}
|
- {fileID: 5903238893920995269}
|
||||||
|
- {fileID: 5909765210375931188}
|
||||||
m_Father: {fileID: 0}
|
m_Father: {fileID: 0}
|
||||||
m_RootOrder: 0
|
m_RootOrder: 0
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
@ -116,6 +117,7 @@ MonoBehaviour:
|
|||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
moveJoystick: {fileID: 5903238893732464856}
|
moveJoystick: {fileID: 5903238893732464856}
|
||||||
attackJoystick: {fileID: 5903238893920995264}
|
attackJoystick: {fileID: 5903238893920995264}
|
||||||
|
placeJoystick: {fileID: 5909765210375931185}
|
||||||
--- !u!1001 &2346010270301780417
|
--- !u!1001 &2346010270301780417
|
||||||
PrefabInstance:
|
PrefabInstance:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -171,7 +173,7 @@ PrefabInstance:
|
|||||||
- target: {fileID: 8170153791668043268, guid: 0d230cc8be529a542a08cb878ab14b18,
|
- target: {fileID: 8170153791668043268, guid: 0d230cc8be529a542a08cb878ab14b18,
|
||||||
type: 3}
|
type: 3}
|
||||||
propertyPath: m_SizeDelta.y
|
propertyPath: m_SizeDelta.y
|
||||||
value: -200
|
value: -600
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 8170153791668043268, guid: 0d230cc8be529a542a08cb878ab14b18,
|
- target: {fileID: 8170153791668043268, guid: 0d230cc8be529a542a08cb878ab14b18,
|
||||||
type: 3}
|
type: 3}
|
||||||
@ -226,7 +228,7 @@ PrefabInstance:
|
|||||||
- target: {fileID: 8170153791668043268, guid: 0d230cc8be529a542a08cb878ab14b18,
|
- target: {fileID: 8170153791668043268, guid: 0d230cc8be529a542a08cb878ab14b18,
|
||||||
type: 3}
|
type: 3}
|
||||||
propertyPath: m_AnchoredPosition.y
|
propertyPath: m_AnchoredPosition.y
|
||||||
value: 0
|
value: 400
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 8170153791668043268, guid: 0d230cc8be529a542a08cb878ab14b18,
|
- target: {fileID: 8170153791668043268, guid: 0d230cc8be529a542a08cb878ab14b18,
|
||||||
type: 3}
|
type: 3}
|
||||||
@ -365,7 +367,7 @@ PrefabInstance:
|
|||||||
- target: {fileID: 8170153791668043268, guid: 0d230cc8be529a542a08cb878ab14b18,
|
- target: {fileID: 8170153791668043268, guid: 0d230cc8be529a542a08cb878ab14b18,
|
||||||
type: 3}
|
type: 3}
|
||||||
propertyPath: m_SizeDelta.y
|
propertyPath: m_SizeDelta.y
|
||||||
value: -200
|
value: -600
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 8170153791668043268, guid: 0d230cc8be529a542a08cb878ab14b18,
|
- target: {fileID: 8170153791668043268, guid: 0d230cc8be529a542a08cb878ab14b18,
|
||||||
type: 3}
|
type: 3}
|
||||||
@ -410,7 +412,7 @@ PrefabInstance:
|
|||||||
- target: {fileID: 8170153791668043268, guid: 0d230cc8be529a542a08cb878ab14b18,
|
- target: {fileID: 8170153791668043268, guid: 0d230cc8be529a542a08cb878ab14b18,
|
||||||
type: 3}
|
type: 3}
|
||||||
propertyPath: m_AnchoredPosition.y
|
propertyPath: m_AnchoredPosition.y
|
||||||
value: 0
|
value: 400
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 8170153791668043268, guid: 0d230cc8be529a542a08cb878ab14b18,
|
- target: {fileID: 8170153791668043268, guid: 0d230cc8be529a542a08cb878ab14b18,
|
||||||
type: 3}
|
type: 3}
|
||||||
@ -477,3 +479,197 @@ MonoBehaviour:
|
|||||||
m_Script: {fileID: 11500000, guid: 7a47f546fc70ec8428172694e78e4288, type: 3}
|
m_Script: {fileID: 11500000, guid: 7a47f546fc70ec8428172694e78e4288, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
|
--- !u!1001 &2549463672493996848
|
||||||
|
PrefabInstance:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Modification:
|
||||||
|
m_TransformParent: {fileID: 2346010271288414180}
|
||||||
|
m_Modifications:
|
||||||
|
- target: {fileID: 8170153791668043265, guid: 0d230cc8be529a542a08cb878ab14b18,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: deadZone
|
||||||
|
value: 0.2
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 8170153791668043268, guid: 0d230cc8be529a542a08cb878ab14b18,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_Pivot.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 8170153791668043268, guid: 0d230cc8be529a542a08cb878ab14b18,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_Pivot.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 8170153791668043268, guid: 0d230cc8be529a542a08cb878ab14b18,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_RootOrder
|
||||||
|
value: 2
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 8170153791668043268, guid: 0d230cc8be529a542a08cb878ab14b18,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_AnchorMax.x
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 8170153791668043268, guid: 0d230cc8be529a542a08cb878ab14b18,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_AnchorMax.y
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 8170153791668043268, guid: 0d230cc8be529a542a08cb878ab14b18,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_AnchorMin.x
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 8170153791668043268, guid: 0d230cc8be529a542a08cb878ab14b18,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_AnchorMin.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 8170153791668043268, guid: 0d230cc8be529a542a08cb878ab14b18,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_SizeDelta.x
|
||||||
|
value: 400
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 8170153791668043268, guid: 0d230cc8be529a542a08cb878ab14b18,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_SizeDelta.y
|
||||||
|
value: -600
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 8170153791668043268, guid: 0d230cc8be529a542a08cb878ab14b18,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalScale.x
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 8170153791668043268, guid: 0d230cc8be529a542a08cb878ab14b18,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalScale.y
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 8170153791668043268, guid: 0d230cc8be529a542a08cb878ab14b18,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalPosition.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 8170153791668043268, guid: 0d230cc8be529a542a08cb878ab14b18,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalPosition.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 8170153791668043268, guid: 0d230cc8be529a542a08cb878ab14b18,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalPosition.z
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 8170153791668043268, guid: 0d230cc8be529a542a08cb878ab14b18,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalRotation.w
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 8170153791668043268, guid: 0d230cc8be529a542a08cb878ab14b18,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalRotation.x
|
||||||
|
value: -0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 8170153791668043268, guid: 0d230cc8be529a542a08cb878ab14b18,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalRotation.y
|
||||||
|
value: -0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 8170153791668043268, guid: 0d230cc8be529a542a08cb878ab14b18,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalRotation.z
|
||||||
|
value: -0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 8170153791668043268, guid: 0d230cc8be529a542a08cb878ab14b18,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_AnchoredPosition.x
|
||||||
|
value: -400
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 8170153791668043268, guid: 0d230cc8be529a542a08cb878ab14b18,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_AnchoredPosition.y
|
||||||
|
value: 400
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 8170153791668043268, guid: 0d230cc8be529a542a08cb878ab14b18,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 8170153791668043268, guid: 0d230cc8be529a542a08cb878ab14b18,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 8170153791668043268, guid: 0d230cc8be529a542a08cb878ab14b18,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.z
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 8170153791668043269, guid: 0d230cc8be529a542a08cb878ab14b18,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_Name
|
||||||
|
value: PlaceJoystic
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 8170153791961219456, guid: 0d230cc8be529a542a08cb878ab14b18,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_SizeDelta.x
|
||||||
|
value: 180
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 8170153791961219456, guid: 0d230cc8be529a542a08cb878ab14b18,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_SizeDelta.y
|
||||||
|
value: 180
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 8170153791961219459, guid: 0d230cc8be529a542a08cb878ab14b18,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_Sprite
|
||||||
|
value:
|
||||||
|
objectReference: {fileID: 21300000, guid: 271a63d73be51f64dbf31b6b20b0fcb2,
|
||||||
|
type: 3}
|
||||||
|
- target: {fileID: 8170153792821263252, guid: 0d230cc8be529a542a08cb878ab14b18,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_Sprite
|
||||||
|
value:
|
||||||
|
objectReference: {fileID: 21300000, guid: 2f51e0c9d4b837c419aab13bd3a5a8c9,
|
||||||
|
type: 3}
|
||||||
|
- target: {fileID: 8170153792821263258, guid: 0d230cc8be529a542a08cb878ab14b18,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_SizeDelta.x
|
||||||
|
value: 512
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 8170153792821263258, guid: 0d230cc8be529a542a08cb878ab14b18,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_SizeDelta.y
|
||||||
|
value: 512
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 8170153792821263258, guid: 0d230cc8be529a542a08cb878ab14b18,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_AnchoredPosition.x
|
||||||
|
value: 222
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 8170153792821263258, guid: 0d230cc8be529a542a08cb878ab14b18,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_AnchoredPosition.y
|
||||||
|
value: 140
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
m_RemovedComponents: []
|
||||||
|
m_SourcePrefab: {fileID: 100100000, guid: 0d230cc8be529a542a08cb878ab14b18, type: 3}
|
||||||
|
--- !u!224 &5909765210375931188 stripped
|
||||||
|
RectTransform:
|
||||||
|
m_CorrespondingSourceObject: {fileID: 8170153791668043268, guid: 0d230cc8be529a542a08cb878ab14b18,
|
||||||
|
type: 3}
|
||||||
|
m_PrefabInstance: {fileID: 2549463672493996848}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
--- !u!114 &5909765210375931185 stripped
|
||||||
|
MonoBehaviour:
|
||||||
|
m_CorrespondingSourceObject: {fileID: 8170153791668043265, guid: 0d230cc8be529a542a08cb878ab14b18,
|
||||||
|
type: 3}
|
||||||
|
m_PrefabInstance: {fileID: 2549463672493996848}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 0}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 7a47f546fc70ec8428172694e78e4288, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
179
Assets/Prefab/InventoryCanas.prefab
Normal file
@ -0,0 +1,179 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!1 &1967491301176557388
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 5757677100394197073}
|
||||||
|
- component: {fileID: 5200306858852700959}
|
||||||
|
- component: {fileID: 5828887965330480077}
|
||||||
|
- component: {fileID: 5815360006936303551}
|
||||||
|
- component: {fileID: 1527356263590969195}
|
||||||
|
m_Layer: 5
|
||||||
|
m_Name: InventoryCanas
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!224 &5757677100394197073
|
||||||
|
RectTransform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1967491301176557388}
|
||||||
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
|
m_LocalScale: {x: 0, y: 0, z: 0}
|
||||||
|
m_Children:
|
||||||
|
- {fileID: 2902167093541798520}
|
||||||
|
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, y: 0}
|
||||||
|
--- !u!223 &5200306858852700959
|
||||||
|
Canvas:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1967491301176557388}
|
||||||
|
m_Enabled: 1
|
||||||
|
serializedVersion: 3
|
||||||
|
m_RenderMode: 0
|
||||||
|
m_Camera: {fileID: 0}
|
||||||
|
m_PlaneDistance: 100
|
||||||
|
m_PixelPerfect: 0
|
||||||
|
m_ReceivesEvents: 1
|
||||||
|
m_OverrideSorting: 0
|
||||||
|
m_OverridePixelPerfect: 0
|
||||||
|
m_SortingBucketNormalizedSize: 0
|
||||||
|
m_AdditionalShaderChannelsFlag: 0
|
||||||
|
m_SortingLayerID: 0
|
||||||
|
m_SortingOrder: 0
|
||||||
|
m_TargetDisplay: 0
|
||||||
|
--- !u!114 &5828887965330480077
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1967491301176557388}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
m_UiScaleMode: 1
|
||||||
|
m_ReferencePixelsPerUnit: 100
|
||||||
|
m_ScaleFactor: 1
|
||||||
|
m_ReferenceResolution: {x: 1080, y: 1920}
|
||||||
|
m_ScreenMatchMode: 0
|
||||||
|
m_MatchWidthOrHeight: 0
|
||||||
|
m_PhysicalUnit: 3
|
||||||
|
m_FallbackScreenDPI: 96
|
||||||
|
m_DefaultSpriteDPI: 96
|
||||||
|
m_DynamicPixelsPerUnit: 1
|
||||||
|
m_PresetInfoIsWorld: 0
|
||||||
|
--- !u!114 &5815360006936303551
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1967491301176557388}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
m_IgnoreReversedGraphics: 1
|
||||||
|
m_BlockingObjects: 0
|
||||||
|
m_BlockingMask:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Bits: 4294967295
|
||||||
|
--- !u!114 &1527356263590969195
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1967491301176557388}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: e0b3f756d0c46044ca44448fe3582300, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
item: {fileID: 4221355843481402267, guid: da3203b630d1ce446b635338ac488223, type: 3}
|
||||||
|
grid: {fileID: 2902167093541798523}
|
||||||
|
--- !u!1 &2902167093541798523
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 2902167093541798520}
|
||||||
|
- component: {fileID: 2902167093541798521}
|
||||||
|
m_Layer: 5
|
||||||
|
m_Name: ItemGroup
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!224 &2902167093541798520
|
||||||
|
RectTransform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 2902167093541798523}
|
||||||
|
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: 5757677100394197073}
|
||||||
|
m_RootOrder: 0
|
||||||
|
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: 231}
|
||||||
|
m_SizeDelta: {x: 0, y: 228.46094}
|
||||||
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
|
--- !u!114 &2902167093541798521
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 2902167093541798523}
|
||||||
|
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: 4
|
||||||
|
m_Spacing: -180
|
||||||
|
m_ChildForceExpandWidth: 1
|
||||||
|
m_ChildForceExpandHeight: 1
|
||||||
|
m_ChildControlWidth: 0
|
||||||
|
m_ChildControlHeight: 0
|
||||||
|
m_ChildScaleWidth: 0
|
||||||
|
m_ChildScaleHeight: 0
|
||||||
|
m_ReverseArrangement: 0
|
@ -1,6 +1,6 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 9d1635b49ffb40046b1a26c6b196047e
|
guid: ff3bc3b17ddefd14eb798b22cf0a854f
|
||||||
DefaultImporter:
|
PrefabImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
userData:
|
userData:
|
||||||
assetBundleName:
|
assetBundleName:
|
198
Assets/Prefab/ItemView.prefab
Normal file
@ -0,0 +1,198 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!1 &4221355843481402267
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 4221355843481402266}
|
||||||
|
- component: {fileID: 4221355843481402340}
|
||||||
|
- component: {fileID: 4221355843481402341}
|
||||||
|
m_Layer: 5
|
||||||
|
m_Name: ItemView
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!224 &4221355843481402266
|
||||||
|
RectTransform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 4221355843481402267}
|
||||||
|
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: 4221355844459984379}
|
||||||
|
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: 405, y: 422}
|
||||||
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
|
--- !u!222 &4221355843481402340
|
||||||
|
CanvasRenderer:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 4221355843481402267}
|
||||||
|
m_CullTransparentMesh: 1
|
||||||
|
--- !u!114 &4221355843481402341
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 4221355843481402267}
|
||||||
|
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: 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_Sprite: {fileID: 21300000, guid: c965160d8643b4ceb8a96e344d4fe2ff, type: 3}
|
||||||
|
m_Type: 0
|
||||||
|
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 &4221355844459984376
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 4221355844459984379}
|
||||||
|
- component: {fileID: 4221355844459984324}
|
||||||
|
- component: {fileID: 4221355844459984325}
|
||||||
|
- component: {fileID: 4221355844459984378}
|
||||||
|
m_Layer: 5
|
||||||
|
m_Name: Item
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!224 &4221355844459984379
|
||||||
|
RectTransform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 4221355844459984376}
|
||||||
|
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: 4221355843481402266}
|
||||||
|
m_RootOrder: 0
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||||
|
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||||
|
m_AnchoredPosition: {x: 0, y: 0}
|
||||||
|
m_SizeDelta: {x: 208, y: 208}
|
||||||
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
|
--- !u!222 &4221355844459984324
|
||||||
|
CanvasRenderer:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 4221355844459984376}
|
||||||
|
m_CullTransparentMesh: 1
|
||||||
|
--- !u!114 &4221355844459984325
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 4221355844459984376}
|
||||||
|
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: 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_Sprite: {fileID: 21300000, guid: caf8bc0311dd2fc4ca1528a82a063754, type: 3}
|
||||||
|
m_Type: 0
|
||||||
|
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 &4221355844459984378
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 4221355844459984376}
|
||||||
|
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: 4221355844459984325}
|
||||||
|
m_OnClick:
|
||||||
|
m_PersistentCalls:
|
||||||
|
m_Calls: []
|
@ -1,6 +1,6 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 1923084fad99ff6459f09921ae54c76a
|
guid: da3203b630d1ce446b635338ac488223
|
||||||
DefaultImporter:
|
PrefabImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
userData:
|
userData:
|
||||||
assetBundleName:
|
assetBundleName:
|
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 84d861162f8d1ad49a87400ae042a3c6
|
guid: 89412f229cb2738409fadd58645601f8
|
||||||
folderAsset: yes
|
folderAsset: yes
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
126
Assets/Prefab/Items/Tower.prefab
Normal file
@ -0,0 +1,126 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!1 &4774919592469818776
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 5262522953580885794}
|
||||||
|
- component: {fileID: 9126517344989362311}
|
||||||
|
- component: {fileID: 6432002706622696525}
|
||||||
|
- component: {fileID: 8015579614070857994}
|
||||||
|
- component: {fileID: 5879628246065515362}
|
||||||
|
m_Layer: 0
|
||||||
|
m_Name: Tower
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!4 &5262522953580885794
|
||||||
|
Transform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 4774919592469818776}
|
||||||
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
|
m_LocalPosition: {x: -0, y: 0, z: 0}
|
||||||
|
m_LocalScale: {x: 0.3, y: 0.3, z: 0.3}
|
||||||
|
m_Children: []
|
||||||
|
m_Father: {fileID: 0}
|
||||||
|
m_RootOrder: 0
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
--- !u!33 &9126517344989362311
|
||||||
|
MeshFilter:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 4774919592469818776}
|
||||||
|
m_Mesh: {fileID: 688505742851261164, guid: a6c1d0254e365a4489cf81b74d608b43, type: 3}
|
||||||
|
--- !u!23 &6432002706622696525
|
||||||
|
MeshRenderer:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 4774919592469818776}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_CastShadows: 1
|
||||||
|
m_ReceiveShadows: 1
|
||||||
|
m_DynamicOccludee: 1
|
||||||
|
m_MotionVectors: 1
|
||||||
|
m_LightProbeUsage: 1
|
||||||
|
m_ReflectionProbeUsage: 1
|
||||||
|
m_RayTracingMode: 2
|
||||||
|
m_RayTraceProcedural: 0
|
||||||
|
m_RenderingLayerMask: 1
|
||||||
|
m_RendererPriority: 0
|
||||||
|
m_Materials:
|
||||||
|
- {fileID: 2100000, guid: 8720b7cac4364f14f961a3b6968c9beb, type: 2}
|
||||||
|
m_StaticBatchInfo:
|
||||||
|
firstSubMesh: 0
|
||||||
|
subMeshCount: 0
|
||||||
|
m_StaticBatchRoot: {fileID: 0}
|
||||||
|
m_ProbeAnchor: {fileID: 0}
|
||||||
|
m_LightProbeVolumeOverride: {fileID: 0}
|
||||||
|
m_ScaleInLightmap: 1
|
||||||
|
m_ReceiveGI: 1
|
||||||
|
m_PreserveUVs: 0
|
||||||
|
m_IgnoreNormalsForChartDetection: 0
|
||||||
|
m_ImportantGI: 0
|
||||||
|
m_StitchLightmapSeams: 1
|
||||||
|
m_SelectedEditorRenderState: 3
|
||||||
|
m_MinimumChartSize: 4
|
||||||
|
m_AutoUVMaxDistance: 0.5
|
||||||
|
m_AutoUVMaxAngle: 89
|
||||||
|
m_LightmapParameters: {fileID: 0}
|
||||||
|
m_SortingLayerID: 0
|
||||||
|
m_SortingLayer: 0
|
||||||
|
m_SortingOrder: 0
|
||||||
|
m_AdditionalVertexStreams: {fileID: 0}
|
||||||
|
--- !u!114 &8015579614070857994
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 4774919592469818776}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 5db196e1099b97246bde07a348189567, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
_weapon:
|
||||||
|
name: Tower
|
||||||
|
icon: {fileID: 4774919592469818776}
|
||||||
|
objectToThrow: {fileID: 4746165193704193263, guid: 4e7523811a052fd46acf941fc69c8c98,
|
||||||
|
type: 3}
|
||||||
|
VFXGameObject: {fileID: 2957420090356197408, guid: 5d1244f7b80cadd428a70173a01ce889,
|
||||||
|
type: 3}
|
||||||
|
manaCost: 0
|
||||||
|
damage: 10
|
||||||
|
speed: 10
|
||||||
|
disnatce: 10
|
||||||
|
reloadTime: 3
|
||||||
|
shots: 3
|
||||||
|
shotSound: {fileID: 8300000, guid: 9ea918c6c23577f4e885a8490d2f2046, type: 3}
|
||||||
|
hitSound: {fileID: 8300000, guid: 6c42231c18643dc4d9d8f8d15bc4735b, type: 3}
|
||||||
|
--- !u!136 &5879628246065515362
|
||||||
|
CapsuleCollider:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 4774919592469818776}
|
||||||
|
m_Material: {fileID: 0}
|
||||||
|
m_IsTrigger: 0
|
||||||
|
m_Enabled: 1
|
||||||
|
m_Radius: 31.906784
|
||||||
|
m_Height: 63.813572
|
||||||
|
m_Direction: 1
|
||||||
|
m_Center: {x: 0, y: 0, z: 0}
|
@ -1,7 +1,6 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 02c5b57c6632922478f72d4aefe978d7
|
guid: 0dbed8f974ba44a42af9d8fcae504ce0
|
||||||
folderAsset: yes
|
PrefabImporter:
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
userData:
|
userData:
|
||||||
assetBundleName:
|
assetBundleName:
|
@ -121,6 +121,81 @@ MonoBehaviour:
|
|||||||
m_OnClick:
|
m_OnClick:
|
||||||
m_PersistentCalls:
|
m_PersistentCalls:
|
||||||
m_Calls: []
|
m_Calls: []
|
||||||
|
--- !u!1 &494039357925796623
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 5782008322300722714}
|
||||||
|
- component: {fileID: 1469258782187354179}
|
||||||
|
- component: {fileID: 5578408981454814256}
|
||||||
|
m_Layer: 5
|
||||||
|
m_Name: Back
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!224 &5782008322300722714
|
||||||
|
RectTransform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 494039357925796623}
|
||||||
|
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: 7535381195931813741}
|
||||||
|
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: -300, y: -1900}
|
||||||
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
|
--- !u!222 &1469258782187354179
|
||||||
|
CanvasRenderer:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 494039357925796623}
|
||||||
|
m_CullTransparentMesh: 1
|
||||||
|
--- !u!114 &5578408981454814256
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 494039357925796623}
|
||||||
|
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: 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_Sprite: {fileID: 21300000, guid: d60ccf0feab112a4baa66853572c90ad, type: 3}
|
||||||
|
m_Type: 0
|
||||||
|
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 &4091650501197087819
|
--- !u!1 &4091650501197087819
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -1011,81 +1086,6 @@ MonoBehaviour:
|
|||||||
m_hasFontAssetChanged: 0
|
m_hasFontAssetChanged: 0
|
||||||
m_baseMaterial: {fileID: 0}
|
m_baseMaterial: {fileID: 0}
|
||||||
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
|
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
|
||||||
--- !u!1 &5443873379656075396
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 5855551985023584753}
|
|
||||||
- component: {fileID: 3505714345849204007}
|
|
||||||
- component: {fileID: 6130419704230661871}
|
|
||||||
m_Layer: 5
|
|
||||||
m_Name: Back
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!224 &5855551985023584753
|
|
||||||
RectTransform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 5443873379656075396}
|
|
||||||
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: 7535381195931813741}
|
|
||||||
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: 1670}
|
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
|
||||||
--- !u!222 &3505714345849204007
|
|
||||||
CanvasRenderer:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 5443873379656075396}
|
|
||||||
m_CullTransparentMesh: 1
|
|
||||||
--- !u!114 &6130419704230661871
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 5443873379656075396}
|
|
||||||
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, g: 0, b: 0, a: 0.14117648}
|
|
||||||
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: 0}
|
|
||||||
m_Type: 0
|
|
||||||
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 &6038652171774885714
|
--- !u!1 &6038652171774885714
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -1115,7 +1115,7 @@ RectTransform:
|
|||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
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_Children:
|
||||||
- {fileID: 5855551985023584753}
|
- {fileID: 5782008322300722714}
|
||||||
- {fileID: 5093098141183363274}
|
- {fileID: 5093098141183363274}
|
||||||
- {fileID: 5296751824509684347}
|
- {fileID: 5296751824509684347}
|
||||||
- {fileID: 5296751824694007057}
|
- {fileID: 5296751824694007057}
|
||||||
@ -1123,10 +1123,10 @@ RectTransform:
|
|||||||
m_Father: {fileID: 5296751824488078437}
|
m_Father: {fileID: 5296751824488078437}
|
||||||
m_RootOrder: 1
|
m_RootOrder: 1
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 0.5}
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
m_AnchorMax: {x: 1, y: 0.5}
|
m_AnchorMax: {x: 1, y: 1}
|
||||||
m_AnchoredPosition: {x: 0, y: 0}
|
m_AnchoredPosition: {x: 0, y: 0}
|
||||||
m_SizeDelta: {x: 0, y: 250}
|
m_SizeDelta: {x: 0, y: 0}
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
--- !u!222 &4147596718370382769
|
--- !u!222 &4147596718370382769
|
||||||
CanvasRenderer:
|
CanvasRenderer:
|
||||||
@ -1149,14 +1149,14 @@ MonoBehaviour:
|
|||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
m_Material: {fileID: 0}
|
m_Material: {fileID: 0}
|
||||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
m_Color: {r: 0, g: 0, b: 0, a: 0.14901961}
|
||||||
m_RaycastTarget: 1
|
m_RaycastTarget: 1
|
||||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||||
m_Maskable: 1
|
m_Maskable: 1
|
||||||
m_OnCullStateChanged:
|
m_OnCullStateChanged:
|
||||||
m_PersistentCalls:
|
m_PersistentCalls:
|
||||||
m_Calls: []
|
m_Calls: []
|
||||||
m_Sprite: {fileID: 21300000, guid: d60ccf0feab112a4baa66853572c90ad, type: 3}
|
m_Sprite: {fileID: 0}
|
||||||
m_Type: 0
|
m_Type: 0
|
||||||
m_PreserveAspect: 0
|
m_PreserveAspect: 0
|
||||||
m_FillCenter: 1
|
m_FillCenter: 1
|
||||||
|
3
Assets/Resources/1/Pillar 01.FBX
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:37ff580b2ac54350270f8fdd11d105d68b35b02b990899ad64863f566bed2e4d
|
||||||
|
size 182837
|
102
Assets/Resources/1/Pillar 01.FBX.meta
Normal file
@ -0,0 +1,102 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: a6c1d0254e365a4489cf81b74d608b43
|
||||||
|
ModelImporter:
|
||||||
|
serializedVersion: 20200
|
||||||
|
internalIDToNameTable: []
|
||||||
|
externalObjects: {}
|
||||||
|
materials:
|
||||||
|
materialImportMode: 2
|
||||||
|
materialName: 0
|
||||||
|
materialSearch: 1
|
||||||
|
materialLocation: 1
|
||||||
|
animations:
|
||||||
|
legacyGenerateAnimations: 4
|
||||||
|
bakeSimulation: 0
|
||||||
|
resampleCurves: 1
|
||||||
|
optimizeGameObjects: 0
|
||||||
|
motionNodeName:
|
||||||
|
rigImportErrors:
|
||||||
|
rigImportWarnings:
|
||||||
|
animationImportErrors:
|
||||||
|
animationImportWarnings:
|
||||||
|
animationRetargetingWarnings:
|
||||||
|
animationDoRetargetingWarnings: 0
|
||||||
|
importAnimatedCustomProperties: 0
|
||||||
|
importConstraints: 0
|
||||||
|
animationCompression: 1
|
||||||
|
animationRotationError: 0.5
|
||||||
|
animationPositionError: 0.5
|
||||||
|
animationScaleError: 0.5
|
||||||
|
animationWrapMode: 0
|
||||||
|
extraExposedTransformPaths: []
|
||||||
|
extraUserProperties: []
|
||||||
|
clipAnimations: []
|
||||||
|
isReadable: 0
|
||||||
|
meshes:
|
||||||
|
lODScreenPercentages: []
|
||||||
|
globalScale: 1
|
||||||
|
meshCompression: 0
|
||||||
|
addColliders: 0
|
||||||
|
useSRGBMaterialColor: 1
|
||||||
|
sortHierarchyByName: 1
|
||||||
|
importVisibility: 1
|
||||||
|
importBlendShapes: 1
|
||||||
|
importCameras: 1
|
||||||
|
importLights: 1
|
||||||
|
fileIdsGeneration: 2
|
||||||
|
swapUVChannels: 0
|
||||||
|
generateSecondaryUV: 0
|
||||||
|
useFileUnits: 1
|
||||||
|
keepQuads: 0
|
||||||
|
weldVertices: 1
|
||||||
|
bakeAxisConversion: 0
|
||||||
|
preserveHierarchy: 0
|
||||||
|
skinWeightsMode: 0
|
||||||
|
maxBonesPerVertex: 4
|
||||||
|
minBoneWeight: 0.001
|
||||||
|
meshOptimizationFlags: -1
|
||||||
|
indexFormat: 0
|
||||||
|
secondaryUVAngleDistortion: 8
|
||||||
|
secondaryUVAreaDistortion: 15.000001
|
||||||
|
secondaryUVHardAngle: 88
|
||||||
|
secondaryUVMarginMethod: 1
|
||||||
|
secondaryUVMinLightmapResolution: 40
|
||||||
|
secondaryUVMinObjectScale: 1
|
||||||
|
secondaryUVPackMargin: 4
|
||||||
|
useFileScale: 1
|
||||||
|
tangentSpace:
|
||||||
|
normalSmoothAngle: 60
|
||||||
|
normalImportMode: 0
|
||||||
|
tangentImportMode: 3
|
||||||
|
normalCalculationMode: 4
|
||||||
|
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
|
||||||
|
blendShapeNormalImportMode: 1
|
||||||
|
normalSmoothingSource: 0
|
||||||
|
referencedClips: []
|
||||||
|
importAnimation: 1
|
||||||
|
humanDescription:
|
||||||
|
serializedVersion: 3
|
||||||
|
human: []
|
||||||
|
skeleton: []
|
||||||
|
armTwist: 0.5
|
||||||
|
foreArmTwist: 0.5
|
||||||
|
upperLegTwist: 0.5
|
||||||
|
legTwist: 0.5
|
||||||
|
armStretch: 0.05
|
||||||
|
legStretch: 0.05
|
||||||
|
feetSpacing: 0
|
||||||
|
globalScale: 1
|
||||||
|
rootMotionBoneName:
|
||||||
|
hasTranslationDoF: 0
|
||||||
|
hasExtraRoot: 0
|
||||||
|
skeletonHasParents: 1
|
||||||
|
lastHumanDescriptionAvatarSource: {instanceID: 0}
|
||||||
|
autoGenerateAvatarMappingIfUnspecified: 1
|
||||||
|
animationType: 2
|
||||||
|
humanoidOversampling: 1
|
||||||
|
avatarSetup: 0
|
||||||
|
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
|
||||||
|
additionalBone: 0
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 130 B |
Before Width: | Height: | Size: 4.1 KiB After Width: | Height: | Size: 129 B |
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 130 B |
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 130 B |
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 129 B |
Before Width: | Height: | Size: 39 KiB After Width: | Height: | Size: 130 B |
Before Width: | Height: | Size: 235 KiB After Width: | Height: | Size: 131 B |
Before Width: | Height: | Size: 6.6 KiB After Width: | Height: | Size: 129 B |
Before Width: | Height: | Size: 232 KiB After Width: | Height: | Size: 131 B |
Before Width: | Height: | Size: 9.2 KiB After Width: | Height: | Size: 129 B |
Before Width: | Height: | Size: 6.3 KiB After Width: | Height: | Size: 129 B |
Before Width: | Height: | Size: 5.6 KiB After Width: | Height: | Size: 129 B |
Before Width: | Height: | Size: 5.5 KiB After Width: | Height: | Size: 129 B |
Before Width: | Height: | Size: 6.0 KiB After Width: | Height: | Size: 129 B |
Before Width: | Height: | Size: 5.8 KiB After Width: | Height: | Size: 129 B |
Before Width: | Height: | Size: 6.2 KiB After Width: | Height: | Size: 129 B |
Before Width: | Height: | Size: 6.1 KiB After Width: | Height: | Size: 129 B |
Before Width: | Height: | Size: 6.3 KiB After Width: | Height: | Size: 129 B |
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 130 B |
Before Width: | Height: | Size: 6.6 KiB After Width: | Height: | Size: 129 B |
Before Width: | Height: | Size: 6.3 KiB After Width: | Height: | Size: 129 B |
Before Width: | Height: | Size: 5.9 KiB After Width: | Height: | Size: 129 B |
Before Width: | Height: | Size: 6.6 KiB After Width: | Height: | Size: 129 B |
Before Width: | Height: | Size: 39 KiB After Width: | Height: | Size: 130 B |
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 130 B |
@ -12,5 +12,5 @@ MonoBehaviour:
|
|||||||
m_Script: {fileID: 11500000, guid: 83b1020f31bf45569f5af6c77fc77d4e, type: 3}
|
m_Script: {fileID: 11500000, guid: 83b1020f31bf45569f5af6c77fc77d4e, type: 3}
|
||||||
m_Name: CameraData
|
m_Name: CameraData
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
offset: {x: 0, y: 25, z: -10}
|
offset: {x: 0, y: 20, z: -10}
|
||||||
smoothSpeed: 2
|
smoothSpeed: 2
|
||||||
|
@ -18,4 +18,5 @@ MonoBehaviour:
|
|||||||
weaponDataPath: WeaponsData
|
weaponDataPath: WeaponsData
|
||||||
uiDataPath: UIData
|
uiDataPath: UIData
|
||||||
musicDataPath: MusicData
|
musicDataPath: MusicData
|
||||||
|
itemDataPath: ItemData
|
||||||
chosenWeaponDataPath: ChosenWeapon.json
|
chosenWeaponDataPath: ChosenWeapon.json
|
||||||
|
@ -14,8 +14,6 @@ MonoBehaviour:
|
|||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
width: 25
|
width: 25
|
||||||
height: 50
|
height: 50
|
||||||
defaultColor: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
touchedColor: {r: 1, g: 0, b: 1, a: 1}
|
|
||||||
hexCaptureManaCost: 10
|
hexCaptureManaCost: 10
|
||||||
cellPrefab: {fileID: 1661242500252451528, guid: bcea5b4a96735bd4b936f8f3fefcc688,
|
cellPrefab: {fileID: 1661242500252451528, guid: bcea5b4a96735bd4b936f8f3fefcc688,
|
||||||
type: 3}
|
type: 3}
|
||||||
@ -23,24 +21,28 @@ MonoBehaviour:
|
|||||||
type: 3}
|
type: 3}
|
||||||
CoordinatesCanvas: {fileID: 4726489279989878083, guid: f31e0880dd078104bb31dc0fd7ef9f19,
|
CoordinatesCanvas: {fileID: 4726489279989878083, guid: f31e0880dd078104bb31dc0fd7ef9f19,
|
||||||
type: 3}
|
type: 3}
|
||||||
DefaultTexture: {fileID: 2800000, guid: 983242f4b4db7a841af48234cf0021b8, type: 3}
|
|
||||||
colors:
|
colors:
|
||||||
- _unitColor: 2
|
- _unitColor: 2
|
||||||
_texture: {fileID: 2800000, guid: 983242f4b4db7a841af48234cf0021b8, type: 3}
|
_texture: {fileID: 2800000, guid: 983242f4b4db7a841af48234cf0021b8, type: 3}
|
||||||
_vfxPrefab: {fileID: 0}
|
_vfxPrefab: {fileID: 0}
|
||||||
|
_buildinTexture: {fileID: 0}
|
||||||
- _unitColor: 0
|
- _unitColor: 0
|
||||||
_texture: {fileID: 2800000, guid: 0298dfcb0756f534a9a125d510461c7a, type: 3}
|
_texture: {fileID: 2800000, guid: 0298dfcb0756f534a9a125d510461c7a, type: 3}
|
||||||
_vfxPrefab: {fileID: 8021195855904498788, guid: 2f6d0540c8fd7bb46b356ff86962379c,
|
_vfxPrefab: {fileID: 8021195855904498788, guid: 2f6d0540c8fd7bb46b356ff86962379c,
|
||||||
type: 3}
|
type: 3}
|
||||||
|
_buildinTexture: {fileID: 2800000, guid: 0298dfcb0756f534a9a125d510461c7a, type: 3}
|
||||||
- _unitColor: 1
|
- _unitColor: 1
|
||||||
_texture: {fileID: 2800000, guid: 3b75368df991b164583e8cede390e24e, type: 3}
|
_texture: {fileID: 2800000, guid: 3b75368df991b164583e8cede390e24e, type: 3}
|
||||||
_vfxPrefab: {fileID: 442387583353148024, guid: 53959bc898e9a644daad0282881d596a,
|
_vfxPrefab: {fileID: 442387583353148024, guid: 53959bc898e9a644daad0282881d596a,
|
||||||
type: 3}
|
type: 3}
|
||||||
|
_buildinTexture: {fileID: 2800000, guid: 3b75368df991b164583e8cede390e24e, type: 3}
|
||||||
- _unitColor: 3
|
- _unitColor: 3
|
||||||
_texture: {fileID: 2800000, guid: 1a76a79d5a83143479c76f4f37c4b896, type: 3}
|
_texture: {fileID: 2800000, guid: 1a76a79d5a83143479c76f4f37c4b896, type: 3}
|
||||||
_vfxPrefab: {fileID: 5732852186060375560, guid: 54d847a18c62f57479c53469d4398ceb,
|
_vfxPrefab: {fileID: 5732852186060375560, guid: 54d847a18c62f57479c53469d4398ceb,
|
||||||
type: 3}
|
type: 3}
|
||||||
|
_buildinTexture: {fileID: 2800000, guid: 1a76a79d5a83143479c76f4f37c4b896, type: 3}
|
||||||
- _unitColor: 4
|
- _unitColor: 4
|
||||||
_texture: {fileID: 2800000, guid: 779719648deedb4478ddebb3b81751ef, type: 3}
|
_texture: {fileID: 2800000, guid: 779719648deedb4478ddebb3b81751ef, type: 3}
|
||||||
_vfxPrefab: {fileID: 1651852338557341938, guid: fa6c1fc3da7c8d24c85a88b00cf598d4,
|
_vfxPrefab: {fileID: 1651852338557341938, guid: fa6c1fc3da7c8d24c85a88b00cf598d4,
|
||||||
type: 3}
|
type: 3}
|
||||||
|
_buildinTexture: {fileID: 2800000, guid: 779719648deedb4478ddebb3b81751ef, type: 3}
|
||||||
|
38
Assets/Resources/Data/ItemData.asset
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!114 &11400000
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 0}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: effbc11b6ae8444c8d20e929ce28183e, type: 3}
|
||||||
|
m_Name: ItemData
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
itemInfos:
|
||||||
|
- prefab: {fileID: 919132149155446097, guid: 4166c606d638610418dc9ead794d697b, type: 3}
|
||||||
|
isInstantUse: 0
|
||||||
|
type: Tower
|
||||||
|
icon: {fileID: 21300000, guid: 543c4732bd2d47a41bdbbf2156eb358c, type: 3}
|
||||||
|
spawnablePrefab: {fileID: 4774919592469818776, guid: 0dbed8f974ba44a42af9d8fcae504ce0,
|
||||||
|
type: 3}
|
||||||
|
values:
|
||||||
|
- prefab: {fileID: 3197816592181874056, guid: 2704c4f795b0d7748a3e3fa53be4d893,
|
||||||
|
type: 3}
|
||||||
|
isInstantUse: 1
|
||||||
|
type: AttackBonus
|
||||||
|
icon: {fileID: 21300000, guid: caf8bc0311dd2fc4ca1528a82a063754, type: 3}
|
||||||
|
spawnablePrefab: {fileID: 0}
|
||||||
|
values: 030000000f000000
|
||||||
|
- prefab: {fileID: 8639522512577941448, guid: 7b6a7f64e52da514d88aa97ad8f863df,
|
||||||
|
type: 3}
|
||||||
|
isInstantUse: 1
|
||||||
|
type: DefenceBonus
|
||||||
|
icon: {fileID: 21300000, guid: 35be128594dcdce48b5d8e5317b38ed9, type: 3}
|
||||||
|
spawnablePrefab: {fileID: 0}
|
||||||
|
values: 0a0000001e000000
|
||||||
|
fromTimeSpawn: 3
|
||||||
|
toTimeSpawn: 10
|
@ -1,8 +1,8 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: d025c6b2800003849830ede3e207eb4a
|
guid: 61b36bbea9deaf3429a93f65e1bdb53e
|
||||||
folderAsset: yes
|
NativeFormatImporter:
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 11400000
|
||||||
userData:
|
userData:
|
||||||
assetBundleName:
|
assetBundleName:
|
||||||
assetBundleVariant:
|
assetBundleVariant:
|
@ -15,5 +15,3 @@ MonoBehaviour:
|
|||||||
levels:
|
levels:
|
||||||
- sceneName: Level 1
|
- sceneName: Level 1
|
||||||
levelSprite: {fileID: 21300000, guid: 8bc240b354e7722408178bdcb1bf7b56, type: 3}
|
levelSprite: {fileID: 21300000, guid: 8bc240b354e7722408178bdcb1bf7b56, type: 3}
|
||||||
- sceneName: Level 2
|
|
||||||
levelSprite: {fileID: 21300000, guid: 426478b073313244bbe84d3ec1cafa64, type: 3}
|
|
||||||
|
@ -17,3 +17,5 @@ MonoBehaviour:
|
|||||||
- {fileID: 5296751824488078361, guid: 7305318dc10267546b643a42c7c21af3, type: 3}
|
- {fileID: 5296751824488078361, guid: 7305318dc10267546b643a42c7c21af3, type: 3}
|
||||||
joystickView: {fileID: 4385872142190176059, guid: 4df6913b39f4979429158c344680d83f,
|
joystickView: {fileID: 4385872142190176059, guid: 4df6913b39f4979429158c344680d83f,
|
||||||
type: 3}
|
type: 3}
|
||||||
|
inventoryView: {fileID: 1527356263590969195, guid: ff3bc3b17ddefd14eb798b22cf0a854f,
|
||||||
|
type: 3}
|
||||||
|
@ -23,6 +23,7 @@ MonoBehaviour:
|
|||||||
manaRegen: 5
|
manaRegen: 5
|
||||||
maxMana: 100
|
maxMana: 100
|
||||||
maxHP: 100
|
maxHP: 100
|
||||||
|
inventoryCapacity: 4
|
||||||
- isPlayer: 0
|
- isPlayer: 0
|
||||||
spawnPos:
|
spawnPos:
|
||||||
x: 3
|
x: 3
|
||||||
@ -33,6 +34,7 @@ MonoBehaviour:
|
|||||||
manaRegen: 10
|
manaRegen: 10
|
||||||
maxMana: 100
|
maxMana: 100
|
||||||
maxHP: 100
|
maxHP: 100
|
||||||
|
inventoryCapacity: 4
|
||||||
- isPlayer: 0
|
- isPlayer: 0
|
||||||
spawnPos:
|
spawnPos:
|
||||||
x: 3
|
x: 3
|
||||||
@ -43,3 +45,4 @@ MonoBehaviour:
|
|||||||
manaRegen: 10
|
manaRegen: 10
|
||||||
maxMana: 100
|
maxMana: 100
|
||||||
maxHP: 100
|
maxHP: 100
|
||||||
|
inventoryCapacity: 4
|
||||||
|
@ -267,8 +267,8 @@ Camera:
|
|||||||
near clip plane: 0.3
|
near clip plane: 0.3
|
||||||
far clip plane: 1000
|
far clip plane: 1000
|
||||||
field of view: 60
|
field of view: 60
|
||||||
orthographic: 0
|
orthographic: 1
|
||||||
orthographic size: 5
|
orthographic size: 12
|
||||||
m_Depth: -1
|
m_Depth: -1
|
||||||
m_CullingMask:
|
m_CullingMask:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
@ -365,7 +365,7 @@ MonoBehaviour:
|
|||||||
m_Script: {fileID: 11500000, guid: ac42f823a8de86b4d8175e8025500660, type: 3}
|
m_Script: {fileID: 11500000, guid: ac42f823a8de86b4d8175e8025500660, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
duration: 3
|
duration: 1
|
||||||
--- !u!114 &1475618471
|
--- !u!114 &1475618471
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
@ -1,301 +0,0 @@
|
|||||||
%YAML 1.1
|
|
||||||
%TAG !u! tag:unity3d.com,2011:
|
|
||||||
--- !u!29 &1
|
|
||||||
OcclusionCullingSettings:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
serializedVersion: 2
|
|
||||||
m_OcclusionBakeSettings:
|
|
||||||
smallestOccluder: 5
|
|
||||||
smallestHole: 0.25
|
|
||||||
backfaceThreshold: 100
|
|
||||||
m_SceneGUID: 00000000000000000000000000000000
|
|
||||||
m_OcclusionCullingData: {fileID: 0}
|
|
||||||
--- !u!104 &2
|
|
||||||
RenderSettings:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
serializedVersion: 9
|
|
||||||
m_Fog: 0
|
|
||||||
m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
|
|
||||||
m_FogMode: 3
|
|
||||||
m_FogDensity: 0.01
|
|
||||||
m_LinearFogStart: 0
|
|
||||||
m_LinearFogEnd: 300
|
|
||||||
m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
|
|
||||||
m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
|
|
||||||
m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
|
|
||||||
m_AmbientIntensity: 1
|
|
||||||
m_AmbientMode: 0
|
|
||||||
m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
|
|
||||||
m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
|
|
||||||
m_HaloStrength: 0.5
|
|
||||||
m_FlareStrength: 1
|
|
||||||
m_FlareFadeSpeed: 3
|
|
||||||
m_HaloTexture: {fileID: 0}
|
|
||||||
m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
|
|
||||||
m_DefaultReflectionMode: 0
|
|
||||||
m_DefaultReflectionResolution: 128
|
|
||||||
m_ReflectionBounces: 1
|
|
||||||
m_ReflectionIntensity: 1
|
|
||||||
m_CustomReflection: {fileID: 0}
|
|
||||||
m_Sun: {fileID: 0}
|
|
||||||
m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1}
|
|
||||||
m_UseRadianceAmbientProbe: 0
|
|
||||||
--- !u!157 &3
|
|
||||||
LightmapSettings:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
serializedVersion: 12
|
|
||||||
m_GIWorkflowMode: 1
|
|
||||||
m_GISettings:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_BounceScale: 1
|
|
||||||
m_IndirectOutputScale: 1
|
|
||||||
m_AlbedoBoost: 1
|
|
||||||
m_EnvironmentLightingMode: 0
|
|
||||||
m_EnableBakedLightmaps: 1
|
|
||||||
m_EnableRealtimeLightmaps: 0
|
|
||||||
m_LightmapEditorSettings:
|
|
||||||
serializedVersion: 12
|
|
||||||
m_Resolution: 2
|
|
||||||
m_BakeResolution: 40
|
|
||||||
m_AtlasSize: 1024
|
|
||||||
m_AO: 0
|
|
||||||
m_AOMaxDistance: 1
|
|
||||||
m_CompAOExponent: 1
|
|
||||||
m_CompAOExponentDirect: 0
|
|
||||||
m_ExtractAmbientOcclusion: 0
|
|
||||||
m_Padding: 2
|
|
||||||
m_LightmapParameters: {fileID: 0}
|
|
||||||
m_LightmapsBakeMode: 1
|
|
||||||
m_TextureCompression: 1
|
|
||||||
m_FinalGather: 0
|
|
||||||
m_FinalGatherFiltering: 1
|
|
||||||
m_FinalGatherRayCount: 256
|
|
||||||
m_ReflectionCompression: 2
|
|
||||||
m_MixedBakeMode: 2
|
|
||||||
m_BakeBackend: 1
|
|
||||||
m_PVRSampling: 1
|
|
||||||
m_PVRDirectSampleCount: 32
|
|
||||||
m_PVRSampleCount: 512
|
|
||||||
m_PVRBounces: 2
|
|
||||||
m_PVREnvironmentSampleCount: 256
|
|
||||||
m_PVREnvironmentReferencePointCount: 2048
|
|
||||||
m_PVRFilteringMode: 1
|
|
||||||
m_PVRDenoiserTypeDirect: 1
|
|
||||||
m_PVRDenoiserTypeIndirect: 1
|
|
||||||
m_PVRDenoiserTypeAO: 1
|
|
||||||
m_PVRFilterTypeDirect: 0
|
|
||||||
m_PVRFilterTypeIndirect: 0
|
|
||||||
m_PVRFilterTypeAO: 0
|
|
||||||
m_PVREnvironmentMIS: 1
|
|
||||||
m_PVRCulling: 1
|
|
||||||
m_PVRFilteringGaussRadiusDirect: 1
|
|
||||||
m_PVRFilteringGaussRadiusIndirect: 5
|
|
||||||
m_PVRFilteringGaussRadiusAO: 2
|
|
||||||
m_PVRFilteringAtrousPositionSigmaDirect: 0.5
|
|
||||||
m_PVRFilteringAtrousPositionSigmaIndirect: 2
|
|
||||||
m_PVRFilteringAtrousPositionSigmaAO: 1
|
|
||||||
m_ExportTrainingData: 0
|
|
||||||
m_TrainingDataDestination: TrainingData
|
|
||||||
m_LightProbeSampleCountMultiplier: 4
|
|
||||||
m_LightingDataAsset: {fileID: 0}
|
|
||||||
m_LightingSettings: {fileID: 0}
|
|
||||||
--- !u!196 &4
|
|
||||||
NavMeshSettings:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_BuildSettings:
|
|
||||||
serializedVersion: 2
|
|
||||||
agentTypeID: 0
|
|
||||||
agentRadius: 0.5
|
|
||||||
agentHeight: 2
|
|
||||||
agentSlope: 45
|
|
||||||
agentClimb: 0.4
|
|
||||||
ledgeDropHeight: 0
|
|
||||||
maxJumpAcrossDistance: 0
|
|
||||||
minRegionArea: 2
|
|
||||||
manualCellSize: 0
|
|
||||||
cellSize: 0.16666667
|
|
||||||
manualTileSize: 0
|
|
||||||
tileSize: 256
|
|
||||||
accuratePlacement: 0
|
|
||||||
maxJobWorkers: 0
|
|
||||||
preserveTilesOutsideBounds: 0
|
|
||||||
debug:
|
|
||||||
m_Flags: 0
|
|
||||||
m_NavMeshData: {fileID: 0}
|
|
||||||
--- !u!1 &10396146
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 10396148}
|
|
||||||
- component: {fileID: 10396147}
|
|
||||||
m_Layer: 0
|
|
||||||
m_Name: Directional Light
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!108 &10396147
|
|
||||||
Light:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 10396146}
|
|
||||||
m_Enabled: 1
|
|
||||||
serializedVersion: 10
|
|
||||||
m_Type: 1
|
|
||||||
m_Shape: 0
|
|
||||||
m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1}
|
|
||||||
m_Intensity: 1
|
|
||||||
m_Range: 10
|
|
||||||
m_SpotAngle: 30
|
|
||||||
m_InnerSpotAngle: 21.80208
|
|
||||||
m_CookieSize: 10
|
|
||||||
m_Shadows:
|
|
||||||
m_Type: 2
|
|
||||||
m_Resolution: -1
|
|
||||||
m_CustomResolution: -1
|
|
||||||
m_Strength: 1
|
|
||||||
m_Bias: 0.05
|
|
||||||
m_NormalBias: 0.4
|
|
||||||
m_NearPlane: 0.2
|
|
||||||
m_CullingMatrixOverride:
|
|
||||||
e00: 1
|
|
||||||
e01: 0
|
|
||||||
e02: 0
|
|
||||||
e03: 0
|
|
||||||
e10: 0
|
|
||||||
e11: 1
|
|
||||||
e12: 0
|
|
||||||
e13: 0
|
|
||||||
e20: 0
|
|
||||||
e21: 0
|
|
||||||
e22: 1
|
|
||||||
e23: 0
|
|
||||||
e30: 0
|
|
||||||
e31: 0
|
|
||||||
e32: 0
|
|
||||||
e33: 1
|
|
||||||
m_UseCullingMatrixOverride: 0
|
|
||||||
m_Cookie: {fileID: 0}
|
|
||||||
m_DrawHalo: 0
|
|
||||||
m_Flare: {fileID: 0}
|
|
||||||
m_RenderMode: 0
|
|
||||||
m_CullingMask:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 4294967295
|
|
||||||
m_RenderingLayerMask: 1
|
|
||||||
m_Lightmapping: 4
|
|
||||||
m_LightShadowCasterMode: 0
|
|
||||||
m_AreaSize: {x: 1, y: 1}
|
|
||||||
m_BounceIntensity: 1
|
|
||||||
m_ColorTemperature: 6570
|
|
||||||
m_UseColorTemperature: 0
|
|
||||||
m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0}
|
|
||||||
m_UseBoundingSphereOverride: 0
|
|
||||||
m_UseViewFrustumForShadowCasterCull: 1
|
|
||||||
m_ShadowRadius: 0
|
|
||||||
m_ShadowAngle: 0
|
|
||||||
--- !u!4 &10396148
|
|
||||||
Transform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 10396146}
|
|
||||||
m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261}
|
|
||||||
m_LocalPosition: {x: 0, y: 3, z: 0}
|
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
|
||||||
m_Children: []
|
|
||||||
m_Father: {fileID: 0}
|
|
||||||
m_RootOrder: 1
|
|
||||||
m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
|
|
||||||
--- !u!1 &830688629
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 830688632}
|
|
||||||
- component: {fileID: 830688631}
|
|
||||||
- component: {fileID: 830688630}
|
|
||||||
m_Layer: 0
|
|
||||||
m_Name: Main Camera
|
|
||||||
m_TagString: MainCamera
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!81 &830688630
|
|
||||||
AudioListener:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 830688629}
|
|
||||||
m_Enabled: 1
|
|
||||||
--- !u!20 &830688631
|
|
||||||
Camera:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 830688629}
|
|
||||||
m_Enabled: 1
|
|
||||||
serializedVersion: 2
|
|
||||||
m_ClearFlags: 1
|
|
||||||
m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
|
|
||||||
m_projectionMatrixMode: 1
|
|
||||||
m_GateFitMode: 2
|
|
||||||
m_FOVAxisMode: 0
|
|
||||||
m_SensorSize: {x: 36, y: 24}
|
|
||||||
m_LensShift: {x: 0, y: 0}
|
|
||||||
m_FocalLength: 50
|
|
||||||
m_NormalizedViewPortRect:
|
|
||||||
serializedVersion: 2
|
|
||||||
x: 0
|
|
||||||
y: 0
|
|
||||||
width: 1
|
|
||||||
height: 1
|
|
||||||
near clip plane: 0.3
|
|
||||||
far clip plane: 1000
|
|
||||||
field of view: 60
|
|
||||||
orthographic: 0
|
|
||||||
orthographic size: 5
|
|
||||||
m_Depth: -1
|
|
||||||
m_CullingMask:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 4294967295
|
|
||||||
m_RenderingPath: -1
|
|
||||||
m_TargetTexture: {fileID: 0}
|
|
||||||
m_TargetDisplay: 0
|
|
||||||
m_TargetEye: 3
|
|
||||||
m_HDR: 1
|
|
||||||
m_AllowMSAA: 1
|
|
||||||
m_AllowDynamicResolution: 0
|
|
||||||
m_ForceIntoRT: 0
|
|
||||||
m_OcclusionCulling: 1
|
|
||||||
m_StereoConvergence: 10
|
|
||||||
m_StereoSeparation: 0.022
|
|
||||||
--- !u!4 &830688632
|
|
||||||
Transform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 830688629}
|
|
||||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
|
||||||
m_LocalPosition: {x: 0, y: 1, z: -10}
|
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
|
||||||
m_Children: []
|
|
||||||
m_Father: {fileID: 0}
|
|
||||||
m_RootOrder: 0
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
149351
Assets/Scenes/MainMenu.unity
@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: b2a550cf451c138468d4a907dfdd270e
|
guid: 9d1635b49ffb40046b1a26c6b196047e
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
userData:
|
userData:
|
||||||
|
@ -1,13 +1,17 @@
|
|||||||
using System.Collections.Generic;
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Timers;
|
||||||
using CamControl;
|
using CamControl;
|
||||||
using Chars;
|
using Chars;
|
||||||
using Data;
|
|
||||||
using DefaultNamespace;
|
using DefaultNamespace;
|
||||||
using GameUI;
|
using GameUI;
|
||||||
using HexFiled;
|
using HexFiled;
|
||||||
|
using Items;
|
||||||
using Units;
|
using Units;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
using Weapons;
|
using Weapons;
|
||||||
|
using Object = UnityEngine.Object;
|
||||||
|
using Random = UnityEngine.Random;
|
||||||
|
|
||||||
namespace Controller
|
namespace Controller
|
||||||
{
|
{
|
||||||
@ -15,14 +19,20 @@ namespace Controller
|
|||||||
{
|
{
|
||||||
public GameInit(Controllers controllers, Data.Data data)
|
public GameInit(Controllers controllers, Data.Data data)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
new GameObject("Timer").AddComponent<TimerHelper>();
|
||||||
|
|
||||||
var hexGrid = new HexGrid(data.FieldData);
|
var hexGrid = new HexGrid(data.FieldData);
|
||||||
new MusicController();
|
new MusicController();
|
||||||
MusicController.Instance.SetMusicData(data.MusicData);
|
MusicController.Instance.SetMusicData(data.MusicData);
|
||||||
controllers.Add(hexGrid);
|
controllers.Add(hexGrid);
|
||||||
|
|
||||||
UIController uiController = new UIController(data.UIData);
|
|
||||||
uiController.Spawn(); //TODO при паузе
|
|
||||||
|
|
||||||
|
ItemFabric itemFabric = new ItemFabric(data.ItemsData, SetUpItems());
|
||||||
|
controllers.Add(itemFabric);
|
||||||
|
|
||||||
|
UIController uiController = new UIController(data.UIData);
|
||||||
|
uiController.Spawn(); //TODO при паузе Dotween ругается
|
||||||
Unit player;
|
Unit player;
|
||||||
List<Unit> units = new List<Unit>();
|
List<Unit> units = new List<Unit>();
|
||||||
data.UnitData.Units.ForEach(unit =>
|
data.UnitData.Units.ForEach(unit =>
|
||||||
@ -30,7 +40,8 @@ namespace Controller
|
|||||||
if (unit.isPlayer)
|
if (unit.isPlayer)
|
||||||
{
|
{
|
||||||
player = new Unit(unit, JsonUtility.FromJson<Weapon>(data.ChosenWeapon), hexGrid);
|
player = new Unit(unit, JsonUtility.FromJson<Weapon>(data.ChosenWeapon), hexGrid);
|
||||||
PlayerControl playerControl = new PlayerControl(player, uiController.PlayerControlView);
|
PlayerControl playerControl = new PlayerControl(player, uiController.PlayerControlView,
|
||||||
|
uiController.PlayerInventoryView);
|
||||||
controllers.Add(playerControl);
|
controllers.Add(playerControl);
|
||||||
CameraControl cameraControl =
|
CameraControl cameraControl =
|
||||||
new CameraControl(Camera.main, data.CameraData);
|
new CameraControl(Camera.main, data.CameraData);
|
||||||
@ -41,7 +52,8 @@ namespace Controller
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
var enemy = new Unit(unit, data.WeaponsData.WeaponsList[Random.Range(0,data.WeaponsData.WeaponsList.Count - 1)], hexGrid);
|
var enemy = new Unit(unit,
|
||||||
|
data.WeaponsData.WeaponsList[Random.Range(0, data.WeaponsData.WeaponsList.Count - 1)], hexGrid);
|
||||||
var enemyController = new EnemyController(unit, enemy);
|
var enemyController = new EnemyController(unit, enemy);
|
||||||
controllers.Add(enemyController);
|
controllers.Add(enemyController);
|
||||||
units.Add(enemy);
|
units.Add(enemy);
|
||||||
@ -56,8 +68,12 @@ namespace Controller
|
|||||||
|
|
||||||
hexGrid.OnHexPainted += paintedController.SetHexColors;
|
hexGrid.OnHexPainted += paintedController.SetHexColors;
|
||||||
|
|
||||||
|
hexGrid.OnHexPainted += itemFabric.UpdateCellToOpenList;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private List<Type> SetUpItems()
|
||||||
|
{
|
||||||
|
return new List<Type>() { typeof(Tower), typeof(AttackBonus), typeof(DefenceBonus) };
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -20,10 +20,25 @@ namespace Data
|
|||||||
private UIData _uiData;
|
private UIData _uiData;
|
||||||
[SerializeField] private string musicDataPath;
|
[SerializeField] private string musicDataPath;
|
||||||
private MusicData _musicData;
|
private MusicData _musicData;
|
||||||
|
[SerializeField] private string itemDataPath;
|
||||||
|
private ItemsData _itemsData;
|
||||||
[SerializeField] private string chosenWeaponDataPath;
|
[SerializeField] private string chosenWeaponDataPath;
|
||||||
|
|
||||||
public string ChosenWeapon => File.ReadAllText(Application.persistentDataPath + "/" + chosenWeaponDataPath);
|
public string ChosenWeapon => File.ReadAllText(Application.persistentDataPath + "/" + chosenWeaponDataPath);
|
||||||
|
|
||||||
|
public ItemsData ItemsData
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
if (_itemsData == null)
|
||||||
|
{
|
||||||
|
_itemsData = Load<ItemsData>("Data/" + itemDataPath);
|
||||||
|
}
|
||||||
|
|
||||||
|
return _itemsData;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public MusicData MusicData
|
public MusicData MusicData
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
|
43
Assets/Scripts/Data/ItemsData.cs
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.IO;
|
||||||
|
using Items;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace Data
|
||||||
|
{
|
||||||
|
[CreateAssetMenu(fileName = "ItemData", menuName = "Data/ItemData", order = 0)]
|
||||||
|
public class ItemsData : ScriptableObject
|
||||||
|
{
|
||||||
|
[SerializeField]
|
||||||
|
private List<ItemInfo> itemInfos;
|
||||||
|
|
||||||
|
[SerializeField] private float fromTimeSpawn;
|
||||||
|
[SerializeField] private float toTimeSpawn;
|
||||||
|
|
||||||
|
public List<ItemInfo> ItemInfos => itemInfos;
|
||||||
|
public (float from, float to) SpawnTime => (fromTimeSpawn, toTimeSpawn);
|
||||||
|
}
|
||||||
|
|
||||||
|
[Serializable]
|
||||||
|
public struct ItemInfo
|
||||||
|
{
|
||||||
|
[SerializeField] private GameObject prefab;
|
||||||
|
[SerializeField] private bool isInstantUse;
|
||||||
|
[SerializeField] private string type;
|
||||||
|
[SerializeField] private Sprite icon;
|
||||||
|
[SerializeField] private GameObject spawnablePrefab;
|
||||||
|
[SerializeField] private int[] values;
|
||||||
|
[SerializeField][Range(0,1)] private float spawnChance;
|
||||||
|
public GameObject Prefab => prefab;
|
||||||
|
public string Type => type;
|
||||||
|
|
||||||
|
public Sprite Icon => icon;
|
||||||
|
|
||||||
|
public GameObject SpawnablePrefab => spawnablePrefab;
|
||||||
|
|
||||||
|
public bool IsInstanceUse => isInstantUse;
|
||||||
|
public int[] Values => values;
|
||||||
|
public float SpawnChance => spawnChance;
|
||||||
|
}
|
||||||
|
}
|
3
Assets/Scripts/Data/ItemsData.cs.meta
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: effbc11b6ae8444c8d20e929ce28183e
|
||||||
|
timeCreated: 1641238823
|
@ -9,9 +9,10 @@ namespace Data
|
|||||||
{
|
{
|
||||||
[SerializeField] private List<GameObject> _objectsToSpawn;
|
[SerializeField] private List<GameObject> _objectsToSpawn;
|
||||||
[SerializeField] private PlayerControlView joystickView;
|
[SerializeField] private PlayerControlView joystickView;
|
||||||
|
[SerializeField] private PlayerInventoryView inventoryView;
|
||||||
public List<GameObject> ObjectsToSpawn => _objectsToSpawn;
|
public List<GameObject> ObjectsToSpawn => _objectsToSpawn;
|
||||||
public PlayerControlView PlayerControlView => joystickView;
|
public PlayerControlView PlayerControlView => joystickView;
|
||||||
|
|
||||||
|
public PlayerInventoryView InventoryView => inventoryView;
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -24,5 +24,6 @@ namespace Data
|
|||||||
public int manaRegen;
|
public int manaRegen;
|
||||||
public int maxMana;
|
public int maxMana;
|
||||||
public int maxHP;
|
public int maxHP;
|
||||||
|
public int inventoryCapacity;
|
||||||
}
|
}
|
||||||
}
|
}
|
50
Assets/Scripts/DirectionHelper.cs
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
using System;
|
||||||
|
using HexFiled;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace DefaultNamespace
|
||||||
|
{
|
||||||
|
public static class DirectionHelper
|
||||||
|
{
|
||||||
|
public static Vector3 DirectionTo(Vector3 a, Vector3 b)
|
||||||
|
{
|
||||||
|
return (b - a).normalized;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static HexDirection VectorToDirection(Vector2 dir)
|
||||||
|
{
|
||||||
|
if (dir.x >= 0 && dir.y <= 1 && dir.x <= 1 && dir.y >= 0.5)
|
||||||
|
{
|
||||||
|
return HexDirection.NE;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (Math.Abs(dir.x - 1f) < 0.2 && dir.y <= 0.5 && dir.y >= -0.5)
|
||||||
|
{
|
||||||
|
return HexDirection.E;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (dir.x <= 1 && dir.y <= -0.5 && dir.x >= 0 && dir.y >= -1)
|
||||||
|
{
|
||||||
|
return HexDirection.SE;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (dir.x <= 0 && dir.y >= -1 && dir.x >= -1 && dir.y <= -0.5)
|
||||||
|
{
|
||||||
|
return HexDirection.SW;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (Math.Abs(dir.x - (-1f)) < 0.2 && dir.y >= -0.5 && dir.y <= 0.5)
|
||||||
|
{
|
||||||
|
return HexDirection.W;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (dir.x >= -1 && dir.y >= 0.5 && dir.x <= 0 && dir.y <= 1)
|
||||||
|
{
|
||||||
|
return HexDirection.NW;
|
||||||
|
}
|
||||||
|
|
||||||
|
return HexDirection.W;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
3
Assets/Scripts/DirectionHelper.cs.meta
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: fc19bb5576de42c89aa7aae62e2c3552
|
||||||
|
timeCreated: 1641323470
|
@ -32,12 +32,14 @@ public class GameMenuView : MonoBehaviour
|
|||||||
|
|
||||||
private void ShowMenu()
|
private void ShowMenu()
|
||||||
{
|
{
|
||||||
|
DOTween.PauseAll();
|
||||||
menu.SetActive(true);
|
menu.SetActive(true);
|
||||||
Time.timeScale = 0f;
|
Time.timeScale = 0f;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void HideMenu()
|
private void HideMenu()
|
||||||
{
|
{
|
||||||
|
DOTween.PlayAll();
|
||||||
Time.timeScale = 1f;
|
Time.timeScale = 1f;
|
||||||
menu.SetActive(false);
|
menu.SetActive(false);
|
||||||
}
|
}
|
||||||
|
68
Assets/Scripts/GameUI/PlayerInventoryView.cs
Normal file
@ -0,0 +1,68 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using Items;
|
||||||
|
using UnityEngine;
|
||||||
|
using UnityEngine.UI;
|
||||||
|
|
||||||
|
public class PlayerInventoryView : MonoBehaviour
|
||||||
|
{
|
||||||
|
[SerializeField] private GameObject item;
|
||||||
|
[SerializeField] private GameObject grid;
|
||||||
|
|
||||||
|
public Action<Item> OnItemInvoked;
|
||||||
|
|
||||||
|
private List<Button> _buttons;
|
||||||
|
private Queue<Button> _freeButtons;
|
||||||
|
private Dictionary<Item, Button> _dictionary;
|
||||||
|
|
||||||
|
|
||||||
|
public void SetUpUI(int inventoryCapacity)
|
||||||
|
{
|
||||||
|
_buttons = new List<Button>();
|
||||||
|
_dictionary = new Dictionary<Item, Button>();
|
||||||
|
_freeButtons = new Queue<Button>();
|
||||||
|
for (int i = 0; i < inventoryCapacity; i++)
|
||||||
|
{
|
||||||
|
var itemGo = Instantiate(item, grid.transform);
|
||||||
|
var button = itemGo.GetComponentInChildren<Button>();
|
||||||
|
_buttons.Add(button);
|
||||||
|
button.gameObject.SetActive(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
_buttons.ForEach(button => _freeButtons.Enqueue(button));
|
||||||
|
}
|
||||||
|
|
||||||
|
private void SwitchButton(Item item)
|
||||||
|
{
|
||||||
|
var button = _dictionary[item];
|
||||||
|
_dictionary.Remove(item);
|
||||||
|
button.gameObject.SetActive(false);
|
||||||
|
_freeButtons.Enqueue(button);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void PickUpItem(Item item)
|
||||||
|
{
|
||||||
|
var button = _freeButtons.Dequeue();
|
||||||
|
_dictionary.Add(item, button);
|
||||||
|
button.gameObject.SetActive(true);
|
||||||
|
button.image.sprite = item.Icon;
|
||||||
|
button.onClick.AddListener(() =>
|
||||||
|
{
|
||||||
|
if (item.IsInstantUse)
|
||||||
|
{
|
||||||
|
item.InstanceInvoke();
|
||||||
|
_freeButtons.Enqueue(button);
|
||||||
|
button.gameObject.SetActive(false);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
item.Invoke(SwitchButton);
|
||||||
|
OnItemInvoked?.Invoke(item);
|
||||||
|
}
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
11
Assets/Scripts/GameUI/PlayerInventoryView.cs.meta
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: e0b3f756d0c46044ca44448fe3582300
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
@ -9,8 +9,10 @@ namespace GameUI
|
|||||||
{
|
{
|
||||||
private readonly UIData _uiData;
|
private readonly UIData _uiData;
|
||||||
private PlayerControlView _playerControlView;
|
private PlayerControlView _playerControlView;
|
||||||
|
private PlayerInventoryView _inventoryView;
|
||||||
|
|
||||||
public PlayerControlView PlayerControlView => _playerControlView;
|
public PlayerControlView PlayerControlView => _playerControlView;
|
||||||
|
public PlayerInventoryView PlayerInventoryView => _inventoryView;
|
||||||
|
|
||||||
public UIController(UIData uiData)
|
public UIController(UIData uiData)
|
||||||
{
|
{
|
||||||
@ -22,6 +24,7 @@ namespace GameUI
|
|||||||
var canvasGroup = new GameObject("CanvasGroup");
|
var canvasGroup = new GameObject("CanvasGroup");
|
||||||
canvasGroup.AddComponent<CanvasGroup>();
|
canvasGroup.AddComponent<CanvasGroup>();
|
||||||
_playerControlView = Object.Instantiate(_uiData.PlayerControlView, canvasGroup.transform);
|
_playerControlView = Object.Instantiate(_uiData.PlayerControlView, canvasGroup.transform);
|
||||||
|
_inventoryView = Object.Instantiate(_uiData.InventoryView, canvasGroup.transform);
|
||||||
|
|
||||||
_uiData.ObjectsToSpawn.ForEach(x => Object.Instantiate(x, canvasGroup.transform));
|
_uiData.ObjectsToSpawn.ForEach(x => Object.Instantiate(x, canvasGroup.transform));
|
||||||
}
|
}
|
||||||
|
@ -9,11 +9,15 @@ namespace HexFiled
|
|||||||
[SerializeField] private UnitColor _unitColor;
|
[SerializeField] private UnitColor _unitColor;
|
||||||
[SerializeField] private Texture _texture;
|
[SerializeField] private Texture _texture;
|
||||||
[SerializeField] private GameObject _vfxPrefab;
|
[SerializeField] private GameObject _vfxPrefab;
|
||||||
|
[SerializeField] private Texture _buildinTexture;
|
||||||
|
|
||||||
public UnitColor UnitColor => _unitColor;
|
public UnitColor UnitColor => _unitColor;
|
||||||
public Texture Texture => _texture;
|
public Texture Texture => _texture;
|
||||||
|
public Texture BuildingTexture => _buildinTexture;
|
||||||
public GameObject VFXPrefab => _vfxPrefab;
|
public GameObject VFXPrefab => _vfxPrefab;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public bool Equals(CellColor obj)
|
public bool Equals(CellColor obj)
|
||||||
{
|
{
|
||||||
return obj._unitColor == _unitColor;
|
return obj._unitColor == _unitColor;
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
using Items;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
using Random = UnityEngine.Random;
|
using Random = UnityEngine.Random;
|
||||||
|
|
||||||
@ -12,12 +13,14 @@ namespace HexFiled
|
|||||||
public Action<HexCell> onHexPainted;
|
public Action<HexCell> onHexPainted;
|
||||||
|
|
||||||
[SerializeField] private HexCell[] neighbors;
|
[SerializeField] private HexCell[] neighbors;
|
||||||
|
private Item _item;
|
||||||
private UnitColor _color;
|
private UnitColor _color;
|
||||||
private MeshRenderer _renderer;
|
private MeshRenderer _renderer;
|
||||||
private Dictionary<UnitColor, CellColor> _cellColor;
|
|
||||||
|
|
||||||
public UnitColor Color => _color;
|
public UnitColor Color => _color;
|
||||||
|
|
||||||
|
public Item Item => _item;
|
||||||
|
|
||||||
private void Awake()
|
private void Awake()
|
||||||
{
|
{
|
||||||
_renderer = GetComponent<MeshRenderer>();
|
_renderer = GetComponent<MeshRenderer>();
|
||||||
@ -25,14 +28,17 @@ namespace HexFiled
|
|||||||
_color = UnitColor.GREY;
|
_color = UnitColor.GREY;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void SetItem(Item item)
|
||||||
|
{
|
||||||
|
_item = item == _item ? null : item;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public List<HexCell> GetListNeighbours()
|
public List<HexCell> GetListNeighbours()
|
||||||
{
|
{
|
||||||
return neighbors.ToList();
|
return neighbors.ToList();
|
||||||
}
|
}
|
||||||
public void SetDictionary(Dictionary<UnitColor, CellColor> colors)
|
|
||||||
{
|
|
||||||
_cellColor = colors;
|
|
||||||
}
|
|
||||||
|
|
||||||
public HexCell GetNeighbor(HexDirection direction)
|
public HexCell GetNeighbor(HexDirection direction)
|
||||||
{
|
{
|
||||||
@ -50,17 +56,16 @@ namespace HexFiled
|
|||||||
if (color == _color) return;
|
if (color == _color) return;
|
||||||
if (color == UnitColor.GREY)
|
if (color == UnitColor.GREY)
|
||||||
{
|
{
|
||||||
_renderer.material.mainTexture = _cellColor[color].Texture;
|
_renderer.material.mainTexture = HexGrid.Colors[color].Texture;
|
||||||
_color = color;
|
_color = color;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
_renderer.material.mainTexture = _cellColor[color].Texture;
|
_renderer.material.mainTexture = HexGrid.Colors[color].Texture;
|
||||||
|
|
||||||
_color = color;
|
_color = color;
|
||||||
Instantiate(_cellColor[color].VFXPrefab, transform);
|
Instantiate(HexGrid.Colors[color].VFXPrefab, transform);
|
||||||
onHexPainted?.Invoke(this);
|
onHexPainted?.Invoke(this);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -17,15 +17,17 @@ namespace HexFiled
|
|||||||
private HexCell[] _cells;
|
private HexCell[] _cells;
|
||||||
private Canvas _gridCanvas;
|
private Canvas _gridCanvas;
|
||||||
private GameObject _baseGameObject;
|
private GameObject _baseGameObject;
|
||||||
private Dictionary<UnitColor, CellColor> _colors;
|
private static Dictionary<UnitColor, CellColor> _colors;
|
||||||
private float _hexDistance;
|
private static float _hexDistance;
|
||||||
private int _hexCaptureCost;
|
private int _hexCaptureCost;
|
||||||
|
|
||||||
public float HexDistance => _hexDistance;
|
public static float HexDistance => _hexDistance;
|
||||||
public Action<HexCell> OnHexPainted;
|
public Action<HexCell> OnHexPainted;
|
||||||
public Action OnGridLoaded;
|
public Action OnGridLoaded;
|
||||||
public int HexCaptureCost => _hexCaptureCost;
|
public int HexCaptureCost => _hexCaptureCost;
|
||||||
|
|
||||||
|
public static Dictionary<UnitColor, CellColor> Colors => _colors;
|
||||||
|
|
||||||
public HexGrid(FieldData fieldData)
|
public HexGrid(FieldData fieldData)
|
||||||
{
|
{
|
||||||
_hexCaptureCost = fieldData.hexCaptureManaCost;
|
_hexCaptureCost = fieldData.hexCaptureManaCost;
|
||||||
@ -63,7 +65,6 @@ namespace HexFiled
|
|||||||
position.z = z * (HexMetrics.outerRadius * 1.5f);
|
position.z = z * (HexMetrics.outerRadius * 1.5f);
|
||||||
var cellGO = Object.Instantiate(_cellPrefab);
|
var cellGO = Object.Instantiate(_cellPrefab);
|
||||||
HexCell cell = _cells[i] = cellGO.GetComponent<HexCell>();
|
HexCell cell = _cells[i] = cellGO.GetComponent<HexCell>();
|
||||||
cell.SetDictionary(_colors);
|
|
||||||
cell.PaintHex(UnitColor.GREY);
|
cell.PaintHex(UnitColor.GREY);
|
||||||
cell.transform.SetParent(_baseGameObject.transform, false);
|
cell.transform.SetParent(_baseGameObject.transform, false);
|
||||||
cell.transform.localPosition = position;
|
cell.transform.localPosition = position;
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
using Data;
|
using Data;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
|
||||||
@ -27,26 +28,10 @@ namespace HexFiled
|
|||||||
var hexByColorDict = DifferentHexByColor(cells);
|
var hexByColorDict = DifferentHexByColor(cells);
|
||||||
foreach (var item in hexByColorDict)
|
foreach (var item in hexByColorDict)
|
||||||
{
|
{
|
||||||
if (item.Value.Count > 0 && item.Key != UnitColor.GREY && item.Key != cell.Color)
|
|
||||||
{
|
|
||||||
foreach (var cellNeighbour in item.Value)
|
|
||||||
{
|
|
||||||
if (UnitCurrentCell.ContainsKey(item.Key))
|
|
||||||
{
|
|
||||||
var path = HasPath(cellNeighbour, UnitCurrentCell[item.Key].curent);
|
|
||||||
if (!path.hasPath)
|
|
||||||
{
|
|
||||||
path.field.ForEach(x => x.PaintHex(UnitColor.GREY));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (item.Key == cell.Color && item.Value.Count >= 2 && item.Value.Count < 6 &&
|
if (item.Key == cell.Color && item.Value.Count >= 2 && item.Value.Count < 6 &&
|
||||||
UnitCurrentCell.ContainsKey(cell.Color))
|
UnitCurrentCell.ContainsKey(cell.Color))
|
||||||
{
|
{
|
||||||
HexDirection direction = new HexDirection();
|
HexDirection direction = new HexDirection();
|
||||||
HexDirection openDirection = new HexDirection();
|
|
||||||
HexDirection closeDirection = new HexDirection();
|
|
||||||
for (int i = 0; i < 6; i++)
|
for (int i = 0; i < 6; i++)
|
||||||
{
|
{
|
||||||
var neighbour = UnitCurrentCell[cell.Color].previos.GetNeighbor((HexDirection)i);
|
var neighbour = UnitCurrentCell[cell.Color].previos.GetNeighbor((HexDirection)i);
|
||||||
@ -57,11 +42,11 @@ namespace HexFiled
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
openDirection = direction.PlusSixtyDeg();
|
var openDirection = direction.PlusSixtyDeg();
|
||||||
closeDirection = direction.MinusSixtyDeg();
|
var closeDirection = direction.MinusSixtyDeg();
|
||||||
|
|
||||||
|
|
||||||
var path = HasPath(
|
var path = Round(
|
||||||
UnitCurrentCell[cell.Color].previos.GetNeighbor(closeDirection),
|
UnitCurrentCell[cell.Color].previos.GetNeighbor(closeDirection),
|
||||||
UnitCurrentCell[cell.Color].previos.GetNeighbor(openDirection)
|
UnitCurrentCell[cell.Color].previos.GetNeighbor(openDirection)
|
||||||
);
|
);
|
||||||
@ -72,7 +57,7 @@ namespace HexFiled
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
path = HasPath(
|
path = Round(
|
||||||
UnitCurrentCell[cell.Color].previos.GetNeighbor(openDirection),
|
UnitCurrentCell[cell.Color].previos.GetNeighbor(openDirection),
|
||||||
UnitCurrentCell[cell.Color].previos.GetNeighbor(closeDirection)
|
UnitCurrentCell[cell.Color].previos.GetNeighbor(closeDirection)
|
||||||
);
|
);
|
||||||
@ -82,8 +67,22 @@ namespace HexFiled
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (item.Value.Count > 0 && item.Key != UnitColor.GREY && item.Key != cell.Color)
|
||||||
|
{
|
||||||
|
foreach (var path in from cellNeighbour in item.Value
|
||||||
|
where UnitCurrentCell.ContainsKey(item.Key)
|
||||||
|
select HasPath(cellNeighbour, UnitCurrentCell[item.Key].curent)
|
||||||
|
into path
|
||||||
|
where !path.hasPath
|
||||||
|
select path)
|
||||||
|
{
|
||||||
|
path.field.ForEach(x => x.PaintHex(UnitColor.GREY));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
private Dictionary<UnitColor, List<HexCell>> DifferentHexByColor(List<HexCell> cellsList)
|
private Dictionary<UnitColor, List<HexCell>> DifferentHexByColor(List<HexCell> cellsList)
|
||||||
{
|
{
|
||||||
@ -102,76 +101,122 @@ namespace HexFiled
|
|||||||
return resultDict;
|
return resultDict;
|
||||||
}
|
}
|
||||||
|
|
||||||
private ( bool hasPath, List<HexCell> field ) HasPath(HexCell start, HexCell end)
|
private (bool hasPath, List<HexCell> field) Round(HexCell start, HexCell end)
|
||||||
{
|
{
|
||||||
|
if (start.Color == _cell.Color || end.Color == _cell.Color)
|
||||||
|
{
|
||||||
|
return (true, null);
|
||||||
|
}
|
||||||
|
|
||||||
List<HexCell> closedList = new List<HexCell>();
|
List<HexCell> closedList = new List<HexCell>();
|
||||||
HexCell currentCell = start;
|
HexCell currentCell = start;
|
||||||
|
|
||||||
Stack<HexCell> stackIteators = new Stack<HexCell>();
|
Stack<HexCell> stackIterators = new Stack<HexCell>();
|
||||||
stackIteators.Push(currentCell);
|
stackIterators.Push(currentCell);
|
||||||
|
|
||||||
closedList.Add(currentCell);
|
closedList.Add(currentCell);
|
||||||
|
|
||||||
|
while (stackIterators.Count >= 0)
|
||||||
while (stackIteators.Count >= 0)
|
|
||||||
{
|
{
|
||||||
if (currentCell == end)
|
if (currentCell == end)
|
||||||
return (true, closedList);
|
return (true, closedList);
|
||||||
|
|
||||||
List<HexCell> openList = new List<HexCell>();
|
List<HexCell> openList = new List<HexCell>();
|
||||||
if(end.Color != UnitColor.GREY)
|
|
||||||
|
foreach (var neighbour in currentCell.GetListNeighbours())
|
||||||
{
|
{
|
||||||
if (end.Color != start.Color)
|
|
||||||
{
|
|
||||||
return (true, null);
|
|
||||||
}
|
|
||||||
for (int i = 0; i < 6; i++)
|
|
||||||
{
|
|
||||||
HexCell neighbour = currentCell.GetNeighbor((HexDirection)i);
|
|
||||||
if (neighbour == null)
|
if (neighbour == null)
|
||||||
{
|
{
|
||||||
return (true, null);
|
return (true, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!closedList.Contains(neighbour) && neighbour.Color == start.Color)
|
if (closedList.Contains(neighbour) || neighbour.Color == _cell.Color) continue;
|
||||||
{
|
|
||||||
openList.Add(neighbour);
|
openList.Add(neighbour);
|
||||||
}
|
if (neighbour.GetListNeighbours().Contains(end))
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
|
|
||||||
for (int i = 0; i < 6; i++)
|
|
||||||
{
|
|
||||||
HexCell neighbour = currentCell.GetNeighbor((HexDirection)i);
|
|
||||||
if (neighbour == null)
|
|
||||||
{
|
{
|
||||||
return (true, null);
|
return (true, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!closedList.Contains(neighbour) &&
|
|
||||||
neighbour.Color != _cell.Color)
|
|
||||||
{
|
|
||||||
openList.Add(neighbour);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (openList.Count > 0)
|
if (openList.Count > 0)
|
||||||
{
|
{
|
||||||
currentCell = openList[Random.Range(0, openList.Count - 1)];
|
currentCell = openList[Random.Range(0, openList.Count - 1)];
|
||||||
closedList.Add(currentCell);
|
closedList.Add(currentCell);
|
||||||
stackIteators.Push(currentCell);
|
stackIterators.Push(currentCell);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (stackIteators.Count == 0)
|
if (stackIterators.Count == 0)
|
||||||
{
|
{
|
||||||
return (false, closedList);
|
return (false, closedList);
|
||||||
}
|
}
|
||||||
|
|
||||||
currentCell = stackIteators.Pop();
|
currentCell = stackIterators.Pop();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (currentCell.GetListNeighbours().Contains(end))
|
||||||
|
{
|
||||||
|
return (true, null);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return (false, closedList);
|
||||||
|
}
|
||||||
|
|
||||||
|
private ( bool hasPath, List<HexCell> field ) HasPath(HexCell start, HexCell end)
|
||||||
|
{
|
||||||
|
if (start.Color == _cell.Color || end.Color == _cell.Color)
|
||||||
|
{
|
||||||
|
return (true, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
List<HexCell> closedList = new List<HexCell>();
|
||||||
|
HexCell currentCell = start;
|
||||||
|
|
||||||
|
Stack<HexCell> stackIterators = new Stack<HexCell>();
|
||||||
|
stackIterators.Push(currentCell);
|
||||||
|
|
||||||
|
closedList.Add(currentCell);
|
||||||
|
|
||||||
|
|
||||||
|
while (stackIterators.Count >= 0)
|
||||||
|
{
|
||||||
|
if (currentCell == end)
|
||||||
|
return (true, null);
|
||||||
|
|
||||||
|
List<HexCell> openList = new List<HexCell>();
|
||||||
|
|
||||||
|
foreach (var neighbour in currentCell.GetListNeighbours())
|
||||||
|
{
|
||||||
|
if (neighbour == null)
|
||||||
|
{
|
||||||
|
return (true, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (closedList.Contains(neighbour) || neighbour.Color != start.Color) continue;
|
||||||
|
openList.Add(neighbour);
|
||||||
|
if (neighbour.GetListNeighbours().Contains(end))
|
||||||
|
{
|
||||||
|
return (true, null);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (openList.Count > 0)
|
||||||
|
{
|
||||||
|
currentCell = openList[Random.Range(0, openList.Count - 1)];
|
||||||
|
closedList.Add(currentCell);
|
||||||
|
stackIterators.Push(currentCell);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (stackIterators.Count == 0)
|
||||||
|
{
|
||||||
|
return (false, closedList);
|
||||||
|
}
|
||||||
|
|
||||||
|
currentCell = stackIterators.Pop();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (currentCell.GetListNeighbours().Contains(end))
|
if (currentCell.GetListNeighbours().Contains(end))
|
||||||
|
3
Assets/Scripts/Items.meta
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 2ece86e08d3d4fbfb7c41139b60e7ae9
|
||||||
|
timeCreated: 1641238755
|
28
Assets/Scripts/Items/AttackBonus.cs
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
using System;
|
||||||
|
using Data;
|
||||||
|
using HexFiled;
|
||||||
|
|
||||||
|
namespace Items
|
||||||
|
{
|
||||||
|
public class AttackBonus : Item
|
||||||
|
{
|
||||||
|
public AttackBonus(ItemInfo data) : base(data)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void Invoke(Action<Item> item)
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void InstanceInvoke()
|
||||||
|
{
|
||||||
|
Unit.SetAttackBonus(Data.Values[0], Data.Values[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void PlaceItem(HexCell cell)
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
3
Assets/Scripts/Items/AttackBonus.cs.meta
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 2b016eba27de41629261b965b3e2be0c
|
||||||
|
timeCreated: 1641382290
|
28
Assets/Scripts/Items/DefenceBonus.cs
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
using System;
|
||||||
|
using Data;
|
||||||
|
using HexFiled;
|
||||||
|
|
||||||
|
namespace Items
|
||||||
|
{
|
||||||
|
public class DefenceBonus : Item
|
||||||
|
{
|
||||||
|
public DefenceBonus(ItemInfo data) : base(data)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void Invoke(Action<Item> item)
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void InstanceInvoke()
|
||||||
|
{
|
||||||
|
Unit.SetDefenceBonus(Data.Values[0], Data.Values[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void PlaceItem(HexCell cell)
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
3
Assets/Scripts/Items/DefenceBonus.cs.meta
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: c518da097b3645c491c6a4cc61b3d493
|
||||||
|
timeCreated: 1641382317
|
40
Assets/Scripts/Items/Item.cs
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
using System;
|
||||||
|
using Data;
|
||||||
|
using HexFiled;
|
||||||
|
using Units;
|
||||||
|
using UnityEngine;
|
||||||
|
using UnityEngine.UI;
|
||||||
|
using Object = UnityEngine.Object;
|
||||||
|
|
||||||
|
namespace Items
|
||||||
|
{
|
||||||
|
public abstract class Item
|
||||||
|
{
|
||||||
|
protected ItemInfo Data;
|
||||||
|
protected Unit Unit;
|
||||||
|
protected Action<Item> OnItemUsed;
|
||||||
|
|
||||||
|
public bool IsInstantUse => Data.IsInstanceUse;
|
||||||
|
public Sprite Icon => Data.Icon;
|
||||||
|
protected Item(ItemInfo data)
|
||||||
|
{
|
||||||
|
Data = data;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void PickUp(Unit unit)
|
||||||
|
{
|
||||||
|
Unit = unit;
|
||||||
|
}
|
||||||
|
|
||||||
|
public GameObject Spawn(HexCell cell)
|
||||||
|
{
|
||||||
|
var item = Object.Instantiate(Data.Prefab, cell.transform.position + new Vector3(0, 1, 0),
|
||||||
|
Quaternion.identity);
|
||||||
|
return item;
|
||||||
|
}
|
||||||
|
|
||||||
|
public abstract void Invoke(Action<Item> item);
|
||||||
|
public abstract void InstanceInvoke();
|
||||||
|
public abstract void PlaceItem(HexCell cell);
|
||||||
|
}
|
||||||
|
}
|
3
Assets/Scripts/Items/Item.cs.meta
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 710a543252ea459bbc84897416de38c5
|
||||||
|
timeCreated: 1641238772
|
90
Assets/Scripts/Items/ItemFabric.cs
Normal file
@ -0,0 +1,90 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using Data;
|
||||||
|
using HexFiled;
|
||||||
|
using Runtime.Controller;
|
||||||
|
using UnityEngine;
|
||||||
|
using Object = UnityEngine.Object;
|
||||||
|
using Random = UnityEngine.Random;
|
||||||
|
|
||||||
|
namespace Items
|
||||||
|
{
|
||||||
|
public class ItemFabric : IExecute
|
||||||
|
{
|
||||||
|
private ItemsData _data;
|
||||||
|
private List<HexCell> _openList;
|
||||||
|
private List<Type> _itemTypes;
|
||||||
|
private Dictionary<string, ItemInfo> _itemInfos;
|
||||||
|
private float _spawnTime;
|
||||||
|
private float time;
|
||||||
|
|
||||||
|
public ItemFabric(ItemsData data, List<Type> dictionary)
|
||||||
|
{
|
||||||
|
_itemInfos = new Dictionary<string, ItemInfo>();
|
||||||
|
data.ItemInfos.ForEach(info => { _itemInfos.Add(info.Type, info); });
|
||||||
|
_itemTypes = dictionary;
|
||||||
|
_data = data;
|
||||||
|
_openList = new List<HexCell>();
|
||||||
|
_spawnTime = Random.Range(data.SpawnTime.from, data.SpawnTime.to);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void UpdateCellToOpenList(HexCell cell)
|
||||||
|
{
|
||||||
|
if (cell.Color != UnitColor.GREY)
|
||||||
|
{
|
||||||
|
_openList.Add(cell);
|
||||||
|
}
|
||||||
|
else if (_openList.Contains(cell))
|
||||||
|
{
|
||||||
|
_openList.Remove(cell);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Execute()
|
||||||
|
{
|
||||||
|
if (Time.time - time >= _spawnTime)
|
||||||
|
{
|
||||||
|
List<HexCell> closedList = PaintedController.UnitCurrentCell.Select(unitCells => unitCells.Value.curent)
|
||||||
|
.ToList();
|
||||||
|
time = Time.time;
|
||||||
|
var cell = _openList[Random.Range(0, _openList.Count - 1)];
|
||||||
|
|
||||||
|
while (closedList.Contains(cell) || cell.Item != null)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var type = GetWeightedType();
|
||||||
|
while (type == null)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
var info = _itemInfos[type.ToString().Replace("Items.", "")];
|
||||||
|
var obj = (Item)Activator.CreateInstance(type, info);
|
||||||
|
|
||||||
|
var go = obj.Spawn(cell);
|
||||||
|
go.AddComponent<CapsuleCollider>().isTrigger = true;
|
||||||
|
var itemView = go.AddComponent<ItemView>();
|
||||||
|
itemView.SetUp(obj);
|
||||||
|
cell.SetItem(obj);
|
||||||
|
_spawnTime = Random.Range(_data.SpawnTime.from, _data.SpawnTime.to);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private Type GetWeightedType()
|
||||||
|
{
|
||||||
|
float randomNum = Random.Range(1, 101)/100f;
|
||||||
|
List<Type> possibleTypes = new List<Type>();
|
||||||
|
|
||||||
|
_itemTypes.ForEach(type =>
|
||||||
|
{
|
||||||
|
if (_itemInfos[type.ToString().Replace("Items.", "")].SpawnChance >= randomNum)
|
||||||
|
{
|
||||||
|
possibleTypes.Add(type);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return possibleTypes.Count > 0 ? possibleTypes[Random.Range(0, possibleTypes.Count - 1)] : null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
3
Assets/Scripts/Items/ItemFabric.cs.meta
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: c1cf50c0d39346d5818f77f30c58e03b
|
||||||
|
timeCreated: 1641294547
|
34
Assets/Scripts/Items/ItemView.cs
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
using System;
|
||||||
|
using DG.Tweening;
|
||||||
|
using Units;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace Items
|
||||||
|
{
|
||||||
|
public class ItemView : MonoBehaviour
|
||||||
|
{
|
||||||
|
private Item _item;
|
||||||
|
|
||||||
|
|
||||||
|
public void SetUp(Item item)
|
||||||
|
{
|
||||||
|
_item = item;
|
||||||
|
Rotate();
|
||||||
|
}
|
||||||
|
|
||||||
|
public Item PickUp(Unit unit)
|
||||||
|
{
|
||||||
|
transform.DOKill();
|
||||||
|
_item.PickUp(unit);
|
||||||
|
return _item;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Rotate()
|
||||||
|
{
|
||||||
|
|
||||||
|
transform.DORotate(transform.rotation.eulerAngles + new Vector3(0,10,0), 0.1f)
|
||||||
|
.SetEase(Ease.Linear)
|
||||||
|
.OnComplete(Rotate);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
3
Assets/Scripts/Items/ItemView.cs.meta
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 58146f7e810741bcb70fe582391749bb
|
||||||
|
timeCreated: 1641295184
|
36
Assets/Scripts/Items/Tower.cs
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
using System;
|
||||||
|
using Data;
|
||||||
|
using HexFiled;
|
||||||
|
using UnityEngine;
|
||||||
|
using UnityEngine.UI;
|
||||||
|
using Object = UnityEngine.Object;
|
||||||
|
|
||||||
|
namespace Items
|
||||||
|
{
|
||||||
|
public class Tower : Item
|
||||||
|
{
|
||||||
|
|
||||||
|
public Tower(ItemInfo data) : base(data)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void Invoke(Action<Item> action)
|
||||||
|
{
|
||||||
|
OnItemUsed += action;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void InstanceInvoke()
|
||||||
|
{
|
||||||
|
Unit.UseItem(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void PlaceItem(HexCell cell)
|
||||||
|
{
|
||||||
|
Unit.UseItem(this);
|
||||||
|
var obj = Object.Instantiate(Data.SpawnablePrefab, cell.transform.position, Quaternion.identity);
|
||||||
|
obj.AddComponent<TowerView>().SetUp(Unit.Color);
|
||||||
|
OnItemUsed?.Invoke(this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
3
Assets/Scripts/Items/Tower.cs.meta
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: f23a091c5733400f8f0092a4c0f33c6e
|
||||||
|
timeCreated: 1641294934
|
30
Assets/Scripts/MainMenu/ChosenWeapon.cs
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Globalization;
|
||||||
|
using System.IO;
|
||||||
|
using TMPro;
|
||||||
|
using UnityEngine;
|
||||||
|
using Weapons;
|
||||||
|
|
||||||
|
public class ChosenWeapon : MonoBehaviour
|
||||||
|
{
|
||||||
|
[SerializeField] private TMP_Text attackText;
|
||||||
|
[SerializeField] private TMP_Text reloadText;
|
||||||
|
[SerializeField] private string chosenWeaponDataPath;
|
||||||
|
|
||||||
|
private Weapon Weapon =>
|
||||||
|
JsonUtility.FromJson<Weapon>(File.ReadAllText(Application.persistentDataPath + "/" + chosenWeaponDataPath));
|
||||||
|
|
||||||
|
private void Start()
|
||||||
|
{
|
||||||
|
attackText.text = Weapon.damage.ToString();
|
||||||
|
reloadText.text = Weapon.reloadTime.ToString(CultureInfo.CurrentCulture);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void ChangeChosenWeapon(Weapon weapon)
|
||||||
|
{
|
||||||
|
attackText.text = weapon.damage.ToString();
|
||||||
|
reloadText.text = weapon.reloadTime.ToString(CultureInfo.CurrentCulture);
|
||||||
|
}
|
||||||
|
}
|
11
Assets/Scripts/MainMenu/ChosenWeapon.cs.meta
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: a2920b048f18f5946b93c003a602952b
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
@ -1,7 +1,9 @@
|
|||||||
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using DefaultNamespace.Weapons;
|
using DefaultNamespace.Weapons;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
using UnityEngine.Events;
|
||||||
using UnityEngine.UI;
|
using UnityEngine.UI;
|
||||||
using Weapons;
|
using Weapons;
|
||||||
|
|
||||||
@ -11,6 +13,8 @@ public class WeaponSelection : MonoBehaviour
|
|||||||
[SerializeField] private WeaponIcon weaponIcon;
|
[SerializeField] private WeaponIcon weaponIcon;
|
||||||
[SerializeField] private Transform grid;
|
[SerializeField] private Transform grid;
|
||||||
[SerializeField] private string dataFilePath;
|
[SerializeField] private string dataFilePath;
|
||||||
|
[SerializeField] private ChosenWeapon chosenWeapon;
|
||||||
|
private Action<Weapon> changeStats;
|
||||||
private List<Button> _buttons;
|
private List<Button> _buttons;
|
||||||
|
|
||||||
private void Awake()
|
private void Awake()
|
||||||
@ -22,6 +26,8 @@ public class WeaponSelection : MonoBehaviour
|
|||||||
using StreamWriter writer = new StreamWriter(stream);
|
using StreamWriter writer = new StreamWriter(stream);
|
||||||
writer.Write(JsonUtility.ToJson(data.WeaponsList[0]));
|
writer.Write(JsonUtility.ToJson(data.WeaponsList[0]));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
changeStats = chosenWeapon.ChangeChosenWeapon;
|
||||||
_buttons = new List<Button>();
|
_buttons = new List<Button>();
|
||||||
data.WeaponsList.ForEach(x =>
|
data.WeaponsList.ForEach(x =>
|
||||||
{
|
{
|
||||||
@ -42,9 +48,9 @@ public class WeaponSelection : MonoBehaviour
|
|||||||
|
|
||||||
private void ChoseWeapon(Weapon weapon)
|
private void ChoseWeapon(Weapon weapon)
|
||||||
{
|
{
|
||||||
_buttons.ForEach(x => x.image.color = Color.white);
|
|
||||||
FileStream stream = new FileStream(Application.persistentDataPath + "/" + dataFilePath, FileMode.Create);
|
FileStream stream = new FileStream(Application.persistentDataPath + "/" + dataFilePath, FileMode.Create);
|
||||||
using StreamWriter writer = new StreamWriter(stream);
|
using StreamWriter writer = new StreamWriter(stream);
|
||||||
writer.Write(JsonUtility.ToJson(weapon));
|
writer.Write(JsonUtility.ToJson(weapon));
|
||||||
|
changeStats?.Invoke(weapon);
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -1,8 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 8143a9ada3328cd47be0140d3ea73d5d
|
|
||||||
folderAsset: yes
|
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
34
Assets/Scripts/TimerHelper.cs
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace DefaultNamespace
|
||||||
|
{
|
||||||
|
public class TimerHelper : MonoBehaviour
|
||||||
|
{
|
||||||
|
private static TimerHelper _instance;
|
||||||
|
|
||||||
|
public static TimerHelper Instance => _instance;
|
||||||
|
|
||||||
|
private void Start()
|
||||||
|
{
|
||||||
|
if (_instance == null)
|
||||||
|
_instance = this;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Destroy(this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void StartTimer(Action action, int time)
|
||||||
|
{
|
||||||
|
StartCoroutine(Timer(action, time));
|
||||||
|
}
|
||||||
|
|
||||||
|
IEnumerator Timer(Action action, int time)
|
||||||
|
{
|
||||||
|
yield return new WaitForSeconds(time);
|
||||||
|
action.Invoke();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
3
Assets/Scripts/TimerHelper.cs.meta
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 031d061e6f684c0d992624e679d1a311
|
||||||
|
timeCreated: 1641383305
|
@ -1,8 +1,10 @@
|
|||||||
using System;
|
using System;
|
||||||
using Controller;
|
using Controller;
|
||||||
using Data;
|
using Data;
|
||||||
|
using DefaultNamespace;
|
||||||
using DG.Tweening;
|
using DG.Tweening;
|
||||||
using HexFiled;
|
using HexFiled;
|
||||||
|
using Items;
|
||||||
using Runtime.Controller;
|
using Runtime.Controller;
|
||||||
using Units;
|
using Units;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
@ -15,20 +17,58 @@ namespace Chars
|
|||||||
private Unit _unit;
|
private Unit _unit;
|
||||||
private FloatingJoystick _moveJoystick;
|
private FloatingJoystick _moveJoystick;
|
||||||
private FloatingJoystick _attackJoystick;
|
private FloatingJoystick _attackJoystick;
|
||||||
|
private FloatingJoystick _placeJoystick;
|
||||||
private Camera _camera;
|
private Camera _camera;
|
||||||
private Vector2 _attackDircetion;
|
private Vector2 _attackDircetion;
|
||||||
|
private HexDirection _placeDirection;
|
||||||
|
private PlayerInventoryView _inventoryView;
|
||||||
|
private Item _itemToPlace;
|
||||||
|
private HexCell _cellToPlace;
|
||||||
|
|
||||||
|
|
||||||
public PlayerControl(Unit unit, PlayerControlView joyView)
|
|
||||||
|
public PlayerControl(Unit unit, PlayerControlView joyView, PlayerInventoryView inventoryView)
|
||||||
{
|
{
|
||||||
_unit = unit;
|
_unit = unit;
|
||||||
_moveJoystick = joyView.MoveJoystick;
|
_moveJoystick = joyView.MoveJoystick;
|
||||||
_attackJoystick = joyView.AttackJoystick;
|
_attackJoystick = joyView.AttackJoystick;
|
||||||
|
_placeJoystick = joyView.PlaceJoystick;
|
||||||
|
_placeJoystick.gameObject.SetActive(false);
|
||||||
_camera = Camera.main;
|
_camera = Camera.main;
|
||||||
|
|
||||||
_attackJoystick.OnTouchUp += DoAttack;
|
_attackJoystick.OnTouchUp += DoAttack;
|
||||||
_attackJoystick.OnTouchDown += AimCanvas;
|
_attackJoystick.OnTouchDown += AimCanvas;
|
||||||
|
|
||||||
|
inventoryView.SetUpUI(unit.InventoryCapacity);
|
||||||
|
_unit.OnItemPickUp += PickUp;
|
||||||
|
_inventoryView = inventoryView;
|
||||||
|
inventoryView.OnItemInvoked += AimPlaceItem;
|
||||||
|
_placeJoystick.OnTouchDown += AimCanvas;
|
||||||
|
_placeJoystick.OnTouchUp += PlaceItem;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void AimPlaceItem(Item item)
|
||||||
|
{
|
||||||
|
if (!_unit.IsBusy)
|
||||||
|
{
|
||||||
|
_placeJoystick.gameObject.SetActive(true);
|
||||||
|
_itemToPlace = item;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void PlaceItem()
|
||||||
|
{
|
||||||
|
_unit.UnitView.AimCanvas.SetActive(false);
|
||||||
|
|
||||||
|
_itemToPlace.PlaceItem(_cellToPlace);
|
||||||
|
|
||||||
|
_placeJoystick.gameObject.SetActive(false);
|
||||||
|
}
|
||||||
|
private void PickUp(Item item)
|
||||||
|
{
|
||||||
|
_inventoryView.PickUpItem(item);
|
||||||
|
}
|
||||||
private void DoAttack()
|
private void DoAttack()
|
||||||
{
|
{
|
||||||
_unit.UnitView.AimCanvas.SetActive(false);
|
_unit.UnitView.AimCanvas.SetActive(false);
|
||||||
@ -46,8 +86,8 @@ namespace Chars
|
|||||||
|
|
||||||
if (!_unit.IsBusy && _moveJoystick.Direction != Vector2.zero)
|
if (!_unit.IsBusy && _moveJoystick.Direction != Vector2.zero)
|
||||||
{
|
{
|
||||||
|
_placeJoystick.gameObject.SetActive(false);
|
||||||
_unit.Move(VectorToDirection(_moveJoystick.Direction.normalized));
|
_unit.Move(DirectionHelper.VectorToDirection(_moveJoystick.Direction.normalized));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!_unit.IsBusy && _attackJoystick.isPressed)
|
if (!_unit.IsBusy && _attackJoystick.isPressed)
|
||||||
@ -55,42 +95,14 @@ namespace Chars
|
|||||||
_attackDircetion = _attackJoystick.Direction.normalized;
|
_attackDircetion = _attackJoystick.Direction.normalized;
|
||||||
_unit.Aim(_attackDircetion);
|
_unit.Aim(_attackDircetion);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!_unit.IsBusy && _placeJoystick.isPressed)
|
||||||
|
{
|
||||||
|
_placeDirection = DirectionHelper.VectorToDirection(_placeJoystick.Direction.normalized);
|
||||||
|
_cellToPlace = _unit.PlaceItemAim(_placeDirection);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static HexDirection VectorToDirection(Vector2 dir)
|
|
||||||
{
|
|
||||||
if (dir.x >= 0 && dir.y <= 1 && dir.x <= 1 && dir.y >= 0.5)
|
|
||||||
{
|
|
||||||
return HexDirection.NE;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (Math.Abs(dir.x - 1f) < 0.2 && dir.y <= 0.5 && dir.y >= -0.5)
|
|
||||||
{
|
|
||||||
return HexDirection.E;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (dir.x <= 1 && dir.y <= -0.5 && dir.x >= 0 && dir.y >= -1)
|
|
||||||
{
|
|
||||||
return HexDirection.SE;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (dir.x <= 0 && dir.y >= -1 && dir.x >= -1 && dir.y <= -0.5)
|
|
||||||
{
|
|
||||||
return HexDirection.SW;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (Math.Abs(dir.x - (-1f)) < 0.2 && dir.y >= -0.5 && dir.y <= 0.5)
|
|
||||||
{
|
|
||||||
return HexDirection.W;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (dir.x >= -1 && dir.y >= 0.5 && dir.x <= 0 && dir.y <= 1)
|
|
||||||
{
|
|
||||||
return HexDirection.NW;
|
|
||||||
}
|
|
||||||
|
|
||||||
return HexDirection.W;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public void Execute()
|
public void Execute()
|
||||||
|
@ -1,8 +1,11 @@
|
|||||||
using System;
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
using Chars;
|
using Chars;
|
||||||
using Data;
|
using Data;
|
||||||
|
using DefaultNamespace;
|
||||||
using DG.Tweening;
|
using DG.Tweening;
|
||||||
using HexFiled;
|
using HexFiled;
|
||||||
|
using Items;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
using Weapons;
|
using Weapons;
|
||||||
using Object = UnityEngine.Object;
|
using Object = UnityEngine.Object;
|
||||||
@ -15,7 +18,7 @@ namespace Units
|
|||||||
{
|
{
|
||||||
private bool _isAlive;
|
private bool _isAlive;
|
||||||
private GameObject _instance;
|
private GameObject _instance;
|
||||||
|
private List<Item> _inventory;
|
||||||
private AnimLength _animLength;
|
private AnimLength _animLength;
|
||||||
private HexCell _cell;
|
private HexCell _cell;
|
||||||
private HexGrid _hexGrid;
|
private HexGrid _hexGrid;
|
||||||
@ -31,12 +34,16 @@ namespace Units
|
|||||||
private BarCanvas _barCanvas;
|
private BarCanvas _barCanvas;
|
||||||
private bool _isHardToCapture;
|
private bool _isHardToCapture;
|
||||||
private bool _isCapturing;
|
private bool _isCapturing;
|
||||||
|
private int _attackBonus;
|
||||||
|
private int _defenceBonus;
|
||||||
|
|
||||||
|
|
||||||
public bool IsBusy => _isBusy;
|
public bool IsBusy => _isBusy;
|
||||||
public GameObject PlayerInstance => _instance;
|
|
||||||
public UnitView UnitView => _unitView;
|
public UnitView UnitView => _unitView;
|
||||||
public bool IsAlive => _isAlive;
|
public bool IsAlive => _isAlive;
|
||||||
|
public UnitColor Color => _data.color;
|
||||||
|
public int InventoryCapacity => _data.inventoryCapacity;
|
||||||
|
public Action<Item> OnItemPickUp;
|
||||||
|
|
||||||
public Unit(UnitInfo unitData, Weapon weapon, HexGrid hexGrid)
|
public Unit(UnitInfo unitData, Weapon weapon, HexGrid hexGrid)
|
||||||
{
|
{
|
||||||
@ -49,10 +56,32 @@ namespace Units
|
|||||||
_isCapturing = false;
|
_isCapturing = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void SetAttackBonus(int duration, int value)
|
||||||
|
{
|
||||||
|
TimerHelper.Instance.StartTimer(StopAttackBonus, duration);
|
||||||
|
_weapon.SetModifiedDamage(value);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void StopAttackBonus()
|
||||||
|
{
|
||||||
|
_weapon.SetModifiedDamage(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SetDefenceBonus(int duration, int value)
|
||||||
|
{
|
||||||
|
TimerHelper.Instance.StartTimer(StopDefenceBonus, duration);
|
||||||
|
_defenceBonus = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void StopDefenceBonus()
|
||||||
|
{
|
||||||
|
_defenceBonus = 0;
|
||||||
|
}
|
||||||
|
|
||||||
public void Move(HexDirection direction)
|
public void Move(HexDirection direction)
|
||||||
{
|
{
|
||||||
if (!_cell.GetNeighbor(direction) || _isBusy) return;
|
if (!_cell.GetNeighbor(direction) || _isBusy) return;
|
||||||
_unitView.StopHardCature();
|
_unitView.StopHardCapture();
|
||||||
if (_cell.GetNeighbor(direction).Color == _data.color)
|
if (_cell.GetNeighbor(direction).Color == _data.color)
|
||||||
{
|
{
|
||||||
DoTransit(direction);
|
DoTransit(direction);
|
||||||
@ -117,6 +146,7 @@ namespace Units
|
|||||||
{
|
{
|
||||||
_cell = _hexGrid.GetCellFromCoord(_data.spawnPos);
|
_cell = _hexGrid.GetCellFromCoord(_data.spawnPos);
|
||||||
_cell.PaintHex(_data.color);
|
_cell.PaintHex(_data.color);
|
||||||
|
_inventory = new List<Item>();
|
||||||
for (int i = 0; i < 6; i++)
|
for (int i = 0; i < 6; i++)
|
||||||
{
|
{
|
||||||
var neigh = _cell.GetNeighbor((HexDirection)i);
|
var neigh = _cell.GetNeighbor((HexDirection)i);
|
||||||
@ -139,7 +169,7 @@ namespace Units
|
|||||||
_animator = _instance.GetComponent<Animator>();
|
_animator = _instance.GetComponent<Animator>();
|
||||||
_unitView = _instance.GetComponent<UnitView>();
|
_unitView = _instance.GetComponent<UnitView>();
|
||||||
_barCanvas = _unitView.BarCanvas.GetComponent<BarCanvas>();
|
_barCanvas = _unitView.BarCanvas.GetComponent<BarCanvas>();
|
||||||
_unitView.SetUp(_barCanvas.SpawnShotUI(_weapon.shots), _weapon, RegenMana, _data.manaRegen, CaptureHex);
|
_unitView.SetUp(_barCanvas.SpawnShotUI(_weapon.shots), _weapon, RegenMana, _data.manaRegen, CaptureHex, this);
|
||||||
SetAnimLength();
|
SetAnimLength();
|
||||||
MusicController.Instance.AddAudioSource(_instance);
|
MusicController.Instance.AddAudioSource(_instance);
|
||||||
_mana = _data.maxMana;
|
_mana = _data.maxMana;
|
||||||
@ -154,6 +184,23 @@ namespace Units
|
|||||||
UpdateBarCanvas();
|
UpdateBarCanvas();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public bool PickUpItem(ItemView itemView)
|
||||||
|
{
|
||||||
|
if (_inventory.Count < _data.inventoryCapacity)
|
||||||
|
{
|
||||||
|
var item = itemView.PickUp(this);
|
||||||
|
_inventory.Add(item);
|
||||||
|
OnItemPickUp.Invoke(item);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void UseItem(Item item)
|
||||||
|
{
|
||||||
|
_inventory.Remove(item);
|
||||||
|
}
|
||||||
private void MoveEnd()
|
private void MoveEnd()
|
||||||
{
|
{
|
||||||
_isBusy = false;
|
_isBusy = false;
|
||||||
@ -200,7 +247,7 @@ namespace Units
|
|||||||
ball.AddComponent<WeaponView>().SetWeapon(_weapon);
|
ball.AddComponent<WeaponView>().SetWeapon(_weapon);
|
||||||
ball.transform.DOMove(
|
ball.transform.DOMove(
|
||||||
new Vector3(_direction.normalized.x,
|
new Vector3(_direction.normalized.x,
|
||||||
0, _direction.normalized.y) * _weapon.disnatce * _hexGrid.HexDistance +
|
0, _direction.normalized.y) * _weapon.disnatce * HexGrid.HexDistance +
|
||||||
_instance.transform.position + new Vector3(0, 2, 0),
|
_instance.transform.position + new Vector3(0, 2, 0),
|
||||||
_weapon.speed)
|
_weapon.speed)
|
||||||
.SetEase(Ease.Linear)
|
.SetEase(Ease.Linear)
|
||||||
@ -268,14 +315,30 @@ namespace Units
|
|||||||
_direction = direction;
|
_direction = direction;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public HexCell PlaceItemAim(HexDirection direction)
|
||||||
|
{
|
||||||
|
var cell = _cell.GetNeighbor(direction);
|
||||||
|
_unitView.AimCanvas.transform.LookAt(cell.transform);
|
||||||
|
return cell;
|
||||||
|
}
|
||||||
|
|
||||||
private void Damage(int dmg)
|
private void Damage(int dmg)
|
||||||
{
|
{
|
||||||
if (_hp - dmg <= 0f)
|
|
||||||
|
if (_defenceBonus == 0 && _hp - dmg <= 0f)
|
||||||
{
|
{
|
||||||
Death();
|
Death();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (_defenceBonus > 0)
|
||||||
|
{
|
||||||
|
_defenceBonus -= dmg;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
_hp -= dmg;
|
_hp -= dmg;
|
||||||
|
}
|
||||||
|
|
||||||
UpdateBarCanvas();
|
UpdateBarCanvas();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -6,12 +6,12 @@ namespace Chars
|
|||||||
{
|
{
|
||||||
[SerializeField] private FloatingJoystick moveJoystick;
|
[SerializeField] private FloatingJoystick moveJoystick;
|
||||||
[SerializeField] private FloatingJoystick attackJoystick;
|
[SerializeField] private FloatingJoystick attackJoystick;
|
||||||
|
[SerializeField] private FloatingJoystick placeJoystick;
|
||||||
|
|
||||||
|
|
||||||
public FloatingJoystick MoveJoystick => moveJoystick;
|
public FloatingJoystick MoveJoystick => moveJoystick;
|
||||||
public FloatingJoystick AttackJoystick => attackJoystick;
|
public FloatingJoystick AttackJoystick => attackJoystick;
|
||||||
|
|
||||||
|
public FloatingJoystick PlaceJoystick => placeJoystick;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -4,7 +4,10 @@ using System.Collections.Generic;
|
|||||||
using Data;
|
using Data;
|
||||||
using DG.Tweening;
|
using DG.Tweening;
|
||||||
using HexFiled;
|
using HexFiled;
|
||||||
|
using Items;
|
||||||
|
using Units;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
using UnityEngine.Events;
|
||||||
using UnityEngine.UI;
|
using UnityEngine.UI;
|
||||||
using Weapons;
|
using Weapons;
|
||||||
using Random = UnityEngine.Random;
|
using Random = UnityEngine.Random;
|
||||||
@ -32,11 +35,14 @@ public class UnitView : MonoBehaviour
|
|||||||
private Action _capureHex;
|
private Action _capureHex;
|
||||||
private Sequence _sequence;
|
private Sequence _sequence;
|
||||||
private AudioSource _audioSource;
|
private AudioSource _audioSource;
|
||||||
|
private Unit _unit;
|
||||||
|
|
||||||
public GameObject BarCanvas => barCanvas;
|
public GameObject BarCanvas => barCanvas;
|
||||||
public GameObject AimCanvas => aimCanvas;
|
public GameObject AimCanvas => aimCanvas;
|
||||||
|
public UnitColor Color => _unit.Color;
|
||||||
|
|
||||||
public void SetUp(Stack<ShotUIView> shots, Weapon weapon, Action regenMana, int manaRegen, Action captureHex)
|
public void SetUp(Stack<ShotUIView> shots, Weapon weapon, Action regenMana, int manaRegen, Action captureHex,
|
||||||
|
Unit unit)
|
||||||
{
|
{
|
||||||
_shootUIStack = shots;
|
_shootUIStack = shots;
|
||||||
_weapon = weapon;
|
_weapon = weapon;
|
||||||
@ -44,6 +50,7 @@ public class UnitView : MonoBehaviour
|
|||||||
_startRegen = regenMana;
|
_startRegen = regenMana;
|
||||||
_manaRegen = manaRegen;
|
_manaRegen = manaRegen;
|
||||||
_capureHex = captureHex;
|
_capureHex = captureHex;
|
||||||
|
_unit = unit;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void HardCaptureHex(HexCell cell)
|
public void HardCaptureHex(HexCell cell)
|
||||||
@ -61,7 +68,7 @@ public class UnitView : MonoBehaviour
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public void StopHardCature()
|
public void StopHardCapture()
|
||||||
{
|
{
|
||||||
_sequence.Kill();
|
_sequence.Kill();
|
||||||
captureBar.DOFillAmount(0f, 0f).SetEase(Ease.Linear);
|
captureBar.DOFillAmount(0f, 0f).SetEase(Ease.Linear);
|
||||||
@ -120,10 +127,17 @@ public class UnitView : MonoBehaviour
|
|||||||
WeaponView weaponView = other.GetComponent<WeaponView>();
|
WeaponView weaponView = other.GetComponent<WeaponView>();
|
||||||
if (weaponView != null)
|
if (weaponView != null)
|
||||||
{
|
{
|
||||||
OnHit?.Invoke(weaponView.Weapon.damage);
|
OnHit?.Invoke(weaponView.Weapon.modifiedDamage);
|
||||||
other.transform.DOKill();
|
other.transform.DOKill();
|
||||||
Destroy(other.gameObject);
|
Destroy(other.gameObject);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ItemView itemView = other.GetComponent<ItemView>();
|
||||||
|
|
||||||
|
if (itemView != null && _unit.PickUpItem(itemView))
|
||||||
|
{
|
||||||
|
Destroy(itemView.gameObject);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private IEnumerator Reload()
|
private IEnumerator Reload()
|
||||||
|
@ -10,7 +10,7 @@ namespace Weapons
|
|||||||
public GameObject icon;
|
public GameObject icon;
|
||||||
public GameObject objectToThrow;
|
public GameObject objectToThrow;
|
||||||
public GameObject VFXGameObject;
|
public GameObject VFXGameObject;
|
||||||
public int manaCost;
|
public int modifiedDamage;
|
||||||
public int damage;
|
public int damage;
|
||||||
public float speed;
|
public float speed;
|
||||||
public int disnatce;
|
public int disnatce;
|
||||||
@ -18,5 +18,10 @@ namespace Weapons
|
|||||||
public int shots;
|
public int shots;
|
||||||
public AudioClip shotSound;
|
public AudioClip shotSound;
|
||||||
public AudioClip hitSound;
|
public AudioClip hitSound;
|
||||||
|
|
||||||
|
public void SetModifiedDamage(int bonus)
|
||||||
|
{
|
||||||
|
modifiedDamage = damage + bonus;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|