Esempio n. 1
0
    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);
    }
Esempio n. 2
0
 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());
 }
Esempio n. 3
0
 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);
 }
Esempio n. 4
0
 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);
 }
Esempio n. 5
0
 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);
     }
 }
Esempio n. 6
0
    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;
    }
Esempio n. 7
0
    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);
    }
Esempio n. 8
0
    // 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;
        }
    }
Esempio n. 9
0
 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);
 }
Esempio n. 11
0
 void Start()
 {
     SoundManagerProxy.Get().PlayMusic(m_LevelMusic);
 }