Exemple #1
0
        private void Awake()
        {
            _iniProjectileSpeed         = ProjectileSpeed;
            _menuManager                = FindObjectOfType <MenuManager>();
            _menuManager.OnStartGame   += StartGame;
            _menuManager.OnRestartGame += RestartGame;

            _gridSystem = FindObjectOfType <GridSystem>();

            _infGrid = (InfiniteHexGrid)_gridSystem.Grid;

            _metronome       = _gridSystem.GetComponent <Metronome>();
            _metronome.Beat += Shoot;

            _trail = _gridSystem.GetComponent <TrailSystem>();

            _position = transform.position;

            _player = FindObjectOfType <Player>();

            var go = Resources.Load <GameObject>("Boss/Projectile");

            _obstacleMask = LayerMask.GetMask("Player");

            _projectiles = new Transform[ProjectilesCount];

            for (int i = 0; i < ProjectilesCount; i++)
            {
                _projectiles[i]          = Instantiate(go).transform;
                _projectiles[i].position = Vector3.one * -1000;
            }

            _lastTime = _metronome.ElapsedTime;
            Hp        = MaxHp;
        }
        void Awake()
        {
            midiStreamSynthesizer = new StreamSynthesizer(samplerate, 2, bufferSize, _polyCount);
            sampleBuffer          = new float[midiStreamSynthesizer.BufferSize];

            midiStreamSynthesizer.LoadBank(bankFilePath);

            midiSequencer         = new MidiSequencer(midiStreamSynthesizer);
            midiSequencer.Looping = true;
            midiSequencer.OnLoop += AddLoopOffset;

            _shouldPlayFile = false;

            _menuManager              = FindObjectOfType <MenuManager>();
            _menuManager.OnStartGame += StartMetronome;
            _menuManager.OnGameOver  += StopMetronome;

            _metronome = FindObjectOfType <Metronome>();
            _metronome.BeatSubscribe(DoBeep);
            _metronome.BeatEvent += Play;

            _gridSystem = GetComponent <GridSystem>();

            _infGrid = (InfiniteHexGrid)_gridSystem.Grid;

#if UNITY_WEBGL
            AudioSettings.outputSampleRate = samplerate;
            var aud = GetComponent <AudioSource>();
            aud.clip = AudioClip.Create("Proc", midiStreamSynthesizer.BufferSize, 1, samplerate, true, Reader, SetAudioPosition);
            aud.Play();
#endif
        }
Exemple #3
0
        private void Awake()
        {
            _coins = new GameObject[CoinPool * _mul];

            var go = Resources.Load <GameObject>("Pool/Coin");

            _menuManager = FindObjectOfType <MenuManager>();
            _menuManager.OnRestartGame += RestartGame;

            for (int i = 0; i < CoinPool * _mul; i++)
            {
                _coins[i] = Instantiate(go);
                _coins[i].transform.position = Vector3.one * -1000;
            }

            _trail = FindObjectOfType <TrailSystem>();

            if (_gridSystem == null)
            {
                _gridSystem = GetComponent <GridSystem>();
            }

            _infGrid         = (InfiniteHexGrid)_gridSystem.Grid;
            _metronome       = FindObjectOfType <Metronome>();
            _metronome.Beat += PopCoin;

            _infGrid = (InfiniteHexGrid)_gridSystem.Grid;
        }
Exemple #4
0
        private void Update()
        {
            if (_target == null || _gridSystem == null || _gridSystem.Grid == null)
            {
                return;
            }

            if (_infGrid == null)
            {
                _infGrid = (InfiniteHexGrid)_gridSystem.Grid;
            }

            if (_infGrid == null)
            {
                return;
            }

            var space = GetSpace();

            var p = (int)((_target.position.x + space * (PoolSize / 4f)) / space);

            if (p <= _lastPos)
            {
                return;
            }

            _lastPos = p;

            Draw(new Vector3(_lastPos * space, 0, _target.position.z));
        }
Exemple #5
0
        private void Awake()
        {
            _pool = new GameObject[PoolSize * _mul];

            _obstacles = Resources.LoadAll <GameObject>("Pool/Obstacles");

            _menuManager = FindObjectOfType <MenuManager>();
            _menuManager.OnRestartGame += RestartGame;

            for (int i = 0; i < PoolSize * _mul; i++)
            {
                _pool[i] = Instantiate(_obstacles[i % _obstacles.Length]);
                _pool[i].transform.position = Vector3.one * -1000;
            }

            _trail = FindObjectOfType <TrailSystem>();

            if (_gridSystem == null)
            {
                _gridSystem = GetComponent <GridSystem>();
            }

            _infGrid   = (InfiniteHexGrid)_gridSystem.Grid;
            _metronome = FindObjectOfType <Metronome>();

            _infGrid = (InfiniteHexGrid)_gridSystem.Grid;
        }
        private void Update()
        {
            if (_infGrid == null)
            {
                _infGrid = (InfiniteHexGrid)_gridSystem.Grid;
            }

            if (midiSequencer.isPlaying && !_shouldPlayFile)
            {
                midiSequencer.Stop(true);
            }
        }
Exemple #7
0
        private void Update()
        {
            if (_target == null || _gridSystem == null || _gridSystem.Grid == null)
            {
                return;
            }

            if (_infGrid == null)
            {
                _infGrid = (InfiniteHexGrid)_gridSystem.Grid;
            }
        }
Exemple #8
0
        private void Update()
        {
            if (_isdead)
            {
                return;
            }
            if (_infGrid == null)
            {
                _infGrid = (InfiniteHexGrid)_gridSystem.Grid;
            }

            UpdatePosition();
            UpdateProjectilesPosition();
            CheckCollision();

            if (Input.GetKeyDown(KeyCode.Q))
            {
                Hit();
            }
        }