示例#1
0
    public override void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
    {
        base.OnStateEnter(animator, stateInfo, layerIndex);

        if (cs.type == ModelType.NPC)
        {
            cs.ShowNPCEffect(true);
        }
        if (cs.mCurMobalId == MobaObjectID.HeroChenmo)
        {
            cs.EndAppeared(0);
        }
        if (GameLibrary.IsMajorOrLogin())
        {
            if (cs.mCurMobalId != MobaObjectID.None)
            {
                //if (GameLibrary.IsLoginScene())
                //{
                //    AudioController.Instance.PlayUISound(GameLibrary.Resource_Sound + cs.GetMobaName() + "/dlgShow", true);
                //}
                //else if (GameLibrary.IsMajorScene())
                //{
                int mDialogIndex = Random.Range(0, cs.mAmountDlg);
                AudioController.Instance.PlayUISound(GameLibrary.Resource_Sound + cs.GetMobaName() + "/dlg" + (mDialogIndex + 1), true);
                //}
            }
        }
        return;
    }
示例#2
0
 override public void OnStateExit(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
 {
     base.OnStateEnter(animator, stateInfo, layerIndex);
     if (GameLibrary.IsMajorOrLogin())
     {
         if (null != UICreateRole.instance)
         {
             UICreateRole.instance.SetSpinWithMouse();
         }
         if (null != cs)
         {
             //cs.EndAppeared(1);
         }
         if (cs.type == ModelType.NPC)
         {
             cs.ShowNPCEffect(false);
         }
         return;
     }
 }
示例#3
0
文件: Resource.cs 项目: moto2002/moba
    public static GameObject CreateCharacter(CharacterAttrNode attrNode, GameObject parent, Vector3 pos = default(Vector3), int groupIndex = -99)
    {
        if (attrNode == null || attrNode.model == 0)
        {
            return(null);
        }

        string modelName = attrNode.modelNode.modelPath;

        if (attrNode is HeroAttrNode && !GameLibrary.IsMajorOrLogin())
        {
            modelName = attrNode.modelNode.modelLowPath;
        }
        string modelPath = attrNode.modelNode.modelRoot;

        if (groupIndex != -99)
        {
            modelName = modelName + groupIndex;
        }
        return(CreatPrefabs(modelName, parent, pos, modelPath));
    }
示例#4
0
    public override void OnStateExit(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
    {
        if (GameLibrary.IsMajorOrLogin())
        {
            return;
        }
        base.OnStateExit(animator, stateInfo, layerIndex);

        GetSkillNodeByStateInfo(stateInfo);
        if (!mIsTouchRun)
        {
            pm.canMoveSwitch--;
        }
        OnStateExitHandle();
        if (cs.mCurMobalId == MobaObjectID.HeroJiansheng)
        {
            if (skillIndex == 4)
            {
                if (mCurSkillNode != null)
                {
                    GameLibrary.Instance().SetCsAttackTargetByChoseTarget(mCurSkillNode, cs);
                }
                if (cs.attackTarget != null && cs.attackTarget.tag != Tag.tower && pm.mCurSkillTime < 5)
                {
                    pm.mCurSkillTime++;
                    pm.SetSkillAnimator(4);
                }
                else
                {
                    pm.mCurSkillTime = 0;
                    pm.canSkill      = true;
                    pm.canAttack     = true;
                }
            }
            else
            {
                pm.canSkill  = true;
                pm.canAttack = true;
                if (skillIndex == 1)
                {
                    pm.canMoveSwitch++;
                }
                else if (skillIndex == 3)
                {
                    if (pm.isTriggerPassive)
                    {
                        pm.isTriggerPassive = false;
                    }
                }
            }
        }
        else
        {
            pm.canSkill  = true;
            pm.canAttack = true;
            if (cs.mCurMobalId == MobaObjectID.HeroHuanci)
            {
                if (skillIndex == 4)
                {
                    pm.canMoveSwitch++;
                }
            }
            else if (cs.mCurMobalId == MobaObjectID.HeroXiongmao)
            {
                if (skillIndex == 1)
                {
                    pm.canMoveSwitch++;
                }
            }
            else if (GameLibrary.Instance().CheckModelIsBoss006(cs))
            {
                if (skillIndex == 1)
                {
                    if (!pm.mIsHangIn && !cs.isDie)
                    {
                        pm.canMoveSwitch++;
                        pm.canAttackSwitch++;
                        pm.nav.enabled         = false;
                        cs.Invincible          = true;
                        pm.mIsHangIn           = true;
                        cs.mOriginPos          = cs.transform.position;
                        cs.transform.position += Vector3.up * 5f;
                    }
                }
                else if (skillIndex == 3)
                {
                    if (pm.mIsHangIn)
                    {
                        pm.canMoveSwitch--;
                        pm.canAttackSwitch--;
                        cs.Invincible  = false;
                        pm.nav.enabled = true;
                        pm.mIsHangIn   = false;
                    }
                }
            }
        }
        //动作结束移除跟随动作的buff
        if (!(skillIndex == 4 && cs.mCurMobalId == MobaObjectID.HeroJiansheng && pm.mCurSkillTime != 0))
        {
            for (int i = 0; i < mCurAddBuff.Count; i++)
            {
                SkillBuffManager.GetInst().RemoveCalculateCurTargetProp(cs, mCurAddBuff[i]);
            }
        }
    }
示例#5
0
 public override void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
 {
     if (GameLibrary.IsMajorOrLogin())
     {
         return;
     }
     base.OnStateEnter(animator, stateInfo, layerIndex);
     GetSkillNodeByStateInfo(stateInfo);
     pm.canAttack = false;
     pm.canSkill  = false;
     pm.canMoveSwitch++;
     pm.canAttackSwitch++;
     pm.canSkillSwitch++;
     mSkillTouchIndex = 0;
     mIsStateStart    = true;
     mIsTouchRun      = false;
     if (!(cs.mCurMobalId == MobaObjectID.HeroJiansheng && skillIndex == 4 && pm.mCurSkillTime != 0))
     {
         mCurAddBuff.Clear();
     }
     //判断是否有跟随动作的buff
     if (GameLibrary.Instance().CheckExistSpecialBySkillNode(mCurSkillNode))
     {
         if (!(skillIndex == 4 && cs.mCurMobalId == MobaObjectID.HeroJiansheng && pm.mCurSkillTime != 0))
         {
             mCurAddBuff = mCurSkillNode.AddSpecialBuffs(cs);
         }
     }
     if (cs.mCurMobalId == MobaObjectID.HeroJiansheng)
     {
         if (skillIndex == 3)
         {
             SkillBuff mTempBuff = SkillBuffManager.GetInst().GetSkillBuffListByCs(cs).FindLast(a => a.id == (long)SkillBuffType.AddAttack && a.attacker == cs);
             mCurAddBuff.Add(mTempBuff);
         }
         else if (skillIndex == 1)
         {
             pm.canMoveSwitch--;
         }
     }
     else if (cs.mCurMobalId == MobaObjectID.HeroLuosa)
     {
         List <SkillBuff> mExistTalentBuff = SkillBuffManager.GetInst().GetSkillBuffListByCs(cs).FindAll(a => a.attacker == cs &&
                                                                                                         ((a.node.type == BuffType.talent && a.node.buffActionType == buffActionType.skill) || (SkillBuffType)a.id == SkillBuffType.AddSkillDamage));
         for (int i = 0; i < mExistTalentBuff.Count; i++)
         {
             mCurAddBuff.Add(mExistTalentBuff[i]);
         }
     }
     else if (cs.mCurMobalId == MobaObjectID.HeroHuanci)
     {
         if (skillIndex == 4)
         {
             pm.canMoveSwitch--;
         }
     }
     else if (cs.mCurMobalId == MobaObjectID.HeroXiongmao)
     {
         if (skillIndex == 1)
         {
             pm.canMoveSwitch--;
         }
     }
     else if (GameLibrary.Instance().CheckModelIsBoss006(cs))
     {
         if (pm.mIsHangIn && !(skillIndex == 2 || skillIndex == 3))
         {
             cs.transform.position = cs.mOriginPos;
         }
     }
 }