Пример #1
0
    private void OnTriggerEnter(Collider collider)
    {
        if (collider.tag.Equals("Boundaries"))
        {
            return;
        }

        GameEventController gameController = GameObject.FindGameObjectWithTag("GameEvents").GetComponent <GameEventController>();

        // If Enemy Collide with player bullet we need to destroy the bullet
        if (collider.tag.Equals("CustomPlayerBullet"))
        {
            if (health > 1)
            {
                health -= 1;
            }
            else // If its bosses last health, a winning condition will be set to a player
            {
                Destroy(gameObject); // Destroy the Enemy object itself
                Instantiate(bossExplosion, transform.position, transform.rotation);
                gameController.score += 20; // add 20 points for killing boss
                gameController.Winning();
            }
            Destroy(collider.gameObject); // Destroy the Bullet object
        }
    }
Пример #2
0
 private void Start()
 {
     agent     = GetComponent <NavMeshAgent>();
     enemyHead = transform.Find("EnemyHead");
     target    = GameObject.FindGameObjectWithTag("Player").GetComponent <Transform>();
     GameEventController.AddEnemy(this);
 }
Пример #3
0
 public GameEngine(GameEventController gameEventController, GameSettings settings)
 {
     _gameEventController = gameEventController;
     _arena         = new Arena(settings.ArenaSize);
     _players       = new ConcurrentDictionary <Guid, Player>();
     _score         = new ScoreKeeper();
     _debug         = new Debug();
     _roundKeeper   = new RoundKeeper(settings.RoundDuration, settings.RoundCountdownDuration, _gameEventController);
     _powerUpKeeper = new PowerUpKeeper(settings.ArenaSize);
     _gameSize      = settings.ArenaSize;
 }
Пример #4
0
    public void OnAction(GameEventData gameEventData)
    {
        GameObject go = new GameObject("Nested Game Event Controller");

        go.transform.SetParent(GameController.Instance.transform);
        go.transform.Reset();
        GameEventController nestedGameEventController = go.AddComponent <GameEventController>();

        nestedGameEventController.GameEventRoot = Object.Instantiate(gameEventData.NestedEvent);
        nestedGameEventController.DepthOffset   = gameEventData.TriggerAtDepth;
    }
    void Start()
    {
        instance    = this;
        currentTime = startingTime;

        //Game Start
        wakeText.SetActive(true);
        timeGo = false;
        //SFX
        FindObjectOfType <SoundManager>().Play("Alarm");
        FindObjectOfType <SoundManager>().StartTheme();
    }
Пример #6
0
        public RoundKeeper(int roundDuration, int countdownDuration, GameEventController eventController)
        {
            _roundDuration     = roundDuration;
            _countdownDuration = countdownDuration;
            _eventController   = eventController;

            _countdownTimer          = new Timer(_countdownDuration * 1000);
            _countdownTimer.Elapsed += CountdownTimerEndHandler;

            _roundTimer          = new Timer(_roundDuration * 1000);
            _roundTimer.Elapsed += RoundTimerEndHandler;
        }
 private void Awake()
 {
     winningText.gameObject.SetActive(false);
     pointText.gameObject.SetActive(false);
     nextGame.gameObject.SetActive(false);
     if (instance == null)
     {
         instance = this;
     }
     else
     {
         Destroy(gameObject);
     }
     shouldScore = true;
     win         = false;
     score       = 999999;
     killedEnemy = 0;
 }
Пример #8
0
    private void Setup()
    {
        mFurthestDepth = 0.0f;

        mChunkControllerInstance     = SpawnControllerPrefab(mChunkControllerPrefab);
        mCameraControllerInstance    = SpawnControllerPrefab(mCameraControllerPrefab);
        mUIControllerInstance        = SpawnControllerPrefab(mUIControllerPrefab);
        mPlayerInstance              = SpawnControllerPrefab(mPlayerPrefab);
        mInfiniteBombSpawnerInstance = SpawnControllerPrefab(mInfiniteBombSpawnerPrefab);

        GameObject go = new GameObject("Game Event Controller");

        go.transform.SetParent(transform);
        go.transform.Reset();
        mGameEventControllerInstance = go.AddComponent <GameEventController>();
        mGameEventControllerInstance.GameEventRoot = Instantiate(mGameEventRootPrefab);

        mPlayerInstance.HealthController.OnKilled += OnPlayerKilled;
        mPlayerInstance.transform.position         = new Vector3(0.0f, 10.0f, 0.0f);
        mUIControllerInstance.PushMenu(UIController.ELayer.HUD, mDepthMeterHUDPrefab);
        mUIControllerInstance.PushMenu(UIController.ELayer.HUD, mHealthBarHUDPrefab);
    }
Пример #9
0
    private void OnTriggerEnter(Collider collider)
    {
        // Implementing collision logic

        // If its a boundary or other enemy spaceship, we immediately return from the collapse method

        if (collider.tag == "Boundaries" || collider.tag == "Enemy")
        {
            return;
        }

        GameEventController gameController = GameObject.FindGameObjectWithTag("GameEvents").GetComponent <GameEventController>();

        // If Enemy Collide with player bullet we need to destroy the bullet
        if (collider.tag == "CustomPlayerBullet")
        {
            Destroy(collider.gameObject); // Destroy the Bullet object
            Destroy(gameObject);          // Destroy the Enemy object itself
            Instantiate(explosion, transform.position, transform.rotation);
            gameController.score += 1;
        }
    }
Пример #10
0
 public void Start()
 {
     main = pickupExplosion.GetComponent <ParticleSystem>().main;
     gameEventController = GameObject.FindGameObjectWithTag("GameEvents").GetComponent <GameEventController>();
 }
Пример #11
0
 public void Start()
 {
     _events = GameEventController.Instance;
 }
Пример #12
0
 public void Start()
 {
     _events = GameEventController.Instance;
     Health.OnDamageTaken += RunDeathEvents;
 }
Пример #13
0
 public void Start()
 {
     _bornAt = Time.time;
     _events = GameEventController.Instance;
 }
Пример #14
0
 private void OnDestroy()
 {
     GameEventController.RemoveEnemy(this);
 }