历史行为清理机制 | 受击朝向 | 第三招 | 震动事件
This commit is contained in:
parent
89a2460de1
commit
53952b2e99
@ -10,6 +10,7 @@ GameObject:
|
|||||||
m_Component:
|
m_Component:
|
||||||
- component: {fileID: 3758759900999227703}
|
- component: {fileID: 3758759900999227703}
|
||||||
- component: {fileID: 5190637995354101084}
|
- component: {fileID: 5190637995354101084}
|
||||||
|
- component: {fileID: 8800099389817632657}
|
||||||
m_Layer: 0
|
m_Layer: 0
|
||||||
m_Name: Tree1
|
m_Name: Tree1
|
||||||
m_TagString: Untagged
|
m_TagString: Untagged
|
||||||
@ -82,3 +83,17 @@ SpriteRenderer:
|
|||||||
m_WasSpriteAssigned: 1
|
m_WasSpriteAssigned: 1
|
||||||
m_MaskInteraction: 0
|
m_MaskInteraction: 0
|
||||||
m_SpriteSortPoint: 0
|
m_SpriteSortPoint: 0
|
||||||
|
--- !u!136 &8800099389817632657
|
||||||
|
CapsuleCollider:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 7787474680208908760}
|
||||||
|
m_Material: {fileID: 0}
|
||||||
|
m_IsTrigger: 0
|
||||||
|
m_Enabled: 1
|
||||||
|
m_Radius: 0.15
|
||||||
|
m_Height: 4
|
||||||
|
m_Direction: 1
|
||||||
|
m_Center: {x: 0, y: 2, z: 0}
|
||||||
|
@ -10,6 +10,7 @@ GameObject:
|
|||||||
m_Component:
|
m_Component:
|
||||||
- component: {fileID: 6793637964037508681}
|
- component: {fileID: 6793637964037508681}
|
||||||
- component: {fileID: 2478893278458593826}
|
- component: {fileID: 2478893278458593826}
|
||||||
|
- component: {fileID: 2492019538709937380}
|
||||||
m_Layer: 0
|
m_Layer: 0
|
||||||
m_Name: Tree2
|
m_Name: Tree2
|
||||||
m_TagString: Untagged
|
m_TagString: Untagged
|
||||||
@ -82,3 +83,17 @@ SpriteRenderer:
|
|||||||
m_WasSpriteAssigned: 1
|
m_WasSpriteAssigned: 1
|
||||||
m_MaskInteraction: 0
|
m_MaskInteraction: 0
|
||||||
m_SpriteSortPoint: 0
|
m_SpriteSortPoint: 0
|
||||||
|
--- !u!136 &2492019538709937380
|
||||||
|
CapsuleCollider:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 467458995388004006}
|
||||||
|
m_Material: {fileID: 0}
|
||||||
|
m_IsTrigger: 0
|
||||||
|
m_Enabled: 1
|
||||||
|
m_Radius: 0.15
|
||||||
|
m_Height: 4
|
||||||
|
m_Direction: 1
|
||||||
|
m_Center: {x: 0, y: 2, z: 0}
|
||||||
|
@ -0,0 +1,95 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!74 &7400000
|
||||||
|
AnimationClip:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_Name: Attack_3
|
||||||
|
serializedVersion: 7
|
||||||
|
m_Legacy: 0
|
||||||
|
m_Compressed: 0
|
||||||
|
m_UseHighQualityCurve: 1
|
||||||
|
m_RotationCurves: []
|
||||||
|
m_CompressedRotationCurves: []
|
||||||
|
m_EulerCurves: []
|
||||||
|
m_PositionCurves: []
|
||||||
|
m_ScaleCurves: []
|
||||||
|
m_FloatCurves: []
|
||||||
|
m_PPtrCurves:
|
||||||
|
- curve:
|
||||||
|
- time: 0
|
||||||
|
value: {fileID: 3500951761227251082, guid: ae72133dacba6ec4eb33ecde48f50e56, type: 3}
|
||||||
|
- time: 0.2
|
||||||
|
value: {fileID: -848416997838638187, guid: ae72133dacba6ec4eb33ecde48f50e56, type: 3}
|
||||||
|
- time: 0.4
|
||||||
|
value: {fileID: -1594377132886445991, guid: ae72133dacba6ec4eb33ecde48f50e56, type: 3}
|
||||||
|
- time: 0.5
|
||||||
|
value: {fileID: -7939720171757009327, guid: ae72133dacba6ec4eb33ecde48f50e56, type: 3}
|
||||||
|
- time: 0.6
|
||||||
|
value: {fileID: 4278741268874708782, guid: ae72133dacba6ec4eb33ecde48f50e56, type: 3}
|
||||||
|
- time: 0.7
|
||||||
|
value: {fileID: -5551026827497223419, guid: ae72133dacba6ec4eb33ecde48f50e56, type: 3}
|
||||||
|
- time: 0.8
|
||||||
|
value: {fileID: -2437237654950474820, guid: ae72133dacba6ec4eb33ecde48f50e56, type: 3}
|
||||||
|
- time: 0.9
|
||||||
|
value: {fileID: -5853263684127566195, guid: ae72133dacba6ec4eb33ecde48f50e56, type: 3}
|
||||||
|
- time: 1
|
||||||
|
value: {fileID: 806391716420303315, guid: ae72133dacba6ec4eb33ecde48f50e56, type: 3}
|
||||||
|
- time: 1.1
|
||||||
|
value: {fileID: -7703501868747715773, guid: ae72133dacba6ec4eb33ecde48f50e56, type: 3}
|
||||||
|
attribute: m_Sprite
|
||||||
|
path:
|
||||||
|
classID: 212
|
||||||
|
script: {fileID: 0}
|
||||||
|
m_SampleRate: 10
|
||||||
|
m_WrapMode: 0
|
||||||
|
m_Bounds:
|
||||||
|
m_Center: {x: 0, y: 0, z: 0}
|
||||||
|
m_Extent: {x: 0, y: 0, z: 0}
|
||||||
|
m_ClipBindingConstant:
|
||||||
|
genericBindings:
|
||||||
|
- serializedVersion: 2
|
||||||
|
path: 0
|
||||||
|
attribute: 0
|
||||||
|
script: {fileID: 0}
|
||||||
|
typeID: 212
|
||||||
|
customType: 23
|
||||||
|
isPPtrCurve: 1
|
||||||
|
pptrCurveMapping:
|
||||||
|
- {fileID: 3500951761227251082, guid: ae72133dacba6ec4eb33ecde48f50e56, type: 3}
|
||||||
|
- {fileID: -848416997838638187, guid: ae72133dacba6ec4eb33ecde48f50e56, type: 3}
|
||||||
|
- {fileID: -1594377132886445991, guid: ae72133dacba6ec4eb33ecde48f50e56, type: 3}
|
||||||
|
- {fileID: -7939720171757009327, guid: ae72133dacba6ec4eb33ecde48f50e56, type: 3}
|
||||||
|
- {fileID: 4278741268874708782, guid: ae72133dacba6ec4eb33ecde48f50e56, type: 3}
|
||||||
|
- {fileID: -5551026827497223419, guid: ae72133dacba6ec4eb33ecde48f50e56, type: 3}
|
||||||
|
- {fileID: -2437237654950474820, guid: ae72133dacba6ec4eb33ecde48f50e56, type: 3}
|
||||||
|
- {fileID: -5853263684127566195, guid: ae72133dacba6ec4eb33ecde48f50e56, type: 3}
|
||||||
|
- {fileID: 806391716420303315, guid: ae72133dacba6ec4eb33ecde48f50e56, type: 3}
|
||||||
|
- {fileID: -7703501868747715773, guid: ae72133dacba6ec4eb33ecde48f50e56, type: 3}
|
||||||
|
m_AnimationClipSettings:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_AdditiveReferencePoseClip: {fileID: 0}
|
||||||
|
m_AdditiveReferencePoseTime: 0
|
||||||
|
m_StartTime: 0
|
||||||
|
m_StopTime: 1.2
|
||||||
|
m_OrientationOffsetY: 0
|
||||||
|
m_Level: 0
|
||||||
|
m_CycleOffset: 0
|
||||||
|
m_HasAdditiveReferencePose: 0
|
||||||
|
m_LoopTime: 1
|
||||||
|
m_LoopBlend: 0
|
||||||
|
m_LoopBlendOrientation: 0
|
||||||
|
m_LoopBlendPositionY: 0
|
||||||
|
m_LoopBlendPositionXZ: 0
|
||||||
|
m_KeepOriginalOrientation: 0
|
||||||
|
m_KeepOriginalPositionY: 1
|
||||||
|
m_KeepOriginalPositionXZ: 0
|
||||||
|
m_HeightFromFeet: 0
|
||||||
|
m_Mirror: 0
|
||||||
|
m_EditorCurves: []
|
||||||
|
m_EulerEditorCurves: []
|
||||||
|
m_HasGenericRootTransform: 0
|
||||||
|
m_HasMotionFloatCurves: 0
|
||||||
|
m_Events: []
|
@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 2b6e99fde1431eb4cb5bbab0121a0990
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 7400000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
@ -73,6 +73,43 @@ AnimatorStateTransition:
|
|||||||
m_InterruptionSource: 0
|
m_InterruptionSource: 0
|
||||||
m_OrderedInterruption: 1
|
m_OrderedInterruption: 1
|
||||||
m_CanTransitionToSelf: 1
|
m_CanTransitionToSelf: 1
|
||||||
|
--- !u!1101 &-4500150767147751999
|
||||||
|
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: 4054845936075069209}
|
||||||
|
m_Solo: 0
|
||||||
|
m_Mute: 0
|
||||||
|
m_IsExit: 0
|
||||||
|
serializedVersion: 3
|
||||||
|
m_TransitionDuration: 0
|
||||||
|
m_TransitionOffset: 0
|
||||||
|
m_ExitTime: 1.0025342
|
||||||
|
m_HasExitTime: 1
|
||||||
|
m_HasFixedDuration: 1
|
||||||
|
m_InterruptionSource: 0
|
||||||
|
m_OrderedInterruption: 1
|
||||||
|
m_CanTransitionToSelf: 1
|
||||||
|
--- !u!114 &-4498217639007397335
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 1
|
||||||
|
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: d2b274c361bdeb94eb5e5f80d9370967, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
ShakeStep: 1
|
||||||
|
Multiple: 10
|
||||||
|
OnTimeProcess: 0.5
|
||||||
--- !u!1101 &-4318655337576861579
|
--- !u!1101 &-4318655337576861579
|
||||||
AnimatorStateTransition:
|
AnimatorStateTransition:
|
||||||
m_ObjectHideFlags: 1
|
m_ObjectHideFlags: 1
|
||||||
@ -112,7 +149,7 @@ AnimatorStateMachine:
|
|||||||
m_Position: {x: 340, y: 110, z: 0}
|
m_Position: {x: 340, y: 110, z: 0}
|
||||||
- serializedVersion: 1
|
- serializedVersion: 1
|
||||||
m_State: {fileID: -3802118723531622627}
|
m_State: {fileID: -3802118723531622627}
|
||||||
m_Position: {x: 540, y: 0, z: 0}
|
m_Position: {x: 590, y: 60, z: 0}
|
||||||
- serializedVersion: 1
|
- serializedVersion: 1
|
||||||
m_State: {fileID: 4164821889480732602}
|
m_State: {fileID: 4164821889480732602}
|
||||||
m_Position: {x: 340, y: 260, z: 0}
|
m_Position: {x: 340, y: 260, z: 0}
|
||||||
@ -169,7 +206,16 @@ AnimatorStateMachine:
|
|||||||
m_Position: {x: 450, y: -170, z: 0}
|
m_Position: {x: 450, y: -170, z: 0}
|
||||||
- serializedVersion: 1
|
- serializedVersion: 1
|
||||||
m_State: {fileID: 993502365009367806}
|
m_State: {fileID: 993502365009367806}
|
||||||
m_Position: {x: 540, y: -100, z: 0}
|
m_Position: {x: 610, y: -120, z: 0}
|
||||||
|
- serializedVersion: 1
|
||||||
|
m_State: {fileID: 504469167200563978}
|
||||||
|
m_Position: {x: 0, y: 0, z: 0}
|
||||||
|
- serializedVersion: 1
|
||||||
|
m_State: {fileID: 993732683156966362}
|
||||||
|
m_Position: {x: 0, y: 0, z: 0}
|
||||||
|
- serializedVersion: 1
|
||||||
|
m_State: {fileID: 2819678479818455320}
|
||||||
|
m_Position: {x: 750, y: -50, z: 0}
|
||||||
m_ChildStateMachines: []
|
m_ChildStateMachines: []
|
||||||
m_AnyStateTransitions: []
|
m_AnyStateTransitions: []
|
||||||
m_EntryTransitions: []
|
m_EntryTransitions: []
|
||||||
@ -434,6 +480,32 @@ AnimatorState:
|
|||||||
m_MirrorParameter:
|
m_MirrorParameter:
|
||||||
m_CycleOffsetParameter:
|
m_CycleOffsetParameter:
|
||||||
m_TimeParameter:
|
m_TimeParameter:
|
||||||
|
--- !u!1102 &504469167200563978
|
||||||
|
AnimatorState:
|
||||||
|
serializedVersion: 6
|
||||||
|
m_ObjectHideFlags: 1
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_Name: Dash-Attack 0
|
||||||
|
m_Speed: 1
|
||||||
|
m_CycleOffset: 0
|
||||||
|
m_Transitions: []
|
||||||
|
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: 11822cbe6f25108459fd2ef98cc9255c, type: 2}
|
||||||
|
m_Tag:
|
||||||
|
m_SpeedParameter:
|
||||||
|
m_MirrorParameter:
|
||||||
|
m_CycleOffsetParameter:
|
||||||
|
m_TimeParameter:
|
||||||
--- !u!1102 &993502365009367806
|
--- !u!1102 &993502365009367806
|
||||||
AnimatorState:
|
AnimatorState:
|
||||||
serializedVersion: 6
|
serializedVersion: 6
|
||||||
@ -462,6 +534,32 @@ AnimatorState:
|
|||||||
m_MirrorParameter:
|
m_MirrorParameter:
|
||||||
m_CycleOffsetParameter:
|
m_CycleOffsetParameter:
|
||||||
m_TimeParameter:
|
m_TimeParameter:
|
||||||
|
--- !u!1102 &993732683156966362
|
||||||
|
AnimatorState:
|
||||||
|
serializedVersion: 6
|
||||||
|
m_ObjectHideFlags: 1
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_Name: Dash-Attack 1
|
||||||
|
m_Speed: 1
|
||||||
|
m_CycleOffset: 0
|
||||||
|
m_Transitions: []
|
||||||
|
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: 11822cbe6f25108459fd2ef98cc9255c, type: 2}
|
||||||
|
m_Tag:
|
||||||
|
m_SpeedParameter:
|
||||||
|
m_MirrorParameter:
|
||||||
|
m_CycleOffsetParameter:
|
||||||
|
m_TimeParameter:
|
||||||
--- !u!1102 &1147905805402225859
|
--- !u!1102 &1147905805402225859
|
||||||
AnimatorState:
|
AnimatorState:
|
||||||
serializedVersion: 6
|
serializedVersion: 6
|
||||||
@ -540,6 +638,51 @@ AnimatorState:
|
|||||||
m_MirrorParameter:
|
m_MirrorParameter:
|
||||||
m_CycleOffsetParameter:
|
m_CycleOffsetParameter:
|
||||||
m_TimeParameter:
|
m_TimeParameter:
|
||||||
|
--- !u!1102 &2819678479818455320
|
||||||
|
AnimatorState:
|
||||||
|
serializedVersion: 6
|
||||||
|
m_ObjectHideFlags: 1
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_Name: Attack_3
|
||||||
|
m_Speed: 1
|
||||||
|
m_CycleOffset: 0
|
||||||
|
m_Transitions:
|
||||||
|
- {fileID: -4500150767147751999}
|
||||||
|
m_StateMachineBehaviours:
|
||||||
|
- {fileID: 3280784038793258507}
|
||||||
|
- {fileID: -4498217639007397335}
|
||||||
|
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: 2b6e99fde1431eb4cb5bbab0121a0990, type: 2}
|
||||||
|
m_Tag:
|
||||||
|
m_SpeedParameter:
|
||||||
|
m_MirrorParameter:
|
||||||
|
m_CycleOffsetParameter:
|
||||||
|
m_TimeParameter:
|
||||||
|
--- !u!114 &3280784038793258507
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 1
|
||||||
|
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: 1f25b8c125efdad4585737ed25a28b12, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
CanSkipTime: 1
|
||||||
|
SendCanToNext: 0
|
||||||
|
RoleID: 0
|
||||||
|
NodeType: 0
|
||||||
--- !u!1102 &4054845936075069209
|
--- !u!1102 &4054845936075069209
|
||||||
AnimatorState:
|
AnimatorState:
|
||||||
serializedVersion: 6
|
serializedVersion: 6
|
||||||
|
58
Assets/Scripts/Main/AnimeScript/anime_CamerShake.cs
Normal file
58
Assets/Scripts/Main/AnimeScript/anime_CamerShake.cs
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
using Game;
|
||||||
|
using System.Collections;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
public enum E_ANIME_STEP
|
||||||
|
{
|
||||||
|
OnEnter,
|
||||||
|
OnTimeProcess,
|
||||||
|
OnExit
|
||||||
|
}
|
||||||
|
|
||||||
|
public class anime_CamerShake : StateMachineBehaviour
|
||||||
|
{
|
||||||
|
|
||||||
|
public E_ANIME_STEP ShakeStep = E_ANIME_STEP.OnExit;
|
||||||
|
public float Multiple = 1;
|
||||||
|
public float OnTimeProcess = 0.7f;
|
||||||
|
bool bDoShake = false;
|
||||||
|
|
||||||
|
// OnStateEnter is called when a transition starts and the state machine starts to evaluate this state
|
||||||
|
override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
|
||||||
|
{
|
||||||
|
bDoShake = false;
|
||||||
|
if (ShakeStep == E_ANIME_STEP.OnEnter)
|
||||||
|
AppEntry.Event.Fire(null, CameraShakeEventArgs.Create(Multiple));
|
||||||
|
}
|
||||||
|
|
||||||
|
// OnStateUpdate is called on each Update frame between OnStateEnter and OnStateExit callbacks
|
||||||
|
override public void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
|
||||||
|
{
|
||||||
|
if (ShakeStep == E_ANIME_STEP.OnTimeProcess && !bDoShake && stateInfo.normalizedTime > OnTimeProcess)
|
||||||
|
{
|
||||||
|
bDoShake = true;
|
||||||
|
AppEntry.Event.Fire(null, CameraShakeEventArgs.Create(Multiple));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// OnStateExit is called when a transition ends and the state machine finishes evaluating this state
|
||||||
|
override public void OnStateExit(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
|
||||||
|
{
|
||||||
|
bDoShake = false;
|
||||||
|
if (ShakeStep == E_ANIME_STEP.OnExit)
|
||||||
|
AppEntry.Event.Fire(null, CameraShakeEventArgs.Create(Multiple));
|
||||||
|
}
|
||||||
|
|
||||||
|
// OnStateMove is called right after Animator.OnAnimatorMove()
|
||||||
|
//override public void OnStateMove(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
|
||||||
|
//{
|
||||||
|
// // Implement code that processes and affects root motion
|
||||||
|
//}
|
||||||
|
|
||||||
|
// OnStateIK is called right after Animator.OnAnimatorIK()
|
||||||
|
//override public void OnStateIK(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
|
||||||
|
//{
|
||||||
|
// // Implement code that sets up animation IK (inverse kinematics)
|
||||||
|
//}
|
||||||
|
}
|
11
Assets/Scripts/Main/AnimeScript/anime_CamerShake.cs.meta
Normal file
11
Assets/Scripts/Main/AnimeScript/anime_CamerShake.cs.meta
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: d2b274c361bdeb94eb5e5f80d9370967
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
@ -8,23 +8,35 @@ public class anime_DeadAnimeEnd : StateMachineBehaviour
|
|||||||
public int RoleID = 0;
|
public int RoleID = 0;
|
||||||
public int NodeType = 0;
|
public int NodeType = 0;
|
||||||
|
|
||||||
|
bool bSendEvent = false;
|
||||||
|
|
||||||
// OnStateEnter is called when a transition starts and the state machine starts to evaluate this state
|
// OnStateEnter is called when a transition starts and the state machine starts to evaluate this state
|
||||||
override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
|
override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
|
||||||
{
|
{
|
||||||
|
bSendEvent = false;
|
||||||
NodeType = animator.GetInteger("NodeType");
|
NodeType = animator.GetInteger("NodeType");
|
||||||
RoleID = animator.GetInteger("RoleID");
|
RoleID = animator.GetInteger("RoleID");
|
||||||
}
|
}
|
||||||
|
|
||||||
// OnState}Update is called on each Update frame between OnStateEnter and OnStateExit callbacks
|
// OnState}Update is called on each Update frame between OnStateEnter and OnStateExit callbacks
|
||||||
//override public void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
|
override public void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
|
||||||
//{
|
{
|
||||||
//}
|
if (!bSendEvent && stateInfo.normalizedTime > 0.95f)
|
||||||
|
{
|
||||||
|
bSendEvent = true;
|
||||||
|
AppEntry.Event.Fire(null, RoleDeadAnimeEndEventArgs.Create((E_NODE_TYPE)NodeType, RoleID));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// OnStateExit is called when a transition ends and the state machine finishes evaluating this state
|
// OnStateExit is called when a transition ends and the state machine finishes evaluating this state
|
||||||
override public void OnStateExit(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
|
override public void OnStateExit(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
|
||||||
{
|
{
|
||||||
|
if (!bSendEvent)
|
||||||
|
{
|
||||||
|
bSendEvent = true;
|
||||||
AppEntry.Event.Fire(null, RoleDeadAnimeEndEventArgs.Create((E_NODE_TYPE)NodeType,RoleID));
|
AppEntry.Event.Fire(null, RoleDeadAnimeEndEventArgs.Create((E_NODE_TYPE)NodeType,RoleID));
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// OnStateMove is called right after Animator.OnAnimatorMove()
|
// OnStateMove is called right after Animator.OnAnimatorMove()
|
||||||
//override public void OnStateMove(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
|
//override public void OnStateMove(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
|
||||||
|
@ -30,7 +30,7 @@ public class anime_OnceAttack : StateMachineBehaviour
|
|||||||
// OnState}Update is called on each Update frame between OnStateEnter and OnStateExit callbacks
|
// OnState}Update is called on each Update frame between OnStateEnter and OnStateExit callbacks
|
||||||
override public void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
|
override public void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
|
||||||
{
|
{
|
||||||
if (!SendCanToNext && stateInfo.normalizedTime > 0.8f)
|
if (!SendCanToNext && stateInfo.normalizedTime > CanSkipTime)
|
||||||
{
|
{
|
||||||
SendCanToNext = true;
|
SendCanToNext = true;
|
||||||
AppEntry.Event.Fire(null, MainPlayerOnceAttackEventArgs.Create(RoleID, (E_NODE_TYPE)NodeType, E_ONCEATTACK_STEP.InAttackCanToNext));
|
AppEntry.Event.Fire(null, MainPlayerOnceAttackEventArgs.Create(RoleID, (E_NODE_TYPE)NodeType, E_ONCEATTACK_STEP.InAttackCanToNext));
|
||||||
|
@ -9,6 +9,7 @@ using UnityEngine;
|
|||||||
public class CameraShake : MonoBehaviour
|
public class CameraShake : MonoBehaviour
|
||||||
{
|
{
|
||||||
public float _magnitude = 0.02f;
|
public float _magnitude = 0.02f;
|
||||||
|
public float Multiple = 1;
|
||||||
|
|
||||||
private void OnEnable()
|
private void OnEnable()
|
||||||
{
|
{
|
||||||
@ -24,6 +25,7 @@ public class CameraShake : MonoBehaviour
|
|||||||
{
|
{
|
||||||
CameraShakeEventArgs msg = (CameraShakeEventArgs)e;
|
CameraShakeEventArgs msg = (CameraShakeEventArgs)e;
|
||||||
if (msg == null) throw new GameException("OnCameraShakeEventArgs is null");
|
if (msg == null) throw new GameException("OnCameraShakeEventArgs is null");
|
||||||
|
Multiple = msg.Multiple;
|
||||||
StartShake();
|
StartShake();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -33,7 +35,7 @@ public class CameraShake : MonoBehaviour
|
|||||||
if (IEnumerator_Shake != null)
|
if (IEnumerator_Shake != null)
|
||||||
StopCoroutine(IEnumerator_Shake);
|
StopCoroutine(IEnumerator_Shake);
|
||||||
|
|
||||||
IEnumerator_Shake = StartCoroutine(PlayCameraShakeAnimation(0.1f, _magnitude));
|
IEnumerator_Shake = StartCoroutine(PlayCameraShakeAnimation(0.1f * Multiple, _magnitude));
|
||||||
}
|
}
|
||||||
|
|
||||||
Coroutine IEnumerator_Shake;
|
Coroutine IEnumerator_Shake;
|
||||||
|
@ -53,7 +53,7 @@ namespace Game
|
|||||||
//TODO 受击朝向
|
//TODO 受击朝向
|
||||||
|
|
||||||
//摄像机震动
|
//摄像机震动
|
||||||
AppEntry.Event.Fire(null, CameraShakeEventArgs.Create());
|
AppEntry.Event.Fire(null, CameraShakeEventArgs.Create(1));
|
||||||
|
|
||||||
CanAttack = true;
|
CanAttack = true;
|
||||||
|
|
||||||
@ -72,7 +72,7 @@ namespace Game
|
|||||||
//TODO 受击朝向
|
//TODO 受击朝向
|
||||||
|
|
||||||
//摄像机震动
|
//摄像机震动
|
||||||
AppEntry.Event.Fire(null, CameraShakeEventArgs.Create());
|
AppEntry.Event.Fire(null, CameraShakeEventArgs.Create(1));
|
||||||
|
|
||||||
CanAttack = true;
|
CanAttack = true;
|
||||||
|
|
||||||
|
@ -34,6 +34,15 @@ namespace Game
|
|||||||
mInputMotionData.Init();
|
mInputMotionData.Init();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void OnEnable()
|
||||||
|
{
|
||||||
|
mInputMotionData.OnEnable();
|
||||||
|
}
|
||||||
|
|
||||||
|
void OnDisable()
|
||||||
|
{
|
||||||
|
mInputMotionData.OnDestory();
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 检测是否点击UI
|
/// 检测是否点击UI
|
||||||
@ -141,6 +150,8 @@ namespace Game
|
|||||||
|
|
||||||
Update_Touch();
|
Update_Touch();
|
||||||
Update_Input();
|
Update_Input();
|
||||||
|
//更新行为列表逻辑
|
||||||
|
mInputMotionData.Update_Logic();
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -109,21 +109,28 @@ namespace Game
|
|||||||
string AtkBoxAnimeName;
|
string AtkBoxAnimeName;
|
||||||
//是否是最终招式
|
//是否是最终招式
|
||||||
bool IsEndMotion = false;
|
bool IsEndMotion = false;
|
||||||
|
|
||||||
//一次也没按下
|
//一次也没按下
|
||||||
if (!GamePlayEntry.Input.mInputMotionData.CheckHistoryLastMotion(E_MOTION_TYPE.Attack_1))
|
if (GamePlayEntry.Input.mInputMotionData.CheckHistoryLastMotion(E_MOTION_TYPE.Attack_2))
|
||||||
|
{
|
||||||
|
AnimeName = "Attack_3";
|
||||||
|
AtkBoxAnimeName = "HorizontalCut_Down";
|
||||||
|
GamePlayEntry.Input.mInputMotionData.AddMontionKey(E_MOTION_TYPE.Attack_3);
|
||||||
|
IsEndMotion = true;
|
||||||
|
//½áÊø¶¯×÷
|
||||||
|
}
|
||||||
|
else if(GamePlayEntry.Input.mInputMotionData.CheckHistoryLastMotion(E_MOTION_TYPE.Attack_1))
|
||||||
|
{
|
||||||
|
AnimeName = "Attack_2";
|
||||||
|
AtkBoxAnimeName = "HorizontalCut_Up";
|
||||||
|
GamePlayEntry.Input.mInputMotionData.AddMontionKey(E_MOTION_TYPE.Attack_2);
|
||||||
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
AnimeName = "Attack_1";
|
AnimeName = "Attack_1";
|
||||||
AtkBoxAnimeName = "HorizontalCut_Down";
|
AtkBoxAnimeName = "HorizontalCut_Down";
|
||||||
GamePlayEntry.Input.mInputMotionData.AddMontionKey(E_MOTION_TYPE.Attack_1);
|
GamePlayEntry.Input.mInputMotionData.AddMontionKey(E_MOTION_TYPE.Attack_1);
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
//½áÊø¶¯×÷
|
|
||||||
AnimeName = "Attack_2";
|
|
||||||
AtkBoxAnimeName = "HorizontalCut_Up";
|
|
||||||
GamePlayEntry.Input.mInputMotionData.AddMontionKey(E_MOTION_TYPE.Attack_2);
|
|
||||||
IsEndMotion = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
Player.Anime.SetAttack(AnimeName);
|
Player.Anime.SetAttack(AnimeName);
|
||||||
Player.DoAtkBox(AtkBoxAnimeName);
|
Player.DoAtkBox(AtkBoxAnimeName);
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
using Axibug;
|
||||||
|
using Axibug.Event;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Configuration;
|
using System.Configuration;
|
||||||
@ -10,6 +12,7 @@ namespace Game
|
|||||||
None,
|
None,
|
||||||
Attack_1,
|
Attack_1,
|
||||||
Attack_2,
|
Attack_2,
|
||||||
|
Attack_3,
|
||||||
}
|
}
|
||||||
|
|
||||||
public class MontionkeyClass
|
public class MontionkeyClass
|
||||||
@ -28,11 +31,53 @@ namespace Game
|
|||||||
static Queue<MontionkeyClass> tempHistoryQueue = new Queue<MontionkeyClass>();
|
static Queue<MontionkeyClass> tempHistoryQueue = new Queue<MontionkeyClass>();
|
||||||
const int MontionHistoryLimit = 10;
|
const int MontionHistoryLimit = 10;
|
||||||
|
|
||||||
|
bool mNeedClear = false;
|
||||||
|
const float ClearCD = 0.3f;
|
||||||
|
//Ê£ÓàÇåÀíʱ¼ä
|
||||||
|
float flagTime = 0;
|
||||||
|
bool NeedClear { get { return mNeedClear; }
|
||||||
|
set {
|
||||||
|
if (value)
|
||||||
|
{
|
||||||
|
flagTime = ClearCD;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
flagTime = 0;
|
||||||
|
}
|
||||||
|
mNeedClear = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void Init()
|
public void Init()
|
||||||
{
|
{
|
||||||
ClearHistoryMotion();
|
ClearHistoryMotion();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void OnEnable()
|
||||||
|
{
|
||||||
|
|
||||||
|
AppEntry.Event.Subscribe(MainPlayerOnceAttackEventArgs.EventId, OnMainPlayerInAttackEventArgs);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void OnDestory()
|
||||||
|
{
|
||||||
|
AppEntry.Event.Unsubscribe(MainPlayerOnceAttackEventArgs.EventId, OnMainPlayerInAttackEventArgs);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnMainPlayerInAttackEventArgs(object sender, LogicEventArgs e)
|
||||||
|
{
|
||||||
|
MainPlayerOnceAttackEventArgs msg = (MainPlayerOnceAttackEventArgs)e;
|
||||||
|
if (msg == null) throw new GameException("MainPlayerOnceAttackEventArgs is null");
|
||||||
|
if (msg.RoleID == GamePlayEntry.MainPlayer.Player.RoleID)
|
||||||
|
{
|
||||||
|
if (msg.Step == E_ONCEATTACK_STEP.InAttack)
|
||||||
|
NeedClear = false;
|
||||||
|
else if(msg.Step == E_ONCEATTACK_STEP.None)
|
||||||
|
NeedClear = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
MontionkeyClass EnqueueOneMotionHistory()
|
MontionkeyClass EnqueueOneMotionHistory()
|
||||||
{
|
{
|
||||||
if (tempHistoryQueue.Count > 0)
|
if (tempHistoryQueue.Count > 0)
|
||||||
@ -63,6 +108,8 @@ namespace Game
|
|||||||
tempHistoryQueue.Enqueue(KeyHistory[i]);
|
tempHistoryQueue.Enqueue(KeyHistory[i]);
|
||||||
}
|
}
|
||||||
KeyHistory.Clear();
|
KeyHistory.Clear();
|
||||||
|
NeedClear = false;
|
||||||
|
AxibugLog.Debug("ÇåÀíMotionHistory");
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool CheckHistoryLastMotion(E_MOTION_TYPE type)
|
public bool CheckHistoryLastMotion(E_MOTION_TYPE type)
|
||||||
@ -92,5 +139,18 @@ namespace Game
|
|||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void Update_Logic()
|
||||||
|
{
|
||||||
|
if (NeedClear)
|
||||||
|
{
|
||||||
|
flagTime -= Time.deltaTime;
|
||||||
|
if (flagTime <= 0)
|
||||||
|
{
|
||||||
|
ClearHistoryMotion();
|
||||||
|
NeedClear = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -9,11 +9,15 @@ namespace Game
|
|||||||
public S_ROLE_ECON econ;//¾¼Ã
|
public S_ROLE_ECON econ;//¾¼Ã
|
||||||
|
|
||||||
public S_ROLE_MOVE move;
|
public S_ROLE_MOVE move;
|
||||||
|
|
||||||
|
public S_HAD_SKILL skill;
|
||||||
|
|
||||||
public S_ROLE_SELF()
|
public S_ROLE_SELF()
|
||||||
{
|
{
|
||||||
RoleType = E_NODE_TYPE.N_MAINPLAYER;
|
RoleType = E_NODE_TYPE.N_MAINPLAYER;
|
||||||
move = new S_ROLE_MOVE();
|
move = new S_ROLE_MOVE();
|
||||||
econ = new S_ROLE_ECON();
|
econ = new S_ROLE_ECON();
|
||||||
|
skill = new S_HAD_SKILL();
|
||||||
}
|
}
|
||||||
|
|
||||||
override public void Init()
|
override public void Init()
|
||||||
@ -22,6 +26,7 @@ namespace Game
|
|||||||
exp.Init();
|
exp.Init();
|
||||||
move.Init();
|
move.Init();
|
||||||
econ.Init();
|
econ.Init();
|
||||||
|
skill.Init();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
using System;
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
|
||||||
namespace Game
|
namespace Game
|
||||||
@ -149,6 +150,18 @@ namespace Game
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//¹¥»÷Ëø¶¨
|
||||||
|
public class S_HAD_SKILL
|
||||||
|
{
|
||||||
|
public List<int> hadskillid = new List<int>();
|
||||||
|
|
||||||
|
public void Init()
|
||||||
|
{
|
||||||
|
hadskillid.Clear();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//移动控制数据
|
//移动控制数据
|
||||||
public class S_ROLE_MOVE
|
public class S_ROLE_MOVE
|
||||||
{
|
{
|
||||||
|
@ -12,14 +12,18 @@ namespace Game
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public override int Id { get { return EventId; } }
|
public override int Id { get { return EventId; } }
|
||||||
|
|
||||||
public static CameraShakeEventArgs Create()
|
public float Multiple = 0;
|
||||||
|
|
||||||
|
public static CameraShakeEventArgs Create(float multiple)
|
||||||
{
|
{
|
||||||
CameraShakeEventArgs s = ReferencePool.Acquire<CameraShakeEventArgs>();
|
CameraShakeEventArgs s = ReferencePool.Acquire<CameraShakeEventArgs>();
|
||||||
|
s.Multiple = multiple;
|
||||||
return s;
|
return s;
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void Clear()
|
public override void Clear()
|
||||||
{
|
{
|
||||||
|
Multiple = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -9,6 +9,7 @@ namespace Game
|
|||||||
{
|
{
|
||||||
protected SpriteRenderer mSpriteRenderer;
|
protected SpriteRenderer mSpriteRenderer;
|
||||||
public SnapshotData mRoleSnapshot;
|
public SnapshotData mRoleSnapshot;
|
||||||
|
public S_ROLE_SELF PlayData;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 初始化
|
/// 初始化
|
||||||
@ -17,6 +18,7 @@ namespace Game
|
|||||||
public void Init(S_ROLE_SELF data)
|
public void Init(S_ROLE_SELF data)
|
||||||
{
|
{
|
||||||
base.Init(data);
|
base.Init(data);
|
||||||
|
PlayData = data;
|
||||||
mRoleSnapshot = new SnapshotData();
|
mRoleSnapshot = new SnapshotData();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -86,7 +88,6 @@ namespace Game
|
|||||||
Anime.SetAnimatorSpeed(2.6f);
|
Anime.SetAnimatorSpeed(2.6f);
|
||||||
Move_BaseSpeed = 3.5f * 2.6f;
|
Move_BaseSpeed = 3.5f * 2.6f;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void MeshChangeMoveState(bool ToMoveState)
|
public override void MeshChangeMoveState(bool ToMoveState)
|
||||||
@ -152,7 +153,9 @@ namespace Game
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
//如果超过移动时间
|
//如果超过移动时间
|
||||||
if(MoveTime > ConstClass.ToFastModeTime)
|
if(MoveTime > ConstClass.ToFastModeTime
|
||||||
|
&& PlayData.skill.hadskillid.Contains(5)//判断是否有加速技能
|
||||||
|
)
|
||||||
IsFastSkillMode = true;
|
IsFastSkillMode = true;
|
||||||
else
|
else
|
||||||
IsFastSkillMode = false;
|
IsFastSkillMode = false;
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
using Axibug;
|
using Axibug;
|
||||||
|
using Axibug.Event;
|
||||||
using Axibug.Runtime;
|
using Axibug.Runtime;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
@ -54,10 +55,35 @@ namespace Game
|
|||||||
AttackStep = E_ONCEATTACK_STEP.None;
|
AttackStep = E_ONCEATTACK_STEP.None;
|
||||||
|
|
||||||
MeshChangeDir(mIsLeft);
|
MeshChangeDir(mIsLeft);
|
||||||
|
|
||||||
|
AppEntry.Event.Subscribe(AttackHitEventArgs.EventId, OnAttackHitEventArgs);
|
||||||
}
|
}
|
||||||
protected virtual void OnDisable()
|
protected virtual void OnDisable()
|
||||||
{
|
{
|
||||||
|
AppEntry.Event.Unsubscribe(AttackHitEventArgs.EventId, OnAttackHitEventArgs);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private void OnAttackHitEventArgs(object sender, LogicEventArgs e)
|
||||||
|
{
|
||||||
|
AttackHitEventArgs msg = (AttackHitEventArgs)e;
|
||||||
|
if (msg == null) throw new GameException("AttackHitEventArgs is null");
|
||||||
|
|
||||||
|
if (msg.UnderAtk_RoleID != RoleID)
|
||||||
|
return;
|
||||||
|
|
||||||
|
RoleBase Attacker = GamePlayEntry.RoleMgr.FindRole(msg.Attacker_Type, msg.Attacker_RoleID);
|
||||||
|
if (Attacker == null)
|
||||||
|
{
|
||||||
|
AxibugLog.Error("Attacker Ϊ¿Õ");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
//ÊÜ»÷¡¢³¯Ïò
|
||||||
|
if (Attacker.transform.position.x < transform.position.x)
|
||||||
|
IsLeft = true;
|
||||||
|
else
|
||||||
|
IsLeft = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
Loading…
Reference in New Issue
Block a user