Modified character state system. Added SuperJump without appropriate targeting UI
This commit is contained in:
parent
e1dde52d70
commit
c5f883829f
@ -44,6 +44,31 @@ AnimatorStateTransition:
|
||||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!1101 &-7864811333266388210
|
||||
AnimatorStateTransition:
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name:
|
||||
m_Conditions:
|
||||
- m_ConditionMode: 1
|
||||
m_ConditionEvent: SuperJump
|
||||
m_EventTreshold: 0
|
||||
m_DstStateMachine: {fileID: 0}
|
||||
m_DstState: {fileID: 4786967278910117454}
|
||||
m_Solo: 0
|
||||
m_Mute: 0
|
||||
m_IsExit: 0
|
||||
serializedVersion: 3
|
||||
m_TransitionDuration: 0.25
|
||||
m_TransitionOffset: 0
|
||||
m_ExitTime: 0.53125
|
||||
m_HasExitTime: 0
|
||||
m_HasFixedDuration: 1
|
||||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!1101 &-7709086499349086692
|
||||
AnimatorStateTransition:
|
||||
m_ObjectHideFlags: 1
|
||||
@ -184,13 +209,16 @@ AnimatorStateMachine:
|
||||
m_Position: {x: 100, y: 190, z: 0}
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: -5420591165863964520}
|
||||
m_Position: {x: 600, y: 40, z: 0}
|
||||
m_Position: {x: 610, y: -50, z: 0}
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: 4854150556359437757}
|
||||
m_Position: {x: 620, y: 180, z: 0}
|
||||
m_Position: {x: 700, y: 50, z: 0}
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: 5596697925261898950}
|
||||
m_Position: {x: 360, y: 240, z: 0}
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: 4786967278910117454}
|
||||
m_Position: {x: 630, y: 220, z: 0}
|
||||
m_ChildStateMachines: []
|
||||
m_AnyStateTransitions: []
|
||||
m_EntryTransitions: []
|
||||
@ -201,6 +229,28 @@ AnimatorStateMachine:
|
||||
m_ExitPosition: {x: 790, y: -90, z: 0}
|
||||
m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
|
||||
m_DefaultState: {fileID: 7761001461743940837}
|
||||
--- !u!1101 &-1565193609637757068
|
||||
AnimatorStateTransition:
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name:
|
||||
m_Conditions: []
|
||||
m_DstStateMachine: {fileID: 0}
|
||||
m_DstState: {fileID: 7761001461743940837}
|
||||
m_Solo: 0
|
||||
m_Mute: 0
|
||||
m_IsExit: 0
|
||||
serializedVersion: 3
|
||||
m_TransitionDuration: 0.25
|
||||
m_TransitionOffset: 0
|
||||
m_ExitTime: 0.9050633
|
||||
m_HasExitTime: 1
|
||||
m_HasFixedDuration: 1
|
||||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!91 &9100000
|
||||
AnimatorController:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -215,31 +265,37 @@ AnimatorController:
|
||||
m_DefaultFloat: 0
|
||||
m_DefaultInt: 0
|
||||
m_DefaultBool: 0
|
||||
m_Controller: {fileID: 9100000}
|
||||
m_Controller: {fileID: 0}
|
||||
- m_Name: BackToIdle
|
||||
m_Type: 9
|
||||
m_DefaultFloat: 0
|
||||
m_DefaultInt: 0
|
||||
m_DefaultBool: 0
|
||||
m_Controller: {fileID: 9100000}
|
||||
m_Controller: {fileID: 0}
|
||||
- m_Name: Build
|
||||
m_Type: 9
|
||||
m_DefaultFloat: 0
|
||||
m_DefaultInt: 0
|
||||
m_DefaultBool: 0
|
||||
m_Controller: {fileID: 9100000}
|
||||
m_Controller: {fileID: 0}
|
||||
- m_Name: TreeAttack
|
||||
m_Type: 9
|
||||
m_DefaultFloat: 0
|
||||
m_DefaultInt: 0
|
||||
m_DefaultBool: 0
|
||||
m_Controller: {fileID: 9100000}
|
||||
m_Controller: {fileID: 0}
|
||||
- m_Name: Move
|
||||
m_Type: 9
|
||||
m_DefaultFloat: 0
|
||||
m_DefaultInt: 0
|
||||
m_DefaultBool: 0
|
||||
m_Controller: {fileID: 9100000}
|
||||
m_Controller: {fileID: 0}
|
||||
- m_Name: SuperJump
|
||||
m_Type: 9
|
||||
m_DefaultFloat: 0
|
||||
m_DefaultInt: 0
|
||||
m_DefaultBool: 0
|
||||
m_Controller: {fileID: 0}
|
||||
m_AnimatorLayers:
|
||||
- serializedVersion: 5
|
||||
m_Name: Base Layer
|
||||
@ -457,6 +513,33 @@ AnimatorStateTransition:
|
||||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!1102 &4786967278910117454
|
||||
AnimatorState:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: SuperJump
|
||||
m_Speed: 1
|
||||
m_CycleOffset: 0
|
||||
m_Transitions:
|
||||
- {fileID: -1565193609637757068}
|
||||
m_StateMachineBehaviours: []
|
||||
m_Position: {x: 50, y: 50, z: 0}
|
||||
m_IKOnFeet: 0
|
||||
m_WriteDefaultValues: 1
|
||||
m_Mirror: 0
|
||||
m_SpeedParameterActive: 0
|
||||
m_MirrorParameterActive: 0
|
||||
m_CycleOffsetParameterActive: 0
|
||||
m_TimeParameterActive: 0
|
||||
m_Motion: {fileID: 7400000, guid: 097363ae0f4e1f447b1b623e24b9cd2e, type: 2}
|
||||
m_Tag:
|
||||
m_SpeedParameter:
|
||||
m_MirrorParameter:
|
||||
m_CycleOffsetParameter:
|
||||
m_TimeParameter:
|
||||
--- !u!1102 &4854150556359437757
|
||||
AnimatorState:
|
||||
serializedVersion: 6
|
||||
@ -551,6 +634,7 @@ AnimatorState:
|
||||
- {fileID: 4049465237675511472}
|
||||
- {fileID: -7709086499349086692}
|
||||
- {fileID: 1079191915755825572}
|
||||
- {fileID: -7864811333266388210}
|
||||
m_StateMachineBehaviours: []
|
||||
m_Position: {x: 50, y: 50, z: 0}
|
||||
m_IKOnFeet: 0
|
||||
|
@ -13,6 +13,6 @@ MonoBehaviour:
|
||||
m_Name: bonus_att_0
|
||||
m_EditorClassIdentifier:
|
||||
bonusType: 0
|
||||
bonusAction: {fileID: 11400000, guid: fa0a94f859c6c18469c594e9776e36a5, type: 2}
|
||||
bonusAction: {fileID: 11400000, guid: c15acfd0a41c0aa4dad9984a0bf65905, type: 2}
|
||||
icon: {fileID: 21300000, guid: cd80020b84891c542bb620ee4e16c472, type: 3}
|
||||
bonusLevel: 0
|
||||
|
@ -14,6 +14,6 @@ MonoBehaviour:
|
||||
m_EditorClassIdentifier:
|
||||
duration: 3.15
|
||||
distance: 1
|
||||
actionState: 4
|
||||
actionType: 2
|
||||
buildPref: {fileID: 2876353875295318420, guid: 2fb427c4f691758448ac2c6450b27242,
|
||||
type: 3}
|
||||
|
@ -14,6 +14,6 @@ MonoBehaviour:
|
||||
m_EditorClassIdentifier:
|
||||
duration: 3.15
|
||||
distance: 1
|
||||
actionState: 4
|
||||
actionType: 2
|
||||
buildPref: {fileID: 5119240428719783082, guid: a80c8a9443ee8d547b06a2f1d8b4900e,
|
||||
type: 3}
|
||||
|
@ -14,6 +14,6 @@ MonoBehaviour:
|
||||
m_EditorClassIdentifier:
|
||||
duration: 3.15
|
||||
distance: 1
|
||||
actionState: 4
|
||||
actionType: 2
|
||||
buildPref: {fileID: 4810627989180709430, guid: 019d55682fa91934eaf2df23b6eb055e,
|
||||
type: 3}
|
||||
|
@ -14,6 +14,6 @@ MonoBehaviour:
|
||||
m_EditorClassIdentifier:
|
||||
duration: 3.15
|
||||
distance: 1
|
||||
actionState: 4
|
||||
actionType: 2
|
||||
trapPref: {fileID: 8305872390849316384, guid: abdfd5b61d4a8664fb8222503bb9f3e8,
|
||||
type: 3}
|
||||
|
@ -14,4 +14,4 @@ MonoBehaviour:
|
||||
m_EditorClassIdentifier:
|
||||
duration: 1
|
||||
distance: 1
|
||||
actionType: 3
|
||||
actionType: 0
|
||||
|
17
Assets/Prefabs_NEW/PlayerActions/SuperJump.asset
Normal file
17
Assets/Prefabs_NEW/PlayerActions/SuperJump.asset
Normal file
@ -0,0 +1,17 @@
|
||||
%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: 0169a7715dc4850439785448a35ff4a3, type: 3}
|
||||
m_Name: SuperJump
|
||||
m_EditorClassIdentifier:
|
||||
duration: 2
|
||||
distance: 1
|
||||
actionType: 4
|
8
Assets/Prefabs_NEW/PlayerActions/SuperJump.asset.meta
Normal file
8
Assets/Prefabs_NEW/PlayerActions/SuperJump.asset.meta
Normal file
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c15acfd0a41c0aa4dad9984a0bf65905
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -14,7 +14,7 @@ MonoBehaviour:
|
||||
m_EditorClassIdentifier:
|
||||
duration: 0.3
|
||||
distance: 1
|
||||
actionState: 5
|
||||
actionType: 3
|
||||
attackPref: {fileID: 5329242548601918259, guid: 87df8882a1fca7f4f83d9c9015eede7a,
|
||||
type: 3}
|
||||
damage: 60
|
||||
|
@ -2025,7 +2025,7 @@ Transform:
|
||||
m_Children:
|
||||
- {fileID: 526352758}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 15
|
||||
m_RootOrder: 14
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &185995048
|
||||
MonoBehaviour:
|
||||
@ -5172,7 +5172,7 @@ Transform:
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 16
|
||||
m_RootOrder: 15
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1001 &471392440
|
||||
PrefabInstance:
|
||||
@ -5870,7 +5870,7 @@ Transform:
|
||||
m_LocalScale: {x: 8, y: 8, z: 8}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 6
|
||||
m_RootOrder: 5
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1001 &508187713
|
||||
PrefabInstance:
|
||||
@ -8555,7 +8555,7 @@ Transform:
|
||||
- {fileID: 272588901}
|
||||
- {fileID: 1605217076}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 12
|
||||
m_RootOrder: 11
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1001 &752477394
|
||||
PrefabInstance:
|
||||
@ -9046,7 +9046,7 @@ Transform:
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 9
|
||||
m_RootOrder: 8
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1001 &807330786
|
||||
PrefabInstance:
|
||||
@ -9966,7 +9966,7 @@ Transform:
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 7
|
||||
m_RootOrder: 6
|
||||
m_LocalEulerAnglesHint: {x: 135, y: 89.99999, z: 0}
|
||||
--- !u!1 &868827590 stripped
|
||||
GameObject:
|
||||
@ -10186,7 +10186,7 @@ Transform:
|
||||
m_Children:
|
||||
- {fileID: 1946816076}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 14
|
||||
m_RootOrder: 13
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &913312418 stripped
|
||||
GameObject:
|
||||
@ -11214,7 +11214,7 @@ Transform:
|
||||
m_Children:
|
||||
- {fileID: 1923264932}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 8
|
||||
m_RootOrder: 7
|
||||
m_LocalEulerAnglesHint: {x: 70, y: 45.000004, z: 0}
|
||||
--- !u!1001 &965368894
|
||||
PrefabInstance:
|
||||
@ -13107,7 +13107,7 @@ Transform:
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 10
|
||||
m_RootOrder: 9
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &1102420989
|
||||
MonoBehaviour:
|
||||
@ -18794,7 +18794,7 @@ Transform:
|
||||
- {fileID: 1372657677}
|
||||
- {fileID: 2040783569}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 18
|
||||
m_RootOrder: 17
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &1503763737
|
||||
MonoBehaviour:
|
||||
@ -20953,7 +20953,7 @@ Transform:
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 17
|
||||
m_RootOrder: 16
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1001 &1639545075
|
||||
PrefabInstance:
|
||||
@ -22708,7 +22708,7 @@ Transform:
|
||||
- {fileID: 622020284}
|
||||
- {fileID: 1511619758}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 11
|
||||
m_RootOrder: 10
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &1801060023
|
||||
MonoBehaviour:
|
||||
@ -22975,7 +22975,7 @@ RectTransform:
|
||||
- {fileID: 6614787374390785079}
|
||||
- {fileID: 436034243}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 13
|
||||
m_RootOrder: 12
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
@ -24689,8 +24689,7 @@ Transform:
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1923264931}
|
||||
m_LocalRotation: {x: 0.029971035, y: -0.000000004076362, z: 0.0000000075761575,
|
||||
w: 0.9995508}
|
||||
m_LocalRotation: {x: 0.029971035, y: 0.000000004076362, z: -0.000000007576159, w: 0.9995508}
|
||||
m_LocalPosition: {x: 0, y: 0.87083435, z: -14.50833}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
@ -25376,7 +25375,7 @@ Transform:
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1946816075}
|
||||
m_LocalRotation: {x: 0.5257311, y: -0.000000007318311, z: 0.000000004522964, w: 0.85065085}
|
||||
m_LocalRotation: {x: 0.5257311, y: 0.0000000073183117, z: -0.0000000045229647, w: 0.85065085}
|
||||
m_LocalPosition: {x: 0, y: 13, z: -6.5}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children:
|
||||
@ -25645,75 +25644,6 @@ MonoBehaviour:
|
||||
hCost: 0
|
||||
fCost: 0
|
||||
parent: {fileID: 0}
|
||||
--- !u!1001 &1989109123
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_Modification:
|
||||
m_TransformParent: {fileID: 0}
|
||||
m_Modifications:
|
||||
- target: {fileID: 2307028534112872116, guid: 79d768bf87aadec478a5722da8c6d516,
|
||||
type: 3}
|
||||
propertyPath: m_Name
|
||||
value: DamageBomb
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2310877354265898640, guid: 79d768bf87aadec478a5722da8c6d516,
|
||||
type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2310877354265898640, guid: 79d768bf87aadec478a5722da8c6d516,
|
||||
type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: -1.0537146
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2310877354265898640, guid: 79d768bf87aadec478a5722da8c6d516,
|
||||
type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: -0.14899969
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2310877354265898640, guid: 79d768bf87aadec478a5722da8c6d516,
|
||||
type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: -1.3211665
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2310877354265898640, guid: 79d768bf87aadec478a5722da8c6d516,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 0.7071068
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2310877354265898640, guid: 79d768bf87aadec478a5722da8c6d516,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: -0.7071068
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2310877354265898640, guid: 79d768bf87aadec478a5722da8c6d516,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2310877354265898640, guid: 79d768bf87aadec478a5722da8c6d516,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: -0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2310877354265898640, guid: 79d768bf87aadec478a5722da8c6d516,
|
||||
type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2310877354265898640, guid: 79d768bf87aadec478a5722da8c6d516,
|
||||
type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2310877354265898640, guid: 79d768bf87aadec478a5722da8c6d516,
|
||||
type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: 79d768bf87aadec478a5722da8c6d516, type: 3}
|
||||
--- !u!1001 &1996405558
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -26463,7 +26393,7 @@ Transform:
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 19
|
||||
m_RootOrder: 18
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &2036756630 stripped
|
||||
GameObject:
|
||||
|
@ -6,7 +6,7 @@ using System;
|
||||
public class ActionTargetingSystem : MonoBehaviour
|
||||
{
|
||||
|
||||
public Action<TileInfo> OnFoundTarget;
|
||||
public Action<TileInfo, ActionType> OnFoundTarget;
|
||||
public Action OnLostTarget;
|
||||
|
||||
private PlayerState _playerState;
|
||||
@ -49,7 +49,7 @@ public class ActionTargetingSystem : MonoBehaviour
|
||||
if (targetTile != _playerState.currentActionTarget)
|
||||
{
|
||||
_playerState.currentActionTarget = targetTile;
|
||||
OnFoundTarget?.Invoke(_playerState.currentActionTarget);
|
||||
OnFoundTarget?.Invoke(_playerState.currentActionTarget, _playerState.currentAction.actionType);
|
||||
}
|
||||
}
|
||||
else
|
||||
|
@ -29,7 +29,7 @@ public class ActionTriggerSystem : MonoBehaviour
|
||||
//OnLostTarget?.Invoke();
|
||||
StopAllCoroutines();
|
||||
//Debug.Log("trigger current action");
|
||||
if (_playerState.currentAction.actionState == CharacterState.Attack)
|
||||
if (_playerState.currentAction.actionType == ActionType.Attack)
|
||||
{
|
||||
if (!GetComponent<AttackEnergyController>().IsReady())
|
||||
{
|
||||
@ -51,10 +51,11 @@ public class ActionTriggerSystem : MonoBehaviour
|
||||
{
|
||||
return;
|
||||
}
|
||||
_playerState.SetNewState(action.actionState);
|
||||
_playerState.SetNewState(CharacterState.Action);
|
||||
|
||||
//Debug.Log("started state " + action.actionState);
|
||||
transform.LookAt(_playerState.currentActionTarget.tilePosition);
|
||||
action.StartActionOperations(_playerState.currentActionTarget);
|
||||
action.StartActionOperations(_playerState.currentActionTarget, _playerState);
|
||||
StartCoroutine(WaitTillActionEnd(action));
|
||||
}
|
||||
|
||||
@ -70,7 +71,7 @@ public class ActionTriggerSystem : MonoBehaviour
|
||||
if (_actionProgress > 0.7f && !actionImpact)
|
||||
{
|
||||
actionImpact = true;
|
||||
action.Impact(target, _playerState.currentTile, _playerState.ownerIndex);
|
||||
action.Impact(target, _playerState);
|
||||
}
|
||||
timer += Time.fixedDeltaTime;
|
||||
_actionProgress = timer / waitTime;
|
||||
|
@ -18,11 +18,11 @@ public class Attack : PlayerAction
|
||||
return permission;
|
||||
}
|
||||
|
||||
public override void Impact(TileInfo targetTile, TileInfo currentTile, TileOwner owner)
|
||||
public override void Impact(TileInfo targetTile, PlayerState currentPlayer)
|
||||
{
|
||||
base.Impact(targetTile, currentTile, owner);
|
||||
Vector3 direction = targetTile.tilePosition - currentTile.tilePosition;
|
||||
InitAttack(currentTile.tilePosition, direction, owner);
|
||||
base.Impact(targetTile, currentPlayer);
|
||||
Vector3 direction = targetTile.tilePosition - currentPlayer.currentTile.tilePosition;
|
||||
InitAttack(currentPlayer.currentTile.tilePosition, direction, currentPlayer.ownerIndex);
|
||||
}
|
||||
|
||||
private void InitAttack(Vector3 startPosition, Vector3 direction, TileOwner projOwner)
|
||||
|
@ -16,11 +16,10 @@ public class Build : PlayerAction
|
||||
return permission;
|
||||
}
|
||||
|
||||
public override void StartActionOperations(TileInfo targetTile)
|
||||
public override void StartActionOperations(TileInfo targetTile, PlayerState currentPlayer)
|
||||
{
|
||||
base.StartActionOperations(targetTile);
|
||||
base.StartActionOperations(targetTile, currentPlayer);
|
||||
var spawnedTower = Instantiate(buildPref, targetTile.tilePosition, buildPref.transform.rotation);
|
||||
TileManagment.AssignBuildingToTile(targetTile, spawnedTower);
|
||||
//Debug.Log("startBuilding");
|
||||
}
|
||||
}
|
||||
|
@ -7,9 +7,9 @@ public class PlayerAction : ScriptableObject
|
||||
public float duration = 1f;
|
||||
public float distance = 1;
|
||||
|
||||
public CharacterState actionState = CharacterState.Attack;
|
||||
//public CharacterState actionState = CharacterState.Attack;
|
||||
|
||||
//public CharacterSubState actionType = CharacterSubState.Attack;
|
||||
public ActionType actionType = ActionType.Attack;
|
||||
public virtual bool IsActionAllowed(TileInfo targetTile, PlayerState playerState)
|
||||
{
|
||||
if (!targetTile)
|
||||
@ -20,12 +20,12 @@ public class PlayerAction : ScriptableObject
|
||||
return targetTile != playerState.currentTile;
|
||||
}
|
||||
|
||||
public virtual void StartActionOperations(TileInfo targetTile)
|
||||
public virtual void StartActionOperations(TileInfo targetTile, PlayerState currentPlayer)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public virtual void Impact(TileInfo targetTile, TileInfo currentTile, TileOwner owner)
|
||||
public virtual void Impact(TileInfo targetTile, PlayerState currentPlayer)
|
||||
{
|
||||
|
||||
}
|
||||
@ -35,11 +35,3 @@ public class PlayerAction : ScriptableObject
|
||||
Debug.Log("final action");
|
||||
}
|
||||
}
|
||||
|
||||
public enum ActionType
|
||||
{
|
||||
Attack,
|
||||
Build,
|
||||
Capture,
|
||||
Null
|
||||
}
|
||||
|
110
Assets/Scripts/Actions/SuperJump.cs
Normal file
110
Assets/Scripts/Actions/SuperJump.cs
Normal file
@ -0,0 +1,110 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using DG.Tweening;
|
||||
|
||||
[CreateAssetMenu(fileName = "New SuperJump", menuName = "Actions/New SuperJump")]
|
||||
public class SuperJump : PlayerAction
|
||||
{
|
||||
//public GameObject actionPref;
|
||||
//public GameObject standartAttackGroundImpact;
|
||||
|
||||
private TileInfo _target;
|
||||
|
||||
private List<TileInfo> _capTiles = new List<TileInfo>();
|
||||
|
||||
public override bool IsActionAllowed(TileInfo targetTile, PlayerState playerState)
|
||||
{
|
||||
if (!targetTile)
|
||||
return false;
|
||||
bool permission = base.IsActionAllowed(targetTile, playerState);
|
||||
permission = permission && targetTile.canBeAttacked;
|
||||
_capTiles = GetActualCapTargets(GameData.playerLevel, targetTile, playerState);
|
||||
foreach (var enemy in playerState.enemies)
|
||||
{
|
||||
if (_capTiles.Contains(enemy.currentTile))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return permission;
|
||||
}
|
||||
|
||||
public override void FinishActionOperations(PlayerState currentPlayer)
|
||||
{
|
||||
base.FinishActionOperations(currentPlayer);
|
||||
currentPlayer.currentTile = _target;
|
||||
_target = null;
|
||||
}
|
||||
|
||||
public override void Impact(TileInfo targetTile, PlayerState currentPlayer)
|
||||
{
|
||||
base.Impact(targetTile, currentPlayer);
|
||||
|
||||
var capController = currentPlayer.GetComponent<CaptureController>();
|
||||
|
||||
foreach (TileInfo tile in _capTiles)
|
||||
{
|
||||
if (tile.tileOwnerIndex != currentPlayer.ownerIndex)
|
||||
{
|
||||
capController.CaptureTile(tile);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public override void StartActionOperations(TileInfo targetTile, PlayerState currentPlayer)
|
||||
{
|
||||
base.StartActionOperations(targetTile, currentPlayer);
|
||||
_target = targetTile;
|
||||
currentPlayer.transform.DOMove(_target.tilePosition, duration);
|
||||
currentPlayer.transform.LookAt(_target.tilePosition);
|
||||
|
||||
currentPlayer.targetMoveTile = _target;
|
||||
currentPlayer.targetMoveTile.canMove = false;
|
||||
currentPlayer.currentTile.canMove = true;
|
||||
|
||||
//moveVFX.Play();
|
||||
}
|
||||
|
||||
private List<TileInfo> GetAllPossibleCapTargets(TileInfo targetTile, PlayerState playerState)
|
||||
{
|
||||
Vector3 playerDir = targetTile.tilePosition - playerState.currentTile.tilePosition;
|
||||
Vector3 playerDirR = Quaternion.AngleAxis(-60, Vector3.up) * playerDir;
|
||||
Vector3 playerDirL = Quaternion.AngleAxis(60, Vector3.up) * playerDir;
|
||||
List<TileInfo> tiles = new List<TileInfo>();
|
||||
tiles.Add(targetTile); //0
|
||||
tiles.Add(TileManagment.GetTile(tiles[0].tilePosition + playerDir)); //1
|
||||
tiles.Add(TileManagment.GetTile(tiles[0].tilePosition + 2*playerDir)); //2
|
||||
tiles.Add(TileManagment.GetTile(tiles[0].tilePosition + 3*playerDir)); //3
|
||||
tiles.Add(TileManagment.GetTile(tiles[0].tilePosition + 2*playerDir+ playerDirL)); //4
|
||||
tiles.Add(TileManagment.GetTile(tiles[0].tilePosition + 2 * playerDir + playerDirR)); //5
|
||||
tiles.Add(TileManagment.GetTile(tiles[0].tilePosition + playerDir + playerDirL)); //6
|
||||
tiles.Add(TileManagment.GetTile(tiles[0].tilePosition + playerDir + playerDirR)); //7
|
||||
tiles.Add(TileManagment.GetTile(tiles[0].tilePosition + 4 * playerDir)); //8
|
||||
tiles.Add(TileManagment.GetTile(tiles[0].tilePosition + 3*playerDir + playerDirL)); //9
|
||||
tiles.Add(TileManagment.GetTile(tiles[0].tilePosition + 3 * playerDir + playerDirR)); //10
|
||||
tiles.Add(TileManagment.GetTile(tiles[0].tilePosition + 2 * playerDir + 2 * playerDirL)); //11
|
||||
tiles.Add(TileManagment.GetTile(tiles[0].tilePosition + 2 * playerDir + 2 * playerDirR)); //12
|
||||
tiles.Add(TileManagment.GetTile(tiles[0].tilePosition + playerDir + 2 * playerDirL)); //13
|
||||
tiles.Add(TileManagment.GetTile(tiles[0].tilePosition + playerDir + 2 * playerDirR)); //14
|
||||
tiles.Add(TileManagment.GetTile(tiles[0].tilePosition + 2 * playerDirL)); //15
|
||||
tiles.Add(TileManagment.GetTile(tiles[0].tilePosition + 2 * playerDirR)); //16
|
||||
tiles.Add(TileManagment.GetTile(tiles[0].tilePosition + playerDirL)); //17
|
||||
tiles.Add(TileManagment.GetTile(tiles[0].tilePosition + playerDirR)); //18
|
||||
|
||||
return tiles;
|
||||
}
|
||||
|
||||
private List<TileInfo> GetActualCapTargets(int playerLevel, TileInfo target, PlayerState player)
|
||||
{
|
||||
List<TileInfo> allTargets = GetAllPossibleCapTargets(target, player);
|
||||
List<TileInfo> actualTargets = new List<TileInfo>();
|
||||
for (int i = 0; i <= playerLevel; i++)
|
||||
{
|
||||
actualTargets.Add(allTargets[i]);
|
||||
}
|
||||
|
||||
return actualTargets;
|
||||
}
|
||||
}
|
11
Assets/Scripts/Actions/SuperJump.cs.meta
Normal file
11
Assets/Scripts/Actions/SuperJump.cs.meta
Normal file
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 0169a7715dc4850439785448a35ff4a3
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -18,9 +18,9 @@ public class Trap : PlayerAction
|
||||
return permission;
|
||||
}
|
||||
|
||||
public override void StartActionOperations(TileInfo targetTile)
|
||||
public override void StartActionOperations(TileInfo targetTile, PlayerState currentPlayer)
|
||||
{
|
||||
base.StartActionOperations(targetTile);
|
||||
base.StartActionOperations(targetTile, currentPlayer);
|
||||
_target = targetTile;
|
||||
}
|
||||
|
||||
|
@ -19,11 +19,11 @@ public class TreeAttack : PlayerAction
|
||||
return permission;
|
||||
}
|
||||
|
||||
public override void Impact(TileInfo targetTile, TileInfo currentTile, TileOwner owner)
|
||||
public override void Impact(TileInfo targetTile, PlayerState currentPlayer)
|
||||
{
|
||||
base.Impact(targetTile, currentTile, owner);
|
||||
Vector3 direction = targetTile.tilePosition - currentTile.tilePosition;
|
||||
var currentProjectile = Instantiate(attackPref, currentTile.tilePosition + attackPref.transform.position, attackPref.transform.rotation);
|
||||
base.Impact(targetTile, currentPlayer);
|
||||
Vector3 direction = targetTile.tilePosition - currentPlayer.currentTile.tilePosition;
|
||||
var currentProjectile = Instantiate(attackPref, currentPlayer.currentTile.tilePosition + attackPref.transform.position, attackPref.transform.rotation);
|
||||
currentProjectile.transform.LookAt(targetTile.tilePosition + attackPref.transform.position);
|
||||
//InitAttack(currentTile.tilePosition, direction, owner);
|
||||
TreeHealthController tree = targetTile.buildingOnTile.GetComponent<TreeHealthController>();
|
||||
|
@ -29,15 +29,18 @@ public class AnimationController : MonoBehaviour
|
||||
case CharacterState.Move:
|
||||
activationTrigger = "Move";
|
||||
break;
|
||||
case CharacterState.Attack:
|
||||
activationTrigger = "Attack";
|
||||
break;
|
||||
case CharacterState.Build:
|
||||
activationTrigger = "Build";
|
||||
break;
|
||||
case CharacterState.TreeAttack:
|
||||
activationTrigger = "TreeAttack";
|
||||
case CharacterState.Action:
|
||||
activationTrigger = GetActionName(_playerState);
|
||||
break;
|
||||
/*case CharacterState.Attack:
|
||||
activationTrigger = "Attack";
|
||||
break;
|
||||
case CharacterState.Build:
|
||||
activationTrigger = "Build";
|
||||
break;
|
||||
case CharacterState.TreeAttack:
|
||||
activationTrigger = "TreeAttack";
|
||||
break;*/
|
||||
|
||||
}
|
||||
if (activationTrigger != "")
|
||||
@ -45,5 +48,26 @@ public class AnimationController : MonoBehaviour
|
||||
_characterAnimator.SetTrigger(activationTrigger);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private string GetActionName(PlayerState player)
|
||||
{
|
||||
var charSubState = player.currentAction.actionType;
|
||||
string result = "";
|
||||
switch (charSubState)
|
||||
{
|
||||
case ActionType.Attack:
|
||||
result = "Attack";
|
||||
break;
|
||||
case ActionType.Build:
|
||||
result = "Build";
|
||||
break;
|
||||
case ActionType.TreeAttack:
|
||||
result = "TreeAttack";
|
||||
break;
|
||||
case ActionType.SuperJump:
|
||||
result = "SuperJump";
|
||||
break;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
@ -28,7 +28,7 @@ public class AttackEnergyController : MonoBehaviour
|
||||
|
||||
private void OnPlayerAttack(CharacterState newState)
|
||||
{
|
||||
if (newState != CharacterState.Attack)
|
||||
if (newState != CharacterState.Action || _playerState.currentAction.actionType!=ActionType.Attack)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
@ -100,7 +100,7 @@ public class CaptureController : MonoBehaviour
|
||||
}
|
||||
}
|
||||
|
||||
private void CaptureTile(TileInfo tile)
|
||||
public void CaptureTile(TileInfo tile)
|
||||
{
|
||||
TileManagment.ChangeTileOwner(tile, _playerState);
|
||||
_playerState.SetNewState(CharacterState.Idle);
|
||||
|
@ -6,6 +6,7 @@ using System;
|
||||
public class GameData : MonoBehaviour
|
||||
{
|
||||
public static int coins = 0;
|
||||
public static int playerLevel = 5;
|
||||
|
||||
public static Action OnCoinsCollected;
|
||||
public static void AddCoin(int amount)
|
||||
|
@ -11,7 +11,7 @@ public class PlayerState : MonoBehaviour
|
||||
public TileOwner ownerIndex = TileOwner.Ariost;
|
||||
public CharacterState prevState = CharacterState.Idle;
|
||||
public CharacterState currentState = CharacterState.Idle;
|
||||
//public CharacterSubState currentSubState = CharacterSubState.None;
|
||||
//public ActionType currentSubState = ActionType.None;
|
||||
|
||||
public TileInfo currentTile;
|
||||
public TileInfo targetMoveTile;
|
||||
@ -21,7 +21,7 @@ public class PlayerState : MonoBehaviour
|
||||
|
||||
public Action OnInitializied;
|
||||
public Action<CharacterState> OnCharStateChanged;
|
||||
//public Action<CharacterSubState> OnSubStateChanged;
|
||||
public Action<ActionType> OnSubStateChanged;
|
||||
public Action OnActionChanged;
|
||||
public Action OnDefaultAction;
|
||||
public Action OnActionInterrupt;
|
||||
@ -68,17 +68,21 @@ public class PlayerState : MonoBehaviour
|
||||
if (currentState != newState)
|
||||
{
|
||||
prevState = currentState;
|
||||
currentState = newState;
|
||||
currentState = newState;
|
||||
/*if (newState == CharacterState.Action)
|
||||
{
|
||||
currentSubState = currentAction.actionType;
|
||||
}*/
|
||||
OnCharStateChanged?.Invoke(newState);
|
||||
}
|
||||
}
|
||||
|
||||
/*public void SetNewSubState(CharacterSubState newSubState)
|
||||
{
|
||||
if (currentSubState != newSubState)
|
||||
/*public void SetNewCharSubState(ActionType newActionType)
|
||||
{
|
||||
if (currentSubState != newActionType)
|
||||
{
|
||||
currentSubState = newSubState;
|
||||
OnSubStateChanged?.Invoke(newSubState);
|
||||
currentSubState = newActionType;
|
||||
OnSubStateChanged?.Invoke(newActionType);
|
||||
}
|
||||
}*/
|
||||
|
||||
@ -142,14 +146,15 @@ public class PlayerState : MonoBehaviour
|
||||
}
|
||||
}
|
||||
|
||||
public enum CharacterState
|
||||
public enum CharacterState
|
||||
{
|
||||
Idle,
|
||||
Capture,
|
||||
Move,
|
||||
Attack,
|
||||
Action,
|
||||
/*Attack,
|
||||
Build,
|
||||
TreeAttack,
|
||||
TreeAttack,*/
|
||||
Dead
|
||||
}
|
||||
|
||||
@ -159,8 +164,11 @@ public enum ControlType
|
||||
AI
|
||||
}
|
||||
|
||||
/*public enum CharacterSubState
|
||||
public enum ActionType
|
||||
{
|
||||
Targeting,
|
||||
None,
|
||||
}*/
|
||||
None,
|
||||
Attack,
|
||||
Build,
|
||||
TreeAttack,
|
||||
SuperJump
|
||||
}
|
||||
|
@ -37,7 +37,7 @@ public class PlayerUIController : MonoBehaviour
|
||||
_attackEnergy = GetComponent<AttackEnergyController>();
|
||||
|
||||
|
||||
_targetingSystem.OnFoundTarget += UpdateAttackUI;
|
||||
_targetingSystem.OnFoundTarget += UpdateActionUI;
|
||||
_targetingSystem.OnLostTarget += StopUpdateAttackUI;
|
||||
|
||||
_playerState.OnCharStateChanged += StartUpdatingProgressUI;
|
||||
@ -47,6 +47,16 @@ public class PlayerUIController : MonoBehaviour
|
||||
_attackEnergy.OnAttackEnergyChanged += UpdateEnergyUI;
|
||||
}
|
||||
|
||||
private void UpdateActionUI(TileInfo target, ActionType actionType)
|
||||
{
|
||||
Vector3 targetPos = target.tilePosition;
|
||||
if (targetPos != null)
|
||||
{
|
||||
_attackUI.gameObject.SetActive(true);
|
||||
_attackUI.LookAt(targetPos);
|
||||
}
|
||||
}
|
||||
|
||||
private void UpdateEnergyUI(float curEnergy, float maxEnergy)
|
||||
{
|
||||
attackEnergyUI.UpdateBar(curEnergy, maxEnergy);
|
||||
@ -66,10 +76,10 @@ public class PlayerUIController : MonoBehaviour
|
||||
string actionTypeText = "";
|
||||
switch (newState)
|
||||
{
|
||||
case CharacterState.Attack:
|
||||
/*case CharacterState.Attack:
|
||||
actionTypeText = "Attack";
|
||||
GetActionProgress += GetCurrentActionProgress;
|
||||
break;
|
||||
break;*/
|
||||
case CharacterState.Capture:
|
||||
actionTypeText = "Capturing...";
|
||||
GetActionProgress += GetCaptureProgress;
|
||||
@ -80,14 +90,18 @@ public class PlayerUIController : MonoBehaviour
|
||||
case CharacterState.Idle:
|
||||
StopUpdateProgressUI();
|
||||
return;
|
||||
case CharacterState.Build:
|
||||
case CharacterState.Action:
|
||||
actionTypeText = GetActionText(_playerState);
|
||||
GetActionProgress += GetCurrentActionProgress;
|
||||
break;
|
||||
/*case CharacterState.Build:
|
||||
actionTypeText = "Building...";
|
||||
GetActionProgress += GetCurrentActionProgress;
|
||||
break;
|
||||
case CharacterState.TreeAttack:
|
||||
actionTypeText = "Attack";
|
||||
GetActionProgress += GetCurrentActionProgress;
|
||||
break;
|
||||
break;*/
|
||||
default:
|
||||
return;
|
||||
|
||||
@ -96,6 +110,28 @@ public class PlayerUIController : MonoBehaviour
|
||||
StartCoroutine(_progressUICoroutine);
|
||||
}
|
||||
|
||||
private string GetActionText(PlayerState player)
|
||||
{
|
||||
var charSubState = player.currentAction.actionType;
|
||||
string result = "";
|
||||
switch (charSubState)
|
||||
{
|
||||
case ActionType.Attack:
|
||||
result = "Attack";
|
||||
break;
|
||||
case ActionType.Build:
|
||||
result = "Build...";
|
||||
break;
|
||||
case ActionType.TreeAttack:
|
||||
result = "TreeAttack";
|
||||
break;
|
||||
case ActionType.SuperJump:
|
||||
result = "SuperJump";
|
||||
break;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
private void StopUpdateProgressUI()
|
||||
{
|
||||
_progressUI.StopUpdateUI();
|
||||
@ -138,15 +174,6 @@ public class PlayerUIController : MonoBehaviour
|
||||
{
|
||||
_attackUI.gameObject.SetActive(false);
|
||||
}
|
||||
|
||||
private void UpdateAttackUI(TileInfo target)
|
||||
{
|
||||
Vector3 targetPos = target.tilePosition;
|
||||
if (targetPos != null)
|
||||
{
|
||||
_attackUI.gameObject.SetActive(true);
|
||||
_attackUI.LookAt(targetPos);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
File diff suppressed because one or more lines are too long
Loading…
x
Reference in New Issue
Block a user