Beispiel #1
0
    /// <summary>
    /// 애니메이션 start됬을때 실행되는 함수. 기본 변수들 세팅과 등장 애니메이션을 실행해준다.
    /// </summary>
    public override void OnStart()
    {
        m_data.agent         = GetComponent <NavMeshAgent>();
        m_data.agent.enabled = false;
        m_data.target        = null;
        m_bossHpCount        = Character.m_actorUIData.bossHPPos.Length;
        m_bosshp             = CharacterTable.GetProperty(Character.name).hp;
        m_first      = true;
        m_bossTarget = GetComponent <UIBossTarget>();

        if (isactiveskill)
        {
            Character.AnimatorAction.Initialize <AnimatorActionDroneBoss>();
        }
        else
        {
            Character.AnimatorAction.Initialize <AnimatorActionBoss>();
        }

        //보스 등장 애니메이션 실행을 위한 세팅.
        Character.AnimatorAction.Action(AnimatorState.Appear, true);

        //보스 약점 부위를 나타내는 변수.
        m_bossTargetpart = 0;

        if (m_hpState.Length > 0)
        {
            m_curHpState = m_hpState[0];
        }

        //m_rigidbodys = transform.GetComponentsInChildren<Rigidbody>();

        //for (int y = 0; y < m_rigidbodys.Length; ++y)
        //{
        //    m_rigidbodys[y].useGravity = true;
        //    m_rigidbodys[y].isKinematic = true;
        //}

        //m_bossTarget.Initialize(m_target, m_colider);
        //m_bossHpBar = new UIBossHP[m_bossHpCount];

        //보스의 타겟에 hp를 띄울 장소를 설정합니다.
        for (int i = 0; i < m_bossHpCount; ++i)
        {
            //m_bossHpBar[i] = GetComponent<BossInfoBoss>().bosshpBar;
            m_bossHpBar[i]            = UIManager.Instance.Open("UIBossHP", true) as UIBossHP;
            m_bossHpBar[i].TargetInfo = Character.m_actorUIData.bossHPPos[i];
            //hp 갯수 구분을 위해서 보스 이름 설정.
            m_bossHpBar[i].Initialize();
            m_bossHpBar[i].Invisible();
            m_bossHpBar[i].HpSetup(m_bossHpCount, m_bosshp);

            //FX fx = AssetManager.FX.Retrieve("Boss_Target");
            //fx.transform.parent = m_target[i].gameObject.transform;
            //fx.transform.position = m_target[i].transform.FindChild("Boss_Target").position;
        }

        m_bosshpcorutineCommand = CoroutineManager.Instance.Register(BosstargetFlicker());
        //m_damagetestcorutineCommand = CoroutineManager.Instance.Register(Damage());
    }