void Awake() { thisCs = GetComponent <CharacterState>(); aiSkillHandler = UnityUtil.AddComponetIfNull <AISkillHandler>(gameObject); aiSkillHandler.SetSkills(thisCs.GetSkills()); OnAwake(); }
public void SwitchAutoMode(bool isAuto) { if (SceneUIManager.instance != null) { SceneUIManager.instance.autoFight.SetActive(isAuto); ResetAutoFightEffect(SceneUIManager.instance.autoFight.transform); } if (FightTouch._instance != null) { FightTouch._instance.autoBattleEffect.SetActive(isAuto); } if (!PlayerAlive()) { return; } BasePlayerAI ai = player.GetComponent <BasePlayerAI>(); if (ai != null) { ai.enabled = isAuto; if (isAuto) { AISkillHandler aisHandler = player.GetComponent <AISkillHandler>(); if (aisHandler != null && FightTouch._instance != null) { aisHandler.SetSkills(playerCS.GetSkills(), GetCds()); } } } if (playerMotion.isAutoMode != isAuto) { playerMotion.isAutoMode = isAuto; playerMotion.nav.enabled = false; playerMotion.nav.enabled = true; if (!isAuto) { playerMotion.Stop(); } } }
void Start() { List <long> skills = thisCs.GetSkills(); List <float> skillCDs = new List <float>(); skills.ForEach((long sid) => skillCDs.Add(AISkillHandler.GetNode(sid).cooling)); aiSkillHandler.SetSkills(thisCs.GetSkills(), skillCDs); GameLibrary.bossBlood.ShowBlood(thisCs); //Thunder = Resources.Load("Thunder") as GameObject; //if (null != Thunder) // InvokeRepeating("BeginThunder", 5, 5); if (GameLibrary.SceneType(SceneType.TD) || GameLibrary.SceneType(SceneType.ACT_GOLD) || GameLibrary.SceneType(SceneType.ACT_EXP)) { thisCs.OnBeAttack += (c) => { if (c.state == Modestatus.Player && thisCs.attackTarget != CharacterManager.playerCS) { targetCs = CharacterManager.playerCS; thisCs.SetAttackTargetTo(CharacterManager.playerCS); } }; } thisCs.OnDead += (c) => { for (int i = sumMonster.Count - 1; i >= 0; i--) { if (null != sumMonster[i]) { if (sumMonster[i].GetComponent <Monster_AI>()) { sumMonster[i].GetComponent <Monster_AI>().StopMonsterAI(); } } } }; }