//######################################################被击动作接口#################################################### //被击结束回调 private void HurtEnd() { ObjectCreature pCaster = SceneObjectManager.GetInstance().GetSceneObjectByGameObject(this.gameObject); if (pCaster == null) { return; } switch (pCaster.GetActionState()) { case ObjectCreature.ObjectActionState.Hurting: { if (pCaster.GetCacheLastActionState() == ObjectCreature.ObjectActionState.dizzy && pCaster.IsInFightState(EM_FIGHT_STATE.EM_FIGHT_STATE_VERTIGO)) { //重置回眩晕中 [10/19/2015 Zmy] pCaster.SetObjectActionState(ObjectCreature.ObjectActionState.dizzy); } else { pCaster.SetObjectActionState(ObjectCreature.ObjectActionState.normalAttack); } } break; case ObjectCreature.ObjectActionState.checkHurting: { //受击结束播放一次不带事件回调的待机动画,用于可以在checkHurting状态下可以再次播放受击动作 [9/28/2015 Zmy] if (pCaster is ObjectHero) { ObjectHero obj = pCaster as ObjectHero; obj.GetAnimation().Anim_Fidle(false); } else { ObjectMonster obj = pCaster as ObjectMonster; obj.GetAnimation().Anim_Fidle(false); } } break; default: break; } }
public void UpdateSurplusNormalAttackTime() { if (SurplusAttackLength <= 0) { SurplusAttackLength = 0; ObjectCreature obj = SceneObjectManager.GetInstance().GetSceneObjectByGameObject(this.gameObject); obj.SetObjectActionState(ObjectCreature.ObjectActionState.AttackIdle); } else { SurplusAttackLength -= Time.deltaTime; } }
public void UpdateFidTime() { if (FidLengh <= 0) { FidLengh = 0; ObjectCreature obj = SceneObjectManager.GetInstance().GetSceneObjectByGameObject(this.gameObject); obj.SetObjectActionState(ObjectCreature.ObjectActionState.normalAttack); } else { FidLengh -= Time.deltaTime; } }