public void LoadNectLevel() { UIMgr.instance.DestoryAllUi(); if (curLevel == LEVEL_NAME.LN_LEVEL10) { curLevel = LEVEL_NAME.LN_START; CommendMgr.instance.emotionlist.Clear(); curLevel = curLevel + 1; curStruct = LevelConfig.levelStructs[(int)curLevel]; UIMgr.instance.GetUI(PrefabPathConfig.MainGameTip); RestartCurLevel(); SceneManager.LoadScene(1); CoreGameMgr.instance.hadDead = false; FindObjectOfType <AnimScript>().sleep(); FindObjectOfType <AnimScript>().changeState(); return; } LEVEL_NAME level = curLevel + 1; curLevel = level; curStruct = LevelConfig.levelStructs[(int)curLevel]; if (curLevel != LEVEL_NAME.LN_START) { UIMgr.instance.GetUI(PrefabPathConfig.MainGameTip); } else { UIMgr.instance.GetUI(PrefabPathConfig.Opening); } //StartCoroutine(_restart()); RestartCurLevel(); AnimPlay.instance.PlayInScene(); }
public void ReadLevels() { StreamReader inputStream = new StreamReader("Assets/Scenes/levels.txt"); while (!inputStream.EndOfStream) { LevelStruct levelRead = new LevelStruct(); string inputLine = inputStream.ReadLine(); while ((inputLine == "" || inputLine == "\n") && !inputStream.EndOfStream) { inputLine = inputStream.ReadLine(); } levelRead.levelNumber = int.Parse(inputLine); levelRead.skewerList = new List <string>(); inputLine = inputStream.ReadLine(); while ((inputLine[0] == 'o' || inputLine[0] == 'x') && !inputStream.EndOfStream) { levelRead.skewerList.Add(inputLine); inputLine = inputStream.ReadLine(); } levelRead.description = inputLine; levels.Insert(levelRead.levelNumber - 1, levelRead); createLevelGameObject(levelRead); } inputStream.Close(); }
void ParseXML() { TextAsset aset = (TextAsset)Resources.Load("Levels/Levels"); XmlDocument xml = new XmlDocument(); xml.LoadXml(aset.ToString()); XmlNodeList appNodes = xml.SelectNodes("/xml/level"); int number = appNodes.Count; foreach (XmlNode node in appNodes) { LevelStruct SingleLevel = new LevelStruct { levelNumber = int.Parse(node.Attributes.GetNamedItem("number").Value) }; SingleLevel.levelGoal = int.Parse(node.SelectSingleNode("goal").InnerText); SingleLevel.levelUnlockedItem = int.Parse(node.SelectSingleNode("unlockedItem").InnerText); SingleLevel.levelUnlockedTitleWorld1 = node.SelectSingleNode("unlockedTitleWorld1").InnerText; SingleLevel.levelUnlockedMessageWorld1 = node.SelectSingleNode("unlockedMessageWorld1").InnerText; SingleLevel.levelUnlockedTitleWorld2 = node.SelectSingleNode("unlockedTitleWorld2").InnerText; SingleLevel.levelUnlockedMessageWorld2 = node.SelectSingleNode("unlockedMessageWorld2").InnerText; SingleLevel.levelUnlockedTitleWorld3 = node.SelectSingleNode("unlockedTitleWorld3").InnerText; SingleLevel.levelUnlockedMessageWorld3 = node.SelectSingleNode("unlockedMessageWorld3").InnerText; ListOfLevels.Add(SingleLevel); } }
public void LoadLevel(string level, params object[] args) { if (string.IsNullOrEmpty(level)) { return; } levelStruct = new LevelStruct(); levelStruct.nextLevel = level; levelStruct.nextArgs = args; }
void LevelMaker(int levelIndex) { player1.transform.position = spawnPos; //Debug.Log("player moved"); workingLevel = levelArr[levelIndex - 1]; //Debug.Log("workingLevel updated"); monsterArr = new GameObject[100,100]; //Debug.Log("monsterArr updated"); //monsterArr = new GameObject[workingLevel.totalMines]; monsterSpawner.SpawnMonsters(workingLevel.monster_stump_1, workingLevel.monster_vasil_1, workingLevel.monster_saucer_1, workingLevel.monster_hulk_1, workingLevel.mine_box_1, workingLevel.mine_spikeball_1); //Debug.Log("monsters spawned"); wave++; Debug.Log("Level " + (currentLevel) + " created"); }
public void Update(float dt) { if (levelStruct != null) { if (mainLevel != null) { mainLevel.OnEndPlay(); } Assembly assembly = Assembly.GetExecutingAssembly(); object obj = assembly.CreateInstance(string.Format("GamePlay.Level.{0}", levelStruct.nextLevel)); mainLevel = obj as ILevel; if (mainLevel != null) { mainLevel.OnAwake(levelStruct.nextArgs); mainLevel.OnBeginPlay(); } levelStruct = null; } }
/// <summary> /// 获取当前LevelInfo /// </summary> /// <returns></returns> LevelInfo FindCurLevel() { int saveId = PlayerData.Instance.CurPlayerInfo.SaveId; LevelStruct tempLevel = null; for (int i = 0; i < LevelStructs.Count; i++) { if (LevelStructs[i].SaveId == saveId) { tempLevel = LevelStructs[i]; for (int j = 0; j < LevelStructs[i].LevelInfos.Count; j++) { if (LevelStructs[i].LevelInfos[j].LevelId == GameManager.CurLevelId) { return(LevelStructs[i].LevelInfos[j]); } } } } if (tempLevel == null) { LevelStruct level = new LevelStruct(); level.SaveId = saveId; level.LevelInfos = new List <LevelInfo>(); LevelInfo info = new LevelInfo(); info.LevelId = GameManager.CurLevelId; info.GetItemList = new List <int>(); level.LevelInfos.Add(info); LevelStructs.Add(level); return(info); } else { LevelInfo info = new LevelInfo(); info.LevelId = GameManager.CurLevelId; info.GetItemList = new List <int>(); tempLevel.LevelInfos.Add(info); return(info); } }
public void createLevelGameObject(LevelStruct level) { GameObject obj = new GameObject(); obj.name = level.levelNumber.ToString(); Vector3 pos = new Vector3(-7.0f, 5.0f, .0f); Vector2 step = new Vector2(1.1f, 1.3f); for (int i = 0; i < level.skewerList.Count; ++i) { GameObject metaStick = new GameObject(); metaStick.transform.SetParent(obj.transform); metaStick.name = "metaStick"; GameObject stick = new GameObject(); stick.AddComponent <SpriteRenderer>(); stick.name = "stick"; stick.transform.SetParent(metaStick.transform); stick.transform.localPosition = pos + new Vector3(step.x * ((level.skewerList[i].Length - 4.0f) / 2.0f), .0f, .0f); stick.transform.localScale = new Vector3(level.skewerList[i].Length, .5f, 1.0f); stick.GetComponent <SpriteRenderer>().sprite = pikPrefab; stick.GetComponent <SpriteRenderer>().sortingOrder = 4; GameObject eatable = new GameObject(); eatable.AddComponent <SpriteRenderer>(); eatable.AddComponent <NodeType>(); eatable.GetComponent <SpriteRenderer>().sortingOrder = 5; eatable.name = "isEatable"; eatable.transform.SetParent(metaStick.transform); eatable.transform.localPosition = pos - new Vector3(step.x, .0f, .0f); if (level.skewerList[i][0] == 'x') { eatable.GetComponent <SpriteRenderer>().sprite = alienPrefab; eatable.GetComponent <NodeType>().type = NodeType.tType.Alien; } else { eatable.GetComponent <SpriteRenderer>().sprite = humanPrefab; eatable.GetComponent <NodeType>().type = NodeType.tType.Stomach; } for (int j = 1; j < level.skewerList[i].Length; ++j) { GameObject skewElem = new GameObject(); skewElem.AddComponent <SpriteRenderer>(); skewElem.AddComponent <NodeType>(); skewElem.GetComponent <SpriteRenderer>().sortingOrder = 5; skewElem.name = j.ToString(); if (level.skewerList[i][j] == 'r') { skewElem.GetComponent <SpriteRenderer>().sprite = redPrefab; skewElem.GetComponent <NodeType>().type = NodeType.tType.Red; } else if (level.skewerList[i][j] == 'g') { skewElem.GetComponent <SpriteRenderer>().sprite = greenPrefab; skewElem.GetComponent <NodeType>().type = NodeType.tType.Green; } else { skewElem.GetComponent <SpriteRenderer>().sprite = bluePrefab; skewElem.GetComponent <NodeType>().type = NodeType.tType.Blue; } skewElem.transform.SetParent(metaStick.transform); skewElem.transform.localPosition = pos; pos.x += step.x; } pos.y -= step.y; pos.x = -7.0f; } levelsGameObjects.Insert(level.levelNumber - 1, obj); if (level.levelNumber != 1) { obj.SetActive(false); } else { Text[] texts = GameObject.FindObjectsOfType <Text>(); for (int i = 0; i < texts.Length; ++i) { if (texts[i].name == "Rules") { texts[i].text = level.description; return; } } } }