Example #1
0
    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();
    }
Example #2
0
    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();
    }
Example #3
0
    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);
        }
    }
Example #4
0
        public void LoadLevel(string level, params object[] args)
        {
            if (string.IsNullOrEmpty(level))
            {
                return;
            }

            levelStruct           = new LevelStruct();
            levelStruct.nextLevel = level;
            levelStruct.nextArgs  = args;
        }
Example #5
0
 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");
 }
Example #6
0
        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;
            }
        }
Example #7
0
    /// <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);
        }
    }
Example #8
0
    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;
                }
            }
        }
    }