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 }
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; }
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)); }
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); } }
private void Update() { if (_target == null || _gridSystem == null || _gridSystem.Grid == null) { return; } if (_infGrid == null) { _infGrid = (InfiniteHexGrid)_gridSystem.Grid; } }
private void Update() { if (_isdead) { return; } if (_infGrid == null) { _infGrid = (InfiniteHexGrid)_gridSystem.Grid; } UpdatePosition(); UpdateProjectilesPosition(); CheckCollision(); if (Input.GetKeyDown(KeyCode.Q)) { Hit(); } }