コード例 #1
0
    private void OnTriggerEnter(Collider other)
    {
        if (other.CompareTag("Rock"))
        {
            GM.SetLife(-1);
            GM.SetDeath(+1);
            AUDIO.PlaySoundOnce(0);

            //Оповещение что игрок умер
            EventManager.OnAction("PlayerDie");

            Destroy(destroyObject);
        }

        if (other.CompareTag("UFO"))
        {
            GM.SetLife(-1);
            GM.SetDeath(+1);
            AUDIO.PlaySoundOnce(0);

            //Оповещение что игрок умер
            EventManager.OnAction("PlayerDie");
            Destroy(destroyObject);
        }
    }
コード例 #2
0
    /// <summary>
    /// Разрушение лазером
    /// </summary>
    public void OnLaserDestroy()
    {
        AUDIO.PlaySoundOnce(0);
        GM.SetScore(1);
        SpawnerController spawner = this.GetComponentInParent <SpawnerController>();

        spawner.OnSpawnSmallRock(TR.position);
        Destroy(this.gameObject);
    }
コード例 #3
0
    private void Update()
    {
        //Управление
        float playerMoveH = Input.GetAxis("Horizontal");
        float playerMoveV = Input.GetAxis("Vertical");

        speed = playerMoveV * SpeedMove * Time.deltaTime;
        if (playerMoveV > 0)
        {
            direction = -model.up;
        }
        Vector3 velocity = direction * speed;

        //Движение в направлении
        if (playerMoveV > 0)
        {
            rb3D.AddForce(velocity, ForceMode.Impulse);
        }

        //Поворот персонажа
        model.Rotate(new Vector3(0, 0, -playerMoveH * SpeedRotate));

        //Ограничитель скорости
        if (rb3D.velocity.magnitude > SpeedMax)
        {
            rb3D.velocity = rb3D.velocity.normalized * SpeedMax;
        }

        //Синхронизация положения тела и модели т.к. модель может вертеться как голова
        model.position = rb3D.position;

        //Расшариваем позицию игрока
        GM.PlayerPos = model.position;

        //Стрельба пулями
        if (Input.GetKeyDown(KeyCode.Space))
        {
            AUDIO.PlaySoundOnce(2);
            spawner.OnSpawnPrefab(0, model.position, model.rotation);
        }

        //Стрельба лазером
        if (Input.GetKeyDown(KeyCode.F) && GM.GameData.Laser > 0)
        {
            AUDIO.PlaySoundOnce(1);
            GM.SetLaser(-1);
            spawner.OnSpawnPrefab(1, model.position, model.rotation);
        }
    }
コード例 #4
0
 /// <summary>
 /// Разрушение пулей
 /// </summary>
 public void OnBulletDestroy()
 {
     //Уничтожение и разброс мелких
     if (TypeRock == 0)
     {
         AUDIO.PlaySoundOnce(0);
         GM.SetScore(1);
         SpawnerController spawner = this.GetComponentInParent <SpawnerController>();
         spawner.OnSpawnMediumRock(TR.position);
         Destroy(this.gameObject);
     }
     else if (TypeRock == 1)
     {
         AUDIO.PlaySoundOnce(0);
         GM.SetScore(1);
         SpawnerController spawner = this.GetComponentInParent <SpawnerController>();
         spawner.OnSpawnSmallRock(TR.position);
         Destroy(this.gameObject);
     }
 }
コード例 #5
0
 /// <summary>
 /// Спавн летающей тарелки
 /// </summary>
 public void OnSpawnUFO()
 {
     AUDIO.PlaySoundOnce(3);
     spawner.OnSpawnPrefab(4, new Vector3(GetFreePosX(), GM.PlayerPos.y, 0f));
 }