Example #1
0
    // 旗を落とす
    public void LostFlag()
    {
        if (HaveFlag != AIFlagState.NONE)
        {
            HaveFlag = AIFlagState.NONE;
            S_Pui.FlagGetLavelOff();

            // エフェクト停止
            S_effect[1].EffectStop();
            // 旗を落とす
            myFlag.GetComponent <Flag>().Drop(transform.position);

            myFlag = null;
        }
    }
Example #2
0
    // 旗を拠点に戻す
    void ReturnFlag()
    {
        if (HaveFlag != AIFlagState.NONE)
        {
            HaveFlag = AIFlagState.NONE;

            S_Pui.FlagGetLavelOff();
            // エフェクト停止
            S_effect[1].EffectStop();
            // 旗の状態を更新
            myFlag.GetComponent <Flag>().ResetPos();
            myFlag = null;

            // S_Adire.ChangeState(1);
        }
    }
Example #3
0
    // 陣地,旗の当たり判定取得
    void OnTriggerEnter(Collider col)
    {
        if (S_Adire.NowState == AIDirector.AIState.WALK || S_Adire.NowState == AIDirector.AIState.WALKSTART || S_Adire.NowState == AIDirector.AIState.WALKGOAL)
        {
            if (col.tag == zoneName[(int)m_team.m_teamColor])             // 自分側の陣地
            {
                switch (HaveFlag)
                {
                case AIFlagState.MINE:
                    ReturnFlag();       // 自分の旗を自分の陣地に戻す
                    break;

                case AIFlagState.OTHER:
                    GetPoint();         // 敵の旗を持ってきたのでポイントゲット
                    break;
                }
            }
            else if (col.tag == flagName[(int)m_team.m_teamColor])       // 自分側の旗
            {
                if (HaveFlag == AIFlagState.NONE)
                {
                    if (col.GetComponent <Flag>().state == 1)// 道中に旗が落ちているなら
                    {
                        HaveFlag = AIFlagState.MINE;
                        GetFlag(col.gameObject);
                    }
                }
            }
            else if (col.tag == flagName[1 - (int)m_team.m_teamColor])       // 敵側の旗
            {
                if (HaveFlag == AIFlagState.NONE)
                {
                    if (col.GetComponent <Flag>().state != 2)// 旗を誰も持っていないなら
                    {
                        S_Pui.FlagGetLavelOn();
                        HaveFlag = AIFlagState.OTHER;
                        GetFlag(col.gameObject);
                    }
                }
            }
        }
    }
Example #4
0
 void SetHaveFlag(AIFlagState _flag)
 {
     m_haveFlag = _flag;
 }