Beispiel #1
0
 // Start is called before the first frame update
 void Start()
 {
     stageState          = STAGE_STATE.START;
     stageSpawner        = StageInfo.GetComponent <StageSpawner>();
     playerControllerObj = playerController.GetComponent <PlayerController>();
     worktime            = waittime;
     shootworktime       = shoottime;
 }
Beispiel #2
0
    protected void Start()
    {
        stagefront_state = STAGE_STATE.NONE;
        stageback_state  = STAGE_STATE.NONE;

        setStage = GameObject.Find("system").GetComponent <SetStage>();

        TriggerInitialize();
    }
Beispiel #3
0
    protected void TriggerCheck()
    {
        //設定

        if (exit_flag[(int)STAGE_KIND.FRONT])
        {
            stagefront_state = STAGE_STATE.EXIT;
        }
        if (exit_flag[(int)STAGE_KIND.BACK])
        {
            stageback_state = STAGE_STATE.EXIT;
        }

        if (enter_flag[(int)STAGE_KIND.FRONT])
        {
            stagefront_state = STAGE_STATE.ENTER;
        }
        if (enter_flag[(int)STAGE_KIND.BACK])
        {
            stageback_state = STAGE_STATE.ENTER;
        }
    }
Beispiel #4
0
    // Update is called once per frame
    void Update()
    {
        if (stageState == STAGE_STATE.START)
        {
            if (stageSpawner.GetStartProduction() != null && stageSpawner.GetStartProduction().GetComponent <StartProduction>().GetProduction())
            {
                stageSpawner.GetStartProduction().GetComponent <StartProduction>().DelProduction();
                stageTimer.GetComponent <RemainTime>().StartTimer();
                stageState = STAGE_STATE.PREPARE;
            }
        }
        int n = 0;

        if (stageTimer.GetComponent <RemainTime>().GetRemainTime() <= 0f && stageState != STAGE_STATE.TIME_UP && stageState != STAGE_STATE.RESCUE &&
            stageState != STAGE_STATE.TORPEDO_RESULT && stageState != STAGE_STATE.SHOOT && stageState != STAGE_STATE.PRODUCTION)
        {
            stageState = STAGE_STATE.TIME_UP;
        }
        if (stageState == STAGE_STATE.SHOOT)
        {
            if (stageSpawner.GetShootProduction() != null && stageSpawner.GetShootProduction().GetComponent <ShootProduction>().GetProduction())
            {
                stageSpawner.GetShootProduction().GetComponent <ShootProduction>().DelProduction();
                stageState = STAGE_STATE.PRODUCTION;
            }
        }
        if (stageState == STAGE_STATE.PRODUCTION)
        {
            shootworktime -= Time.deltaTime;
            if (shootworktime <= 0f)
            {
                shootworktime = shoottime;
                stageState    = STAGE_STATE.RESCUE;
            }
        }
        if (stageState == STAGE_STATE.RESCUE)
        {
            for (int i = 0; i < stageSpawner.GetTorpedo().Count; ++i)
            {
                if (stageSpawner.GetTorpedo()[i].GetComponent <TorpedoBehavior>().torpedostate == TorpedoBehavior.TorpedoState.RESCUE)
                {
                    n++;
                    continue;
                }
                else if (stageSpawner.GetTorpedo()[i].GetComponent <TorpedoBehavior>().torpedostate == TorpedoBehavior.TorpedoState.FAILED)
                {
                    continue;
                }
                else
                {
                    return;
                }
            }
            if (n >= 2)
            {
                comboText = Instantiate(Combo);
                if (n == 2)
                {
                    comboText.GetComponent <ComboText>().TwoCombo();
                    StageData.SetLearningGauge(n + (n - 1));
                }
                else if (n == 3)
                {
                    comboText.GetComponent <ComboText>().ThreeCombo();
                    StageData.SetLearningGauge(n + (n - 1) + (n - 2));
                }
                else if (n == 4)
                {
                    comboText.GetComponent <ComboText>().FourCombo();
                    StageData.SetLearningGauge(n + (n - 1) + (n - 2) + (n - 3));
                }
            }
            else
            {
                StageData.SetLearningGauge(n);
            }
            stageState = STAGE_STATE.TORPEDO_RESULT;
        }
        if (stageState == STAGE_STATE.TORPEDO_RESULT)
        {
            worktime -= 1f * Time.deltaTime;
            if (worktime <= 0f)
            {
                worktime = waittime;

                if (stageTimer.GetComponent <RemainTime>().GetRemainTime() <= 0f)
                {
                    stageState = STAGE_STATE.TIME_UP;
                    Debug.Log(StageData.GetRescuePersonCnt());
                    return;
                }

                if (comboText != null)
                {
                    Destroy(comboText.gameObject);
                    comboText = null;
                }

                if (StageData.GetLearningGauge() >= 10)
                {
                    StageData.SetLearningGauge(-10);
                    stageState = STAGE_STATE.LEARNING;
                }
                else
                {
                    stageSpawner.ResetTorpedoCamera();
                    stageSpawner.ResetTorpedo();
                    stageSpawner.RescueDrowningPerson();
                    stageSpawner.ResetTarget();
                    stageSpawner.ResetRemainTorpedo();
                    playerControllerObj.ResetShootFlg();
                    stageState = STAGE_STATE.PREPARE;
                }
            }
        }
        if (stageState == STAGE_STATE.LEARNING)
        {
            if (stageSpawner.GetTorpedoLearning() != null && stageSpawner.GetTorpedoLearning().GetComponent <TorpedoLearningMain>().GetEnd())
            {
                stageSpawner.GetTorpedoLearning().GetComponent <TorpedoLearningMain>().DelLearning();
                stageSpawner.ResetTorpedoCamera();
                stageSpawner.ResetTorpedo();
                stageSpawner.RescueDrowningPerson();
                stageSpawner.ResetTarget();
                stageSpawner.ResetRemainTorpedo();
                playerControllerObj.ResetShootFlg();
                stageState = STAGE_STATE.PREPARE;
            }
        }
        if (stageState == STAGE_STATE.TIME_UP)
        {
            if (stageSpawner.GetEndProduction() != null && stageSpawner.GetEndProduction().GetComponent <EndProduction>().GetProduction())
            {
                //stageSpawner.GetEndProduction().GetComponent<EndProduction>().DelProduction();
                // リザルトへ
                Fade.GetComponent <FadeController>().SetFadeOut(true);
                Fade.GetComponent <FadeController>().SetFadeIn(false);
                if (Fade.GetComponent <FadeController>().GetAlpha() >= 1.0f)
                {
                    SceneManager.LoadScene("ResultScene");
                }
            }
        }
    }
Beispiel #5
0
 // ============ ステージ状態変更 =============
 public void SetStageState(STAGE_STATE state)
 {
     stageState = state;
 }
Beispiel #6
0
 // ============ ステージ状態リセット ===========
 public void Reset()
 {
     stageState = STAGE_STATE.START;
 }
Beispiel #7
0
    protected void CharaLoop()
    {
        //Debug.Log(transform.position.x);


        //横ループ
        if (transform.position.x < -setStage.GetStageSize().x / 2)
        {
            //Debug.Log("front " + stagefront_state);
            //Debug.Log("back " + stageback_state);
            //Debug.Log("3");

            //Debug.Break();

            transform.position = new Vector3(transform.position.x + setStage.GetStageSize().x * 2 - 0.5f - LoopAddLength, transform.position.y, transform.position.z);
            //enter_flag[(int)STAGE_KIND.BACK] = true;
            //exit_flag[(int)STAGE_KIND.FRONT] = false;
            stagefront_state = STAGE_STATE.NONE;
            stageback_state  = STAGE_STATE.ENTER;

            //Debug.Log(setStage.GetStageSize().x * 2);
            //Debug.Log(transform.position.x);
        }
        else if (transform.position.x > setStage.GetStageSize().x * 3 / 2)
        {
            //Debug.Log("front " + stagefront_state);
            //Debug.Log("back " + stageback_state);
            //Debug.Log("4");

            //Debug.Break();

            transform.position = new Vector3(transform.position.x - setStage.GetStageSize().x * 2 + 0.5f + LoopAddLength, transform.position.y, transform.position.z);
            //enter_flag[(int)STAGE_KIND.FRONT] = true;
            //exit_flag[(int)STAGE_KIND.BACK] = false;
            stagefront_state = STAGE_STATE.ENTER;
            stageback_state  = STAGE_STATE.NONE;
        }
        //縦ループ
        //表から出たとき
        else if (stagefront_state == STAGE_STATE.EXIT && stageback_state == STAGE_STATE.NONE)
        {
            //Debug.Log("front " + stagefront_state);
            //Debug.Log("back " + stageback_state);
            //Debug.Log("1");

            //Debug.Break();

            //上から出るか下から出るか
            float set_y = transform.position.y;
            if (transform.position.y > setStage.GetStageSize().y / 2 - 0.5f)
            {
                set_y = transform.position.y - setStage.GetStageSize().y;
            }
            else if (transform.position.y < -setStage.GetStageSize().y / 2 + 0.5f)
            {
                set_y = transform.position.y + setStage.GetStageSize().y;
            }

            transform.position = new Vector3(transform.position.x + setStage.GetStageSize().x, set_y, transform.position.z);
        }
        else if (stageback_state == STAGE_STATE.EXIT && stagefront_state == STAGE_STATE.NONE)
        {
            //Debug.Log("front " + stagefront_state);
            //Debug.Log("back " + stageback_state);
            //Debug.Break();
            float set_y = transform.position.y;
            if (transform.position.y > setStage.GetStageSize().y / 2 - 0.5f)
            {
                set_y = transform.position.y - setStage.GetStageSize().y;
            }
            else if (transform.position.y < -setStage.GetStageSize().y / 2 + 0.5f)
            {
                set_y = transform.position.y + setStage.GetStageSize().y;
            }


            transform.position = new Vector3(transform.position.x - setStage.GetStageSize().x, set_y, transform.position.z);

            //Debug.Log("2");
        }

        if (stagefront_state == STAGE_STATE.EXIT)
        {
            stagefront_state = STAGE_STATE.NONE;
        }
        if (stageback_state == STAGE_STATE.EXIT)
        {
            stageback_state = STAGE_STATE.NONE;
        }
    }