Exemple #1
0
    public void droneshodown(EnemyMoveAction.DroneType droneType)
    {
        Debug.Log("ドローン撃墜、残りのドローンは後" + SpawnObject.transform.childCount.ToString());
        switch (droneType)
        {
        case EnemyMoveAction.DroneType.A:
            DroneDCount1++;
            break;

        case EnemyMoveAction.DroneType.B:
            DroneDCount2++;
            break;

        case EnemyMoveAction.DroneType.C:
            DroneDCount3++;
            break;

        case EnemyMoveAction.DroneType.D:
            DroneDCount4++;
            break;

        case EnemyMoveAction.DroneType.AIRPLANE:
            AirplaneCount++;
            break;

        case EnemyMoveAction.DroneType.BOMBERMECHA:
            BombermechaCount++;
            break;
        }
        RemainDrone -= 1;
        if (RemainDrone <= 0)
        {
            WaveFinish();
        }
    }
Exemple #2
0
    IEnumerator DroneGenerate(GameObject Drone, EnemyMoveAction.DroneType Type, int DroneNumber)
    {
        //ドローンの生成
        for (int i = 0; i < DroneNumber; i++)
        {
            var wavenumber    = wave;
            var x             = Random.Range(26.0f, 52.0f);
            var y             = Random.Range(155.0f, 165.0f);
            var z             = Random.Range(-90.0f, -107.0f);
            var spawnposition = new Vector3(x, y - 5, z);
            var d             = Instantiate(Drone);
            d.transform.position = spawnposition;
            d.transform.parent   = SpawnObject.transform;
            d.SetActive(false);
            d.GetComponent <DroneController>().wavemanager = this;
            d.GetComponent <DroneController>().type        = Type;
            if (Type == EnemyMoveAction.DroneType.D)
            {
                d.GetComponent <BehaviorDesigner.Runtime.Behavior>().SetVariableValue("Shield", true);
            }
            switch (Type)
            {
            case EnemyMoveAction.DroneType.A:
                d.GetComponent <BehaviorDesigner.Runtime.Behavior>().SetVariableValue("bulletnumber", 0);
                break;

            case EnemyMoveAction.DroneType.B:
                d.GetComponent <BehaviorDesigner.Runtime.Behavior>().SetVariableValue("bulletnumber", 1);
                break;

            case EnemyMoveAction.DroneType.C:
                d.GetComponent <BehaviorDesigner.Runtime.Behavior>().SetVariableValue("bulletnumber", 2);
                break;

            case EnemyMoveAction.DroneType.D:
                d.GetComponent <BehaviorDesigner.Runtime.Behavior>().SetVariableValue("bulletnumber", 4);
                break;

            case EnemyMoveAction.DroneType.AIRPLANE:
                //d.GetComponent<BehaviorDesigner.Runtime.Behavior>().SetVariableValue("bulletnumber", 0);
                break;

            case EnemyMoveAction.DroneType.BOMBERMECHA:
                d.GetComponent <BehaviorDesigner.Runtime.Behavior>().SetVariableValue("bulletnumber", 4);
                break;
            }
            yield return(new WaitForSeconds(Random.Range(0, 5 * i)));

            if (wave == wavenumber)
            {
                d.SetActive(true);
            }
            else
            {
                Destroy(d);
            }
            Debug.Log("ドローン生成");
        }
    }
Exemple #3
0
    public void DroneShotDown(EnemyMoveAction.DroneType droneType, DroneController drone)
    {
        Destroy(drone.gameObject, 0.5f);
        //ドローン撃墜

        Observable.Timer(System.TimeSpan.FromSeconds(1))
        .Subscribe(_ => droneshodown(droneType));
    }
Exemple #4
0
 public void InstantDrone(GameObject Drone, EnemyMoveAction.DroneType Type, int DroneNumber)
 {
     StartCoroutine(DroneGenerate(Drone, Type, DroneNumber));
     RemainDrone += DroneNumber;
 }