Ejemplo n.º 1
0
        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);
                }
            }
        }
Ejemplo n.º 3
0
 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();
 }