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