示例#1
0
    public override void Start()
    {
        bossSkill = GetComponent <BossSkill>();

        sensor = new Sensor(10, 120, this);

        FsmManager = new FsmManager((int)DragonAnimEnum.Max);


        DragonIdleState         dragonIdleState         = new DragonIdleState(anim, this);
        DragonDieState          dragonDieState          = new DragonDieState(anim, this);
        DragonHitState          dragonHitState          = new DragonHitState(anim, this);
        DragonAttackState       dragonAttackState       = new DragonAttackState(anim, this);
        DragonPersueState       dragonPersueState       = new DragonPersueState(anim, this);
        DragonReleaseSkillState dragonReleaseSkillState = new DragonReleaseSkillState(anim, this);

        FsmManager.AddState(dragonIdleState);
        FsmManager.AddState(dragonDieState);
        FsmManager.AddState(dragonHitState);
        FsmManager.AddState(dragonAttackState);
        FsmManager.AddState(dragonPersueState);
        FsmManager.AddState(dragonReleaseSkillState);


        FsmManager.ChangeState((int)DragonAnimEnum.Idle);
    }
示例#2
0
 private void Awake()
 {
     bossSkill       = GetComponent <BossSkill>();
     NavAgent        = GetComponent <PolyNavAgent>();
     Player          = GameObject.FindGameObjectWithTag("Player");
     Anim            = GetComponent <QueenAnim>();
     Main_Camera     = GameObject.FindGameObjectWithTag("MainCamera");
     playerLayer     = LayerMask.NameToLayer("Player");
     lightController = Main_Camera.GetComponent <FogOfWar>();
     StartCoroutine(NormalAttack());
     StartCoroutine(UseSkill());
 }
示例#3
0
    public void OnBossAttack(GameObject boss)
    {
        BossSkill bossSkill = boss.GetComponent<BossSkill>();
        int damage = Mathf.Max(0, bossSkill.attack - Defense);
        GameObject go = Instantiate(DamageTxt, transform.position, Camera.main.transform.rotation);
        
        go.GetComponent<UI_DmgTxt>().SetDmgText(damage, false, false, Color.blue);

        Hp -= damage;
        if (Hp < 0)
        {
            Hp = 0;
            OnDead(null);
        }
    }