Example #1
0
 // Use this for initialization
 void Start()
 {
     redoButton.onClick.AddListener(() => {
         AudioManager.Instance.Play("ButtonClick");
         gameObject.SetActive(false);
         Game.Instance.StartLevel(Game.Instance.playData.currentStage, Game.Instance.playData.currentLevel);
     });
     nextButton.onClick.AddListener(() => {
         AudioManager.Instance.Play("ButtonClick");
         gameObject.SetActive(false);
         Config.StageInfo stageInfo = Game.Instance.config.FindStageInfo(Game.Instance.playData.currentStage);
         if (Game.Instance.playData.currentLevel < stageInfo.totalLevel)
         {
             Game.Instance.StartLevel(Game.Instance.playData.currentStage, Game.Instance.playData.currentLevel + 1);
         }
         else
         {
             Map.Instance.gameObject.SetActive(false);
             Game.Instance.playData.currentLevel = 0;
             Game.Instance.levelPanel.gameObject.SetActive(true);
             Game.Instance.rootPanel.ScrollScreen(new Vector3(1.0f, 0.0f, 0.0f), () => {
                 Game.Instance.gamePanel.gameObject.SetActive(false);
             });
         }
     });
 }
Example #2
0
 void OnEnable()
 {
     if (0 >= Game.Instance.playData.currentStage || Game.Instance.playData.currentStage > Game.Instance.config.stageInfos.Count)
     {
         return;
     }
     stageInfo = Game.Instance.config.stageInfos [Game.Instance.playData.currentStage - 1];
     for (int i = 0; i < stageInfo.totalLevel; i++)
     {
         UILevelInfo uiLevelInfo = uiLevelInfos [i];
         uiLevelInfo.Init(stageInfo.id, i + 1);
     }
 }
Example #3
0
 public void Init(Config.StageInfo info)
 {
     this.info  = info;
     panelImage = GetComponent <Image>();
     button     = GetComponent <Button>();
     PlayData.StageData stageData = Game.Instance.playData.stageDatas[info.id - 1];
     clearLevel       = stageData.clearLevel;
     description.text = "clear previous stage";
     Config.WorldInfo worldInfo = Game.Instance.config.worldInfos [info.world - 1];
     if (info.id == worldInfo.stageInfos [0].id)
     {
         description.text = "collect " + worldInfo.openStar + " stars";
     }
     open = stageData.open;
 }
Example #4
0
    public IEnumerator Open()
    {
        transform.localScale      = Vector3.zero;
        star.transform.localScale = Vector3.zero;

        gameObject.SetActive(true);

        Config.StageInfo stageInfo = Game.Instance.config.FindStageInfo(Game.Instance.playData.currentStage);
        if (Game.Instance.playData.currentLevel < stageInfo.totalLevel)
        {
            title.text = "Level Complete";
        }
        else
        {
            title.text = "Stage Complete";
        }

        string[] message =
        {
            "great!",
            "awesome!",
            "amazing!",
            "fantastic!",
            "brilliant!",
            "stunning!",
            "wonderful!",
            "mavelous!"
        };
        messageText.text = message [Random.Range(0, message.Length)];

        iTween.ScaleTo(gameObject, Vector3.one, 0.5f);
        iTween.ScaleTo(star, iTween.Hash("scale", Vector3.one, "delay", 0.5f, "time", 0.2f));
        while (true == gameObject.activeSelf)
        {
            yield return(null);
        }
    }
Example #5
0
    public IEnumerator _CheckLevelComplete()
    {
        if (true == Map.Instance.CheckComplete())
        {
            AudioManager.Instance.Play("LevelClear");
            int rewardCount = 0;
            playTime = Time.realtimeSinceStartup - playTime;
            PlayData.StageData stageData = playData.GetCurrentStageData();

            if (playData.currentLevel > stageData.clearLevel)
            {
                playData.star       += 1;
                stageData.clearLevel = playData.currentLevel;

                stagePanel.totalStarCount = playData.star;
                stagePanel.GetStageInfo(stageData.id).clearLevel = stageData.clearLevel;
                levelPanel.GetLevelInfo(stageData.clearLevel).Complete();

                Quest.Update(Achievement.Type.StarCollectCount, "");

                Config.StageInfo stageInfo = config.FindStageInfo(stageData.id);
                if (playData.currentLevel < stageInfo.totalLevel)
                {
                    levelPanel.GetLevelInfo(stageData.clearLevel + 1).Unlock();
                }
                else if (playData.currentLevel == stageInfo.totalLevel)
                {
                    rewardCount = 1;
                    Quest.Update(Achievement.Type.StageCompleteCount, "");
                    if (stageInfo.id < config.stageInfos.Count)
                    {
                        playData.GetStageData(stageData.id + 1).open   = true;
                        stagePanel.GetStageInfo(stageData.id + 1).open = true;
                    }
                }

                Analytics.CustomEvent("LevelComplete", new Dictionary <string, object> {
                    { "stage", playData.currentStage },
                    { "level", playData.currentStage + "-" + playData.currentLevel },
                    { "star", playData.star }
                });
            }

            GetNewOpenWorld();
            playData.Save();

            yield return(new WaitForSeconds(1.0f));

            yield return(StartCoroutine(gamePanel.levelComplete.Open()));

            if (0 < rewardCount)
            {
                AddHint(rewardCount);
            }

            if (true == playData.adsFree)
            {
                yield break;
            }

            if (advertisement.requestCount++ < advertisement.interval_count)
            {
                yield break;
            }

            if (Time.realtimeSinceStartup - advertisement.lastAdsShowTime < advertisement.interval_time)
            {
                yield break;
            }
            advertisement.Show(Advertisement.PlacementType.Interstitial);
            advertisement.requestCount    = 0;
            advertisement.lastAdsShowTime = Time.realtimeSinceStartup;
        }
    }