예제 #1
0
    void OnTriggerEnter(Collider col)
    {
        if (col.transform.tag == "commandInLine")
        {
            DifficultyControlBehaviour diffControl    = GameControlBehaviour.instance.GetComponent <DifficultyControlBehaviour>();
            SpawnBehaviour             spawnBehaviour = GameControlBehaviour.instance.GetComponent <SpawnBehaviour>();
            GameObject infoTrain = GameControlBehaviour.instance.infoTrain;

            Debug.Log("Triggered Reching Base Event");
            Vector3 parkPos    = spawnBehaviour.getPositionInPark();
            Vector3 outsidePos = spawnBehaviour.getPositionOnFrame();

            diffControl.cycleCount++;

            if (diffControl.cycleCount % diffControl.cyclesForChange == 0)
            {
                spawnBehaviour.Spawn(outsidePos, parkPos);
                diffControl.changeSpeedBy(GetComponent <DOTweenPath>(), 0.03f);
                if (spawnBehaviour.zombiesInAction > infoTrain.transform.childCount)
                {
                    diffControl.addSatelite();
                }
                else if (spawnBehaviour.zombiesInAction < infoTrain.transform.childCount)
                {
                    diffControl.destroyLastSatelite();
                }
            }
        }
    }
예제 #2
0
 void Start()
 {
     spawnBehaviour = FindObjectOfType <SpawnBehaviour>();
     sceneControl   = FindObjectOfType <SceneController>();
     gameSettings   = FindObjectOfType <GameSettings>();
     uiManager      = FindObjectOfType <UiManager>();
     catController  = FindObjectOfType <CatController>();
     currentSpeed   = gameSettings.SpeedSet;
 }
예제 #3
0
 public PickUpDetails(
     double respawnTime,
     SpawnBehaviour spawnBehaviour,
     HitBehaviour hitBehaviour
     )
 {
     this.respawnTime = respawnTime;
     this.spawnBehaviour = spawnBehaviour;
     this.hitBehaviour = hitBehaviour;
 }
예제 #4
0
    //public SpriteRenderer rendererer;

    // Use this for initialization
    void Start()
    {
        myhp      = GetComponentInChildren <Text> ();
        myhp.text = curhp.ToString() + "/" + maxhp.ToString();
        //triggerwhendead = false;
        myspawn = GetComponentInParent <SpawnBehaviour> ();
        //curhp = 100;
        //rendererer = GetComponentInParent<SpriteRenderer> ();
        me = this.gameObject;
    }
예제 #5
0
 // Use this for initialization
 void Start()
 {
     gManager = GameObject.FindWithTag("DataHolder").GetComponent<GameManager>();
     gManager.addRelay(gameObject);
     animator = GetComponent<Animator>();
     laser = FindChild("LaserRelay").gameObject;
     spawn = GameObject.FindGameObjectWithTag("SpawnObject").GetComponent<SpawnBehaviour>();
     exp1 = FindChild("Explosion1").gameObject;
     exp2 = FindChild("Explosion2").gameObject;
     exp3 = FindChild("Explosion3").gameObject;
 }
예제 #6
0
    // Handle unspawn of object
    internal void Unspawn(SpawnBehaviour <T> instance)
    {
        // Remove object from spawned objects list
        T _instance = (T)instance;

        if (destroyOnUnspawn)
        {
            GameObject.Destroy(_instance.gameObject);
        }
        else if (_spawned.Remove(_instance))
        {
            // Put object in pool and activate it
            _pool.Enqueue(_instance);
            _instance.gameObject.SetActive(false);
        }
    }
예제 #7
0
파일: EnemyController.cs 프로젝트: rbrt/pk
    // Spawns an enemy off either side of the screen
    public void SpawnEnemy(GameObject enemyToInstantiate, SpawnBehaviour spawnBehaviour)
    {
        // Assume right side of the screen
        Vector3 position = rightSpawnLocation.position;

        if (spawnBehaviour == SpawnBehaviour.Random){
            position = (Random.Range(0,100) > 50 ? leftSpawnLocation : rightSpawnLocation).position;
        }
        else if (spawnBehaviour == SpawnBehaviour.Left){
            position = leftSpawnLocation.position;
        }

        position.y += (Random.Range(-50, 50) / 100f);

        var enemy = GameObject.Instantiate(enemyToInstantiate, position, Quaternion.Euler(Vector3.zero)) as GameObject;
        enemy.name += enemyCount++;
        enemy.GetComponent<Enemy>().SetFightSequence(fightSequence);
        enemy.GetComponent<Enemy>().Destination = FindIdlePosition();
        enemyList.Add(enemy);
    }
예제 #8
0
파일: EnemyController.cs 프로젝트: rbrt/pk
    // Spawns an enemy off either side of the screen
    public void SpawnEnemy(GameObject enemyToInstantiate, SpawnBehaviour spawnBehaviour)
    {
        // Assume right side of the screen
        Vector3 position = rightSpawnLocation.position;

        if (spawnBehaviour == SpawnBehaviour.Random)
        {
            position = (Random.Range(0, 100) > 50 ? leftSpawnLocation : rightSpawnLocation).position;
        }
        else if (spawnBehaviour == SpawnBehaviour.Left)
        {
            position = leftSpawnLocation.position;
        }

        position.y += (Random.Range(-50, 50) / 100f);

        var enemy = GameObject.Instantiate(enemyToInstantiate, position, Quaternion.Euler(Vector3.zero)) as GameObject;

        enemy.name += enemyCount++;
        enemy.GetComponent <Enemy>().SetFightSequence(fightSequence);
        enemy.GetComponent <Enemy>().Destination = FindIdlePosition();
        enemyList.Add(enemy);
    }
예제 #9
0
 public void setSpawndetector(SpawnBehaviour sb)
 {
     Controller = sb;
 }
 void Awake()
 {
     spawn = FindObjectOfType <SpawnBehaviour>();
 }
 private void Awake()
 {
     spawnBehaviour = GetComponent <SpawnBehaviour>();
 }