示例#1
0
    void OnTriggerEnter2D(Collider2D other)
    {
        if (status == Status.Alive)
        {
            if (other.CompareTag(Constants.TAG_PLAYER))
            {
                if (_hitsLeft > 0)
                {
                    PlayerPrototype pp = other.GetComponent <PlayerPrototype>();
                    if (pp.isImmortal || pp.isShieldOn)
                    {
                        if (pp.isShieldOn && !pp.isImmortal)
                        {
                            pp.SetShield(false);
                        }


                        Hit();
                    }
                    else
                    {
                        pp.Kill();
                    }
                }
            }
        }
    }
示例#2
0
 private void Start()
 {
     _animator    = GetComponent <Animator>();
     _collider2D  = GetComponent <Collider2D>();
     _player      = GameObject.FindWithTag("Player").GetComponent <PlayerPrototype>();
     _rigidbody2D = GetComponent <Rigidbody2D>();
 }
示例#3
0
    private void OnTriggerEnter2D(Collider2D other)
    {
        if (other.CompareTag("Player"))
        {
            _player = GameObject.Find(_playerString).GetComponent <PlayerPrototype>();
            if (_player != null)
            {
                switch (_type)
                {
                case PowerUpType.TripleShot:
                    _player.TripleShot();
                    _player.AmmoReload();
                    break;

                case PowerUpType.SpeedBoost:
                    _player.SpeedBoost();
                    break;

                case PowerUpType.Shield:
                    _player.Shield();
                    // get shield
                    Shield shield = FindObjectOfType <Shield>();
                    shield.FullShields();
                    break;

                case PowerUpType.Ammo:
                    _player.AmmoReload();
                    break;

                case PowerUpType.Health:
                    _player.HealthRestore();
                    break;

                case PowerUpType.InvertedControls:
                    _player.InvertControls();
                    break;

                case PowerUpType.HomingMissile:
                    _player.HomingMissile();
                    break;

                default:
                    break;
                }
                _animator.SetTrigger(collectedHash);
                _collider2D.enabled = false;
                AudioSource.PlayClipAtPoint(_powerupClip, Camera.main.transform.position);
            }
        }

        if (other.CompareTag("EnemyLaser"))
        {
            Instantiate(_explosion, transform.position, Quaternion.identity);
            Destroy(this.gameObject);
        }
    }
示例#4
0
 void OnTriggerEnter2D(Collider2D other)
 {
     if (other.CompareTag(Constants.TAG_PLAYER))
     {
         PlayerPrototype pp = other.GetComponent <PlayerPrototype>();
         if (pp != null)
         {
             pp.Kill();
         }
         _state = State.Stop;
     }
 }
示例#5
0
    public void OnStartGame()
    {
        _state = GameState.Reset;
        GUI_mainMenu.gameObject.SetActive(false);
        GUI_inGame.gameObject.SetActive(true);

        if (_playerInstance == null)
        {
            _playerInstance = Instantiate(player, _spawnPosition, Quaternion.identity) as PlayerPrototype;
            _collectibleManager.playerPrototype = _playerInstance;
            _camera.player = _playerInstance;
        }
    }
示例#6
0
    void OnTriggerEnter2D(Collider2D other)
    {
        if (other.CompareTag(Constants.TAG_PLAYER))
        {
            PlayerPrototype pp = other.GetComponent <PlayerPrototype>();
            if (pp != null)
            {
                if (pp.state == PlayerPrototype.PlayerState.Dead)
                {
                    return;
                }
            }

            if (audioManager)
            {
                audioManager.Play(sound);
            }

            collectibleManager.AddCollectible(this);
        }
    }
示例#7
0
    private void OnTriggerEnter2D(Collider2D other)
    {
        if (other.CompareTag("Player"))
        {
            _player = other.GetComponent <PlayerPrototype>();
            if (_player != null)
            {
                _player.DamagePlayer();
                OnEnemyDestroyed?.Invoke(_enemyValue);
            }
            else
            {
                Debug.LogError("PlayerPrototype = NULL");
            }
            EnemyDestructionAnimation();
        }

        if (other.CompareTag("Laser"))
        {
            Destroy(other.gameObject);
            OnEnemyDestroyed?.Invoke(_enemyValue);
            EnemyDestructionAnimation();
        }
    }
示例#8
0
 void Start()
 {
     _playerPrototype     = GetComponent <PlayerPrototype> ();
     _lowPassFilterFactor = accelerometerUpdateInterval / lowPassKernelWidthInSeconds;
 }