public void TriggerBomb(GameManager.Types type) { this.type = type; ParticleSystem.MainModule main = pulse.main; switch (type) { case GameManager.Types.Green: main.startColor = Color.green; break; case GameManager.Types.Red: main.startColor = Color.red; break; case GameManager.Types.Blue: main.startColor = Color.blue; break; case GameManager.Types.Yellow: main.startColor = Color.yellow; break; } Destroy(bombBase); transform.DOMoveY(transform.position.y < 0 ? 18 : -18, Random.Range(minTime, maxTime)); pulse.Play(); }
public void HandleHit(GameManager.Types HitType) { if (HitType != shield) { //GetComponent<Rigidbody2D>().AddForce(new Vector2(-10000, 0), ForceMode2D.Impulse); } }
private void Fire(GameManager.Types type) { float xValue = state.ThumbSticks.Left.X, yValue = state.ThumbSticks.Left.Y; if (Mathf.Abs(xValue) < 0.01 && Mathf.Abs(yValue) < 0.01) { xValue = 1; } float theta = Mathf.Atan2(yValue, xValue) * 180 / Mathf.PI; Vector3 addition = Vector3.zero; if (Mathf.Abs(theta) <= 120) { addition = new Vector3(xValue, yValue, 0).normalized; } else { addition = new Vector3(-0.5f, 0.866f * Mathf.Sign(theta), 0); } Projectile projectile = Instantiate(projectilePrefab, transform.position + addition * 4, Quaternion.Euler(0, 0, Mathf.Clamp(theta, -120, 120))) as Projectile; projectile.gameObject.layer = gameObject.layer; projectile.Initialize(type); fireTime = fireDelay; }
private void SetShield(GameManager.Types type) { if (type == GameManager.Types.None) { shieldPs.Stop(); return; } ParticleSystem.MainModule main = shieldPs.main; switch (type) { case GameManager.Types.Green: main.startColor = Color.green; break; case GameManager.Types.Red: main.startColor = Color.red; break; case GameManager.Types.Blue: main.startColor = Color.blue; break; case GameManager.Types.Yellow: main.startColor = Color.yellow; break; case GameManager.Types.None: break; } shieldPs.Play(); }
public void Initialize(GameManager.Types type) { this.type = type; Color color = Color.white; switch (type) { case GameManager.Types.Green: color = Color.green; break; case GameManager.Types.Red: color = Color.red; break; case GameManager.Types.Blue: color = Color.blue; break; case GameManager.Types.Yellow: color = Color.yellow; break; } mesh.material.color = color; ParticleSystem.MainModule main = trail.main; main.startColor = color; }
private void ManageInput() { if (fireTime > 0) { fireTime -= Time.deltaTime; } GameManager.Types type = GameManager.Types.None; if (prevState.Buttons.A == ButtonState.Released && state.Buttons.A == ButtonState.Pressed) { type = GameManager.Types.Green; } else if (prevState.Buttons.B == ButtonState.Released && state.Buttons.B == ButtonState.Pressed) { type = GameManager.Types.Red; } else if (prevState.Buttons.X == ButtonState.Released && state.Buttons.X == ButtonState.Pressed) { type = GameManager.Types.Blue; } else if (prevState.Buttons.Y == ButtonState.Released && state.Buttons.Y == ButtonState.Pressed) { type = GameManager.Types.Yellow; } else if (state.Buttons.RightShoulder == ButtonState.Released || (state.Buttons.A == ButtonState.Released && state.Buttons.B == ButtonState.Released && state.Buttons.X == ButtonState.Released && state.Buttons.Y == ButtonState.Released)) { SetShield(GameManager.Types.None); return; } if (state.Buttons.RightShoulder == ButtonState.Pressed) { SetShield(type); } else if (fireTime <= 0) { Fire(type); } }