protected override void DoStatuChange() { base.DoStatuChange(); switch (CurrentStatu) { case Status.DEATH: ArenaControl.Instance.OneHeroDeath(MeControler.GetMeVo().Id); break; /*case Status.HURT2: * if (!MeControler.GetMeVo().NeedKeep) * { * //StartCoroutine(MoveByParabola(MeControler.Me.GoBase, SpeedConst.PlayerHurtBackMoveSpeed, 6.0f, 30.0f)); * int dir = MeControler.Me.CurDire == Directions.Left ? 1 : -1; * float endX = MeControler.Me.GoBase.transform.position.x + dir*2; * //StartCoroutine(MoveBack(MeControler.Me.GoBase, 7.0f, endX)); * } * break;*/ } if (MeVo.instance.Id != MeControler.GetMeVo().Id&& AppMap.Instance.mapParser.NeedSyn) { if (CurrentStatu == Status.RUN) { MeControler.IsSynMove = true; } else { MeControler.IsSynMove = false; } } }
override protected void ProcessDeathState(AnimatorStateInfo stateInfo) { if (stateInfo.normalizedTime > 0.85) { MonsterMgr.Instance.RemoveMonster(MeControler.GetMeVo().Id.ToString(CultureInfo.InvariantCulture)); Log.info(this, "-endCallback() 发送怪物死亡信息给服务器,怪物死亡ID: " + MeControler.GetMeVo().Id); Log.info(this, "死亡怪物坐标:" + MeControler.transform.position.x + "," + MeControler.transform.position.y); // MeControler.GetMeVoByType<MonsterVo>().goods Singleton <MapMode> .Instance.MonsterDeath(MeControler.GetMeVo().Id); //发送怪物死亡信息给服务器 Singleton <MapControl> .Instance.MonsterID = (uint)MeControler.GetMeVoByType <MonsterVo>().MonsterVO.id; //播放怪物死亡特效 if (MeVo.instance.mapId == MapTypeConst.GoldHit_MAP) { var effectVo = new Effect { URL = UrlUtils.GetSkillEffectUrl(EffectId.Skill_StoneDiam), BasePosition = transform.position, Target = gameObject, NeedCache = true }; EffectMgr.Instance.CreateSkillEffect(effectVo); } } }
protected override void judgeNormalCombIfLongkey() { if (MeVo.instance.Id == MeControler.GetMeVo().Id&& GameConst.IS_NORMAL_COMBO_BY_PRESS_LONG && Input.GetKey(KeyCode.J)) { AppMap.Instance.MeControler().AttackController.AttackList.Clear(); AppMap.Instance.MeControler().addNormalAttack(false); } }
/// <summary> /// 受击后倒地状态时的过程处理 /// </summary> /// <param name="stateInfo">当前动画状态信息</param> override protected void ProcessHurtDownState(AnimatorStateInfo stateInfo) { if (Animator.IsInTransition(0) && CurrentStatu == Status.HURTDOWN) { if ((MeControler.GetMeVoByType <MonsterVo>()).MonsterVO.quality == 3) // 怪物 { MeControler.SkillController.RequestUseMonsterStandUpSkill(); } else { SetStatu(Status.STANDUP); } } }
private void EnterHurt3Status() { (MeControler.Me as MonsterDisplay).SetBoxColliderDown(); MeControler.GetMeVo().ProtectValue = 0; }
private void DoDeathBegin() { MeControler.SpeakWord(); }
private void DoAttack2Begin() { MeControler.SpeakWord(); }
private void DoIdleBegin() { MeControler.SpeakWord(); }