Exemplo n.º 1
0
 private void Start()
 {
     hasWon = false;
     if (quitButton != null)
     {
         quitButton.onClick.RemoveAllListeners();
         quitButton.onClick.AddListener(delegate() {
             Loader.Load(SceneName.Dashboard);
         });
     }
     else
     {
         Debug.LogError("Quit Button is null in " + transform.name);
     }
     if (replayButton != null)
     {
         replayButton.onClick.RemoveAllListeners();
         replayButton.onClick.AddListener(delegate() {
             GameEventSystem.RaiseGameEvent(GAME_EVENT.GAME_UNPAUSED);                 //because game is paused when player is died
             GameEventSystem.RaiseGameEvent(GAME_EVENT.LEVEL_START);
             gameObject.SetActive(false);
         });
     }
     else
     {
         Debug.LogError("Retry Button is null in " + transform.name);
     }
 }
Exemplo n.º 2
0
    private void OnLevelEnd(bool has_won)
    {
        GameEventSystem.RaiseGameEvent(GAME_EVENT.GAME_PAUSED);
        int money_earned = 0;

        if (has_won)
        {
            Debug.Log("WON !");
            if (localLevelData != null)
            {
                money_earned = ScoreManager.GetTotalMoney(localLevelData.completed);
                LevelHelper.UpdateLevel(localLevelData.id, true, money_earned);
                LevelHelper.SaveLevelData();
                InventoryHelper.UpdateMoney(money_earned);
                InventoryHelper.SavePlayerData();
                PlayerPrefs.SetInt("last_level_id", localLevelData.id);
            }
            else
            {
                Debug.LogError("Cannot update level, levelData is null");
            }
        }
        else
        {
            playerGO.GetComponent <PlayerController>().OnPlayerDead();
            Debug.Log("LOST");
        }

        if (LevelUIManager.instance != null)
        {
            StartCoroutine(LevelUIManager.instance.ShowGameOverScreen(has_won, money_earned));
        }
    }
Exemplo n.º 3
0
    private IEnumerator ResetPlayer()
    {
        GameEventSystem.RaiseGameEvent(GAME_EVENT.GAME_PAUSED);
        playerGO.SetActive(false);
        playerGO.transform.position = partsOfLevel[currentPart].PlayerStartPosition.position;
        yield return(new WaitForSeconds(0.5f));

        playerGO.SetActive(true);
        GameEventSystem.RaiseGameEvent(GAME_EVENT.GAME_UNPAUSED);
    }
Exemplo n.º 4
0
    private IEnumerator SwitchPart()
    {
        GameEventSystem.RaiseGameEvent(GAME_EVENT.GAME_PAUSED);
        playerGO.SetActive(false);
        yield return(new WaitForSeconds(0.5f));

        Room.transform.DOMoveX(partsOfLevel[currentPart].RoomPosition.position.x, 1.5f).OnComplete(delegate() {
            playerGO.transform.position = partsOfLevel[currentPart].PlayerStartPosition.position;
            playerGO.SetActive(true);
            GameEventSystem.RaiseGameEvent(GAME_EVENT.GAME_UNPAUSED);
        });
    }
Exemplo n.º 5
0
 public void Start()
 {
     backButton.onClick.RemoveAllListeners();
     backButton.onClick.AddListener(delegate() {
         if (moneyUsed)
         {
             InventoryHelper.SavePlayerData();
         }
         GameEventSystem.RaiseGameEvent(GAME_EVENT.REFRESH);
         gameObject.SetActive(false);
     });
 }
Exemplo n.º 6
0
 public void OnPlayerHit(out LevelObjectType type)
 {
     type = TypeOfObstacle;
     if (gameObject.activeSelf)
     {
         if (obstacleBlock != null && TypeOfObstacle == LevelObjectType.GOOD_BLOCK)
         {
             EffectsController.instance.CameraShake();
             DoDestroyEffect();
             obstacleBlock.DestroyAllBad();
         }
         GameEventSystem.RaiseGameEvent(GAME_EVENT.OBSTACLE_HIT, gameObject);
     }
 }
Exemplo n.º 7
0
    private void Update()
    {
        if (Input.GetKeyDown(KeyCode.PageUp))
        {
            GameEventSystem.RaiseGameEvent(GAME_EVENT.GAME_UNPAUSED);             //because game is paused when player is died
            GameEventSystem.RaiseGameEvent(GAME_EVENT.LEVEL_START);
        }

        if (Input.GetKeyDown(KeyCode.PageDown))
        {
            //GameEventSystem.RaiseGameEvent(GAME_EVENT.USE_SKILL, 4);
            GameEventSystem.RaiseGameEvent(GAME_EVENT.UPDATE_LIFE, 1);
        }
    }
Exemplo n.º 8
0
    /// <summary>
    /// Called when player hits an obstacle. Adds score, changes level parts and ends the game if no more parts remain
    /// </summary>
    /// <param name="data"></param>
    private void OnObstacleHit(System.Object hitObject)
    {
        Obstacle data = null;

        if (hitObject != null)
        {
            GameObject GO = hitObject as GameObject;
            data = GO.GetComponent <Obstacle>();
        }
        if (data != null)
        {
            if (data.TypeOfObstacle == LevelObjectType.GOOD_BLOCK)
            {
                ScoreManager.AddScore(data.TypeOfObstacle, data.obstacleBlock.difficulty, data.obstacleBlock._id);
                GOOD_BLOCK_COUNTER--;
                if (GOOD_BLOCK_COUNTER <= 0)
                {
                    levelController.DeactiveCurrentPart();
                    bool gameEnd = levelController.TrySwitchPart(levelController.GetNextPartIndex());
                    if (!gameEnd)
                    {
                        GameEventSystem.RaiseGameEvent(GAME_EVENT.LEVEL_END, true);
                    }
                }
            }
            else if (data.TypeOfObstacle == LevelObjectType.BAD_BLOCK)
            {
                int current = ScoreManager.lives - 1;
                GameEventSystem.RaiseGameEvent(GAME_EVENT.UPDATE_LIFE, -1);
                if (current <= 0)
                {
                    GameEventSystem.RaiseGameEvent(GAME_EVENT.LEVEL_END, false);
                }
                else
                {
                    EffectsController.instance?.PlayPlayerHit();
                    levelController.ResetPlayerPosition();
                }
            }
        }
    }
Exemplo n.º 9
0
 public void RenderSkillBlock(SkillData data)
 {
     currentSkill = data;
     gameObject.SetActive(true);
     currentCount = InventoryHelper.GetCurrentSkillCount(data.Id);
     if (currentCount > 0)
     {
         icon.color      = Helper.HexToColor("FFFFFFFF");
         icon.sprite     = data.Icon;
         totalCount.text = currentCount.ToString();
         button.onClick.RemoveAllListeners();
         button.onClick.AddListener(delegate() {
             if (currentCount > 0)
             {
                 GameEventSystem.RaiseGameEvent(GAME_EVENT.USE_SKILL, data.Id);
             }
         });
         DoAnimation();
     }
     else
     {
         gameObject.SetActive(false);
     }
 }
Exemplo n.º 10
0
 public void ResetLevel()
 {
     ScoreManager.InitScoreManager();
     GameEventSystem.RaiseGameEvent(GAME_EVENT.UPDATE_LIFE, levelController.localLevelData.maxLives);
 }
Exemplo n.º 11
0
 private void StartLevel()
 {
     GameEventSystem.RaiseGameEvent(GAME_EVENT.LEVEL_START);
 }