protected void SelfDestruct(object sender, ChangeLevelEventArgs e)
 {
     if (this.gameObject != null)
     {
         Destroy(this.gameObject);
     }
 }
Exemple #2
0
 protected void BallToInitialPosition(object sender, ChangeLevelEventArgs e)
 {
     this.BallRigRef.velocity        = Vector3.zero;
     this.BallRigRef.angularVelocity = Vector3.zero;
     this.Launched = false;
     this.BallGameObject.transform.position = this.initialTransform.position;
 }
Exemple #3
0
 protected void ChangeLevel(object sender, ChangeLevelEventArgs e)
 {
     this.NextLevel();
     if(e.ChangeReason != ChangeLevelReasons.AllBricksDestroyed)
         this.CurrentField.DestroyAllBricks();
     this.CurrentField = new Field(this.level);
 }
Exemple #4
0
    private void ChangeLevel(ChangeLevelEventArgs args)
    {
        maxHealth = args.Health;

        _blockSprite.sprite   = args.Sprite;
        _blockTitleText.text  = args.Title;
        _blockHealthText.text = $"Heath: {maxHealth}/{maxHealth}";

        _previousButton.interactable = true;
        _previousButtonSprite.color  = Color.white;
        _previousButtonText.color    = Color.white;

        _nextButton.interactable = true;
        _nextButtonSprite.color  = Color.white;
        _nextButtonText.color    = Color.white;


        if (args.IsFirstLevel)
        {
            _previousButton.interactable = false;
            _previousButtonSprite.color  = Color.gray;
            _previousButtonText.color    = Color.black;
            return;
        }

        if (args.IsLastLevel)
        {
            _nextButton.interactable = false;
            _nextButtonSprite.color  = Color.gray;
            _nextButtonText.color    = Color.black;
        }
    }
Exemple #5
0
    // Update is called once per frame
    void Update()
    {
        if (totalClips > 0)
        {
            if (!this.mainAudioSource.isPlaying)
            {
                ++this.currentClipIndex;
                if (this.currentClipIndex < this.totalClips)
                {
                    this.mainAudioSource.clip = this.clips[this.currentClipIndex];
                    this.mainAudioSource.Play();
                }
                else
                {
                    this.currentClipIndex     = this.firstClipIndex;
                    this.mainAudioSource.clip = this.clips[this.currentClipIndex];
                    this.mainAudioSource.Play();
                }
            }
        }

#if UNITY_EDITOR //debug level switching
        if (Input.GetKeyUp(KeyCode.E))
        {
            object sender          = new object();
            ChangeLevelEventArgs e = new ChangeLevelEventArgs(this.currentGame.Level, this.currentGame.Level, ChangeLevelReasons.NextLevelKeyPressed);
            EventSystem.FireChangeLevel(sender, e);
        }
#endif
    }
Exemple #6
0
 public static void FireChangeLevel(object sender, ChangeLevelEventArgs e)
 {
     if (EventSystem.OnEndLevel != null)
     {
         EventSystem.OnEndLevel(sender, e);
         InterfaceUpdateEventArgs ev = new InterfaceUpdateEventArgs(InterfaceUpdateReasons.LevelChanged, "");
         EventSystem.FireInterfaceUpdate(sender, ev);
     }
 }
Exemple #7
0
 // Update is called once per frame
 void Update()
 {
     if (this.mhReference.GetCurrentGame().GetCurrentField().TotalBricks == 0)
     {
         object sender          = new object();
         ChangeLevelEventArgs e = new ChangeLevelEventArgs(this.mhReference.GetCurrentGame().Level, this.mhReference.GetCurrentGame().Level + 1, ChangeLevelReasons.AllBricksDestroyed);
         EventSystem.FireChangeLevel(sender, e);
     }
 }
Exemple #8
0
 private void PublishChangeLevelEvent(Config.Level level)
 {
     EventSystem.GetEvent <ChangeLevelEvent>().Publish(ChangeLevelEventArgs.Create(
                                                           level.Sprite,
                                                           level.Name,
                                                           level.Health,
                                                           gameSettings.CurrentLevelIndex <= 0,
                                                           gameSettings.CurrentLevelIndex >= gameSettings.Levels.Count - 1));
 }
Exemple #9
0
 // Update is called once per frame
 void Update()
 {
     if (this.mhReference.GetCurrentGame().GetCurrentField().TotalBricks == 0)
     {
         object sender = new object();
         ChangeLevelEventArgs e = new ChangeLevelEventArgs(this.mhReference.GetCurrentGame().Level, this.mhReference.GetCurrentGame().Level + 1, ChangeLevelReasons.AllBricksDestroyed);
         EventSystem.FireChangeLevel(sender, e);
     }
 }
Exemple #10
0
 protected void ChangeLevel(object sender, ChangeLevelEventArgs e)
 {
     this.NextLevel();
     if (e.ChangeReason != ChangeLevelReasons.AllBricksDestroyed)
     {
         this.CurrentField.DestroyAllBricks();
     }
     this.CurrentField = new Field(this.level);
 }
Exemple #11
0
 public static void FireChangeLevel(object sender, ChangeLevelEventArgs e)
 {
     if (EventSystem.OnEndLevel != null)
     {
         EventSystem.OnEndLevel(sender, e);
         InterfaceUpdateEventArgs ev = new InterfaceUpdateEventArgs(InterfaceUpdateReasons.LevelChanged, "");
         EventSystem.FireInterfaceUpdate(sender, ev);
     }
 }
Exemple #12
0
    public void NextLevel(object sender, ChangeLevelEventArgs ea)
    {
        if ((this.currentLevel + 1) >= this.totalLevels)
        {
            return;
        }

        try
        {
            this.AddToHighScore(this.scorePerLevel[this.currentLevel]);
        }
        catch (KeyNotFoundException e)
        {
#if UNITY_EDITOR
            Debug.LogError("No such index.");
            Debug.LogError(e.Message);
            return;
#else
            GameObject.Find("MainHelper").GetComponent <MainHelper>().GetCurrentGame().PauseGame();
            InterfaceUpdateEventArgs ev = new InterfaceUpdateEventArgs(InterfaceUpdateReasons.ExceptionThrown, "No such index.", e);
            EventSystem.FireInterfaceUpdate(this, ev);
#endif
        }
        finally
        {
            this.CurrentLevel += 1;
        }

        try
        {
            if (!this.scorePerLevel.Exists(x => x == this.CurrentLevel))
            {
                this.scorePerLevel.Add(0);
            }
        }
        catch (KeyNotFoundException e)
        {
#if UNITY_EDITOR
            Debug.LogError("No such index.");
            Debug.LogError(e.Message);
            return;
#else
            GameObject.Find("MainHelper").GetComponent <MainHelper>().GetCurrentGame().PauseGame();
            InterfaceUpdateEventArgs ev = new InterfaceUpdateEventArgs(InterfaceUpdateReasons.ExceptionThrown, "No such index.", e);
            EventSystem.FireInterfaceUpdate(this, ev);
#endif
        }
    }
 protected void SelfDestruct(object sender, ChangeLevelEventArgs e)
 {
     if(this.gameObject != null)
         Destroy(this.gameObject);
 }
Exemple #14
0
 protected void BallToInitialPosition(object sender, ChangeLevelEventArgs e)
 {
     this.BallRigRef.velocity = Vector3.zero;
     this.BallRigRef.angularVelocity = Vector3.zero;
     this.Launched = false;
     this.BallGameObject.transform.position = this.initialTransform.position;
 }
Exemple #15
0
    public void NextLevel(object sender, ChangeLevelEventArgs ea)
    {
        if ((this.currentLevel + 1) >= this.totalLevels) return;

        try
        {
            this.AddToHighScore(this.scorePerLevel[this.currentLevel]);
        }
        catch (KeyNotFoundException e)
        {
        #if UNITY_EDITOR
            Debug.LogError("No such index.");
            Debug.LogError(e.Message);
            return;
        #else
            GameObject.Find("MainHelper").GetComponent<MainHelper>().GetCurrentGame().PauseGame();
            InterfaceUpdateEventArgs ev = new InterfaceUpdateEventArgs(InterfaceUpdateReasons.ExceptionThrown, "No such index.", e);
            EventSystem.FireInterfaceUpdate(this, ev);
        #endif
        }
        finally
        {
            this.CurrentLevel += 1;
        }

        try
        {
            if (!this.scorePerLevel.Exists(x => x == this.CurrentLevel))
                this.scorePerLevel.Add(0);
        }
        catch (KeyNotFoundException e)
        {
        #if UNITY_EDITOR
            Debug.LogError("No such index.");
            Debug.LogError(e.Message);
            return;
        #else
            GameObject.Find("MainHelper").GetComponent<MainHelper>().GetCurrentGame().PauseGame();
            InterfaceUpdateEventArgs ev = new InterfaceUpdateEventArgs(InterfaceUpdateReasons.ExceptionThrown, "No such index.", e);
            EventSystem.FireInterfaceUpdate(this, ev);
        #endif
        }
    }
Exemple #16
0
 private void PlayChangeLevelMusic(ChangeLevelEventArgs stuff)
 {
     PlayClick(-1);
 }
Exemple #17
0
    // Update is called once per frame
    void Update()
    {
        if (totalClips > 0)
        {
            if (!this.mainAudioSource.isPlaying)
            {
                ++this.currentClipIndex;
                if (this.currentClipIndex < this.totalClips)
                {
                    this.mainAudioSource.clip = this.clips[this.currentClipIndex];
                    this.mainAudioSource.Play();
                }
                else
                {
                    this.currentClipIndex = this.firstClipIndex;
                    this.mainAudioSource.clip = this.clips[this.currentClipIndex];
                    this.mainAudioSource.Play();
                }
            }
        }

        #if UNITY_EDITOR //debug level switching
        if (Input.GetKeyUp(KeyCode.E))
        {
            object sender = new object();
            ChangeLevelEventArgs e = new ChangeLevelEventArgs(this.currentGame.Level, this.currentGame.Level, ChangeLevelReasons.NextLevelKeyPressed);
            EventSystem.FireChangeLevel(sender, e);
        }
        #endif
    }