// 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); }); } }); }
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); } }
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; }
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); } }
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; } }