// Use this for initialization void Start() { currentLevel = LevelData.levelId; levelComplete = LevelData.levelComplete; if (levelComplete) { GameObject.Find("Map").GetComponent <mapScript>().hide(); status = levelStatus.inLevel; for (int i = 0; i < 5; i++) { levels[i].completed = LevelData.levelCompletion[i]; } } else { status = levelStatus.waiting; } discussion = GameObject.Find("DiscussionSystem").GetComponent <DiscussionSystem>(); GameObject.Find("LoadScreen").transform.GetChild(0).gameObject.SetActive(false); }
// Update is called once per frame void Update() { switch (status) { case levelStatus.inOpenning: if (discussion.getStatus() == discussionStatus.complete) { GameObject.Find("LoadScreen").transform.GetChild(0).gameObject.SetActive(true); LevelData.LevelName = levels[currentLevel].lvname; LevelData.levelId = currentLevel; TextAsset mapFile = Resources.Load(LevelData.getLevelPath()) as TextAsset; LevelData.levelCompletion = levelCompletion(); LevelData.levelId = currentLevel; if (mapFile != null) { LevelData.newMap = false; switch (currentLevel) { case 0: LevelData.party[0] = 0; LevelData.party[2] = 1; break; case 2: LevelData.party[3] = 1; break; case 3: LevelData.party[4] = 1; break; } SceneManager.LoadScene("_scene"); } } break; case levelStatus.inLevel: discussion.show(levels[currentLevel].closingDiscussion); if (currentLevel == 3) { LevelData.party[5] = 1; } levels[currentLevel].completed = true; status = levelStatus.inClosing; break; case levelStatus.inClosing: LevelData.levelComplete = false; if (discussion.getStatus() == discussionStatus.complete) { status = levelStatus.waiting; GameObject.Find("Map").GetComponent <mapScript>().updateProgression(calculateProgression()); } break; } }
public void playLevel(int i) { discussion.show(levels[i].openingDiscussion); status = levelStatus.inOpenning; currentLevel = i; }