Esempio n. 1
0
    void CreatZombie()
    {
        float x = Random.Range(-1, 9);
        float z = Random.Range(-1, 9);



        // float x = Random.Range(-1.5f, 1.5f);
        // float z = Random.Range(6.0f, 8.0f);

        GameObject zo = Instantiate(zombiePrefabs[0],
                                    new Vector3(x, 3f, z),
                                    zombiePrefabs[0].transform.rotation);

        ZombieAI2_ys zoComponent = zo.GetComponent <ZombieAI2_ys>();

        zoComponent.unityChan = this.unitychanObj;
        zoComponent.zombieHP  = Random.Range(5, 8);


        zombieList.Add(zo);
    }
Esempio n. 2
0
    // Update is called once per frame
    void LateUpdate()
    {
        if (TargetZombie != null)
        {
            ShootButton.SetActive(true);
        }
        else
        {
            ShootButton.SetActive(false);
        }


        foreach (var zombie in zombieList)
        {
            ZombieAI2_ys zo = zombie.GetComponent <ZombieAI2_ys>();
            if (zo.zombieHP <= 0)
            {
                zo.zombieAnimator.SetBool("IsDie", true);
                zombieList.Remove(zombie);
                TargetMarker.SetActive(false);
            }
        }

        ARam.text = "" + unitychan.Weapons[0].GetComponent <WeaponCon_ys>().remainingAm + "/" + unitychan.Weapons[0].GetComponent <WeaponCon_ys>().MaxAm;
        Pam.text  = "" + unitychan.Weapons[1].GetComponent <WeaponCon_ys>().remainingAm + "/" + unitychan.Weapons[1].GetComponent <WeaponCon_ys>().MaxAm;
        SGam.text = "" + unitychan.Weapons[2].GetComponent <WeaponCon_ys>().remainingAm + "/" + unitychan.Weapons[2].GetComponent <WeaponCon_ys>().MaxAm;
        lifeAndEnergie.UpdateEnergie(unitychan.energy);
        lifeAndEnergie.UpdateLife(unitychan.unityChanHP);

        if (unitychan.unityChanHP <= 0)
        {
            GameOver();
        }

        switch (state)
        {
        case State.Ready:
            ObjectSet();
            break;

        case State.ObjectSet:
            unitychan.energy = 4;

            PlayerTurn();

            break;

        case State.PlayerTurn:
            if (unitychan.energy <= 0)
            {
                Reload.SetActive(false);
                WeaponsButton.SetActive(false);
                ShootButton.SetActive(false);
                MoveButton.SetActive(false);
                MoveEndButton.SetActive(false);
            }
            break;

        case State.Move:
            unitychan.MoveUnityChan(startPos);
            Reload.SetActive(false);
            MoveButton.SetActive(false);
            MoveEndButton.SetActive(true);
            WeaponsButton.SetActive(false);
            moce.GetComponent <Renderer>().material.color = new Color(0, 0.1098f, 1, Mathf.Clamp(Mathf.Sin(Time.time), 0.1f, 0.6f));

            break;

        case State.TargetSelect:

            RayShoot();
            break;

        case State.EnemyTurn:
            bool isend = true;

            foreach (var zombie in zombieList)
            {
                if (zombie.GetComponent <ZombieAI2_ys>().isActionEnd == false)
                {
                    isend = false;
                }
            }
            if (isend)
            {
                ObjectSet();
            }
            break;

        case State.GameOver:
            if (Input.GetKeyDown(KeyCode.Space))
            {
                SceneManager.LoadScene("Sekizawa_Main");
            }

            break;
        }
    }