public bool Fire(Vector3 fireDirection, float sizeModifier) { if (m_CurrentAmmo == 0 || m_FireDelay < m_FireRate) { return(false); } m_FireDelay = 0; SetAmmo(-1); GameObject bullet = Instantiate(m_BulletPrefab); if (bullet.GetComponent <Bullet> ().IsFollowingShooter()) { bullet.transform.SetParent(transform, false); } else { bullet.transform.position = transform.position; bullet.GetComponent <SpriteRenderer>().flipX = fireDirection.x < 0; } bullet.transform.localScale *= sizeModifier; bullet.GetComponent <Rigidbody2D> ().velocity = m_AmmoVelocity * fireDirection.normalized; SoundManagerProxy.Get().PlayMultiple(m_FireSound); return(true); }
public void KnockBack(Transform hazardTransfrom) { SoundManagerProxy.Get().PlayMultiple(m_HitSound); m_Mover.CancelVelocity(); m_Mover.ApplyForce(m_KnockBackForce * new Vector2(transform.position.x - hazardTransfrom.position.x , m_KnockBackYCorrectionForce)); StartCoroutine(KnockBackRoutine()); }
void CloseProxies() { SoundManagerProxy.Close(m_SoundManager); LevelManagerProxy.Close(m_LevelManager); InputManagerProxy.Close(m_InputManager); GameEventManagerProxy.Close(m_GameEventManager); UpdaterProxy.Close(m_Updater); LoggerProxy.Close(m_Logger); }
void OpenProxies() { LoggerProxy.Open(m_Logger); UpdaterProxy.Open(m_Updater); GameEventManagerProxy.Open(m_GameEventManager); InputManagerProxy.Open(m_InputManager); LevelManagerProxy.Open(m_LevelManager); SoundManagerProxy.Open(m_SoundManager); }
private void OnTriggerEnter2D(Collider2D other) { if (other.tag == "Player") { Health playerHealth = other.gameObject.GetComponent <Health>(); playerHealth.Heal(m_Heal); SoundManagerProxy.Get().PlayMultiple(m_Sound); Destroy(gameObject); } }
public virtual void Seek(GameObject target) { if (m_IsSeeking || IsDying()) { return; } SoundManagerProxy.Get().PlayMultiple(m_SeekingSound); m_IsSeeking = true; m_Animator.SetTrigger("seeking"); m_Target = target.transform; m_HealthBar.enabled = true; m_Collider.enabled = true; }
IEnumerator SpawnRountine(int binNumber) { m_Animator.SetBool("IsSpawning", true); SoundManagerProxy.Get().PlayMultiple(m_FallingSound); UpdaterProxy.Get().SetPause(true); yield return(new WaitForSeconds(1f)); GameObject binGameObject = GameObject.Instantiate(m_BinPrefab); TileCoordinates coordinates = GetCoordinates(); binGameObject.transform.position = new Vector3(coordinates.x.ToWorldUnit(), coordinates.y.ToWorldUnit(), 0); Bin bin = binGameObject.GetComponent <Bin> (); bin.Init(ETileObjectType.Bin, coordinates.x, coordinates.y, new string[] { binNumber.ToString() }); bin.SetSpawnedCommandNumber(); TileManagerProxy.Get().SetTileObject(coordinates, bin); ms_BinNumber++; UpdaterProxy.Get().SetPause(false); m_Animator.SetBool("IsSpawning", false); }
// This should be called before any other gameobject awakes private void Awake () { // Singleton pattern : this is the only case where it should be used if(ms_Instance == null) { ms_Instance = this; DontDestroyOnLoad (gameObject); // Keep the Updater first, as the other members might want to register to it m_Logger = new UnityLogger (); LoggerProxy.Open (m_Logger); m_Updater = new Updater (); UpdaterProxy.Open (m_Updater); m_GameEventManager = new GameEventManager (); GameEventManagerProxy.Open (m_GameEventManager); m_InputManager = new InputManager (); InputManagerProxy.Open (m_InputManager); m_LevelManager = new LevelManager (); LevelManagerProxy.Open (m_LevelManager); m_TileManager = new TileManager (); TileManagerProxy.Open (m_TileManager); m_CommandStack = new CommandStack (); CommandStackProxy.Open (m_CommandStack); m_GoalManager = new GoalManager (); GoalManagerProxy.Open (m_GoalManager); m_SoundManager = new SoundManager (); SoundManagerProxy.Open (m_SoundManager); m_SoundManager.SetMusicSource (m_MusicSource); m_SoundManager.SetFXSource (m_EfxSource); m_GameFlowHSM = new GameFlowHSM (); m_GameFlowHSM.Start (typeof (GameFlowMenuState)); } else if (ms_Instance != this) { Destroy (gameObject); return; } }
public void OnGameEvent(DemonFightGameEvent fightEvent) { SoundManagerProxy.Get().PlayMusic(m_BossMusic); StartCoroutine(DemonSpawnRoutine()); }
public void OnGameEvent(GameOverGameEvent gameOver) { gameObject.SetActive(true); SoundManagerProxy.Get().PlayMusic(m_GameOverMusic); }
void Start() { SoundManagerProxy.Get().PlayMusic(m_LevelMusic); }