public override void Simulate() { _asteroidSpawnRate.Simulate(); if (_asteroidSpawnRate.ShouldExecute()) { CreateAsteroid(); _asteroidSpawnRate.Reset(); } }
// Start is called before the first frame update void Start() { if (registerPlayer) { _playerId = RollbackManager.rbInputManager.AddPlayer(); } _playerMovement = GetComponent <PlayerMovement>(); InScreenManager._instance.RegisterObject(transform); _rollbackTimerBetweenShoots = new RollbackTimer(_timeBetweenShootsTick); _rollbackTimerBetweenShoots.Reset(); }
public override void Simulate() { if (_playerId == -1) { return; } Vector2 newDirection; newDirection.x = RollbackManager.rbInputManager.GetAxis(RollbackInputManager.AxisEnum.HORIZONTAL, _playerId); newDirection.y = RollbackManager.rbInputManager.GetAxis(RollbackInputManager.AxisEnum.VERTICAL, _playerId); _playerMovement.SetDirection(newDirection); _rollbackTimerBetweenShoots.Simulate(); if (_rollbackTimerBetweenShoots.ShouldExecute()) { if (RollbackManager.rbInputManager.GetInputDown((int)CustomInputManager.ActionsCode.SHOOT, _playerId)) { ProjectileManager.Instance.poolManager.CreateObject(_shootPosition.position, _playerMovement.spriteTransform.rotation, _projectileSpeed); _rollbackTimerBetweenShoots.Reset(); } } }
public void SetGameObjectActive() { gameObject.SetActive(true); _rollbackTimer.Reset(); }
void Start() { _asteroidPoolManager = GetComponent <PoolManager>(); _asteroidSpawnRate = new RollbackTimer(_timeBetweenAsteroidSpawn); _asteroidSpawnRate.Reset(); }