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); } } }
/// <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); } } }