Exemple #1
0
    public void FillLevelMenu()
    {
        Debug.Log("JSONData" + Path.DirectorySeparatorChar + "Campaign" + Path.DirectorySeparatorChar + "Worlds/" + WorldData.worldSelected);
        FileLoader fl   = new FileLoader("JSONData" + Path.DirectorySeparatorChar + "Campaign" + Path.DirectorySeparatorChar + "Worlds", WorldData.worldSelected);
        string     json = fl.Read();
        Dictionary <string, System.Object> data = (Dictionary <string, System.Object>)Json.Deserialize(json);

        List <System.Object> levels = (List <System.Object>)data["levels"];

        foreach (System.Object levelobj in levels)
        {
            Dictionary <string, System.Object> ldata = (Dictionary <string, System.Object>)levelobj;

            string levelfile   = (string)ldata["filename"];
            string iconlabel   = (string)ldata["iconLabel"];
            string iconfile    = (string)ldata["icon"];
            string buttonlabel = (string)ldata["button"];

            //Debug.Log (iconlabel + " " + iconfile + " " + buttonlabel);

            GameObject optionobj = GameObject.Instantiate(Resources.Load("Prefabs/Menus/MenuOption")) as GameObject;
            GameObject.Destroy(optionobj.GetComponent <MenuOption>());
            LevelMenuOption option = optionobj.AddComponent <LevelMenuOption>() as LevelMenuOption;
            option.levelFilename = levelfile;
            option.levelIndex    = levels.IndexOf(levelobj);
            option.ConfigureOption(iconfile, iconlabel, buttonlabel);
            optionobj.transform.SetParent(md.transform, false);
            md.AddOption(option);
        }
        GameObject cancelobj = GameObject.Instantiate(Resources.Load("Prefabs/Menus/MenuOption")) as GameObject;

        GameObject.Destroy(cancelobj.GetComponent <MenuOption>());
        LoadSceneMenuOption cancel = cancelobj.AddComponent <LoadSceneMenuOption>() as LoadSceneMenuOption;

        cancel.sceneName = "WorldSelectCanvas";
        cancel.ConfigureOption("HPGuageGreen", "World Select", "Return to world select.");
        cancelobj.transform.SetParent(md.transform, false);
        md.AddOption(cancel);
    }
    public void FillWorldMenu()
    {
        FileLoader fl   = new FileLoader("JSONData" + Path.DirectorySeparatorChar + "Campaign", "WORLD_LIST");
        string     json = fl.Read();
        Dictionary <string, System.Object> data = (Dictionary <string, System.Object>)Json.Deserialize(json);

        List <System.Object> worlds = (List <System.Object>)data["worlds"];

        foreach (System.Object worldobj in worlds)
        {
            Dictionary <string, System.Object> wdata = (Dictionary <string, System.Object>)worldobj;

            string worldfile   = (string)wdata["filename"];
            string iconlabel   = (string)wdata["iconLabel"];
            string iconfile    = (string)wdata["icon"];
            string buttonlabel = (string)wdata["name"];

            //Debug.Log (iconlabel + " " + iconfile + " " + buttonlabel);

            GameObject optionobj = GameObject.Instantiate(Resources.Load("Prefabs/Menus/MenuOption")) as GameObject;
            GameObject.Destroy(optionobj.GetComponent <MenuOption>());
            WorldMenuOption option = optionobj.AddComponent <WorldMenuOption>() as WorldMenuOption;
            option.worldFilename = worldfile;
            option.ConfigureOption(iconfile, iconlabel, buttonlabel);
            optionobj.transform.SetParent(md.transform, false);
            md.AddOption(option);
        }
        GameObject cancelobj = GameObject.Instantiate(Resources.Load("Prefabs/Menus/MenuOption")) as GameObject;

        GameObject.Destroy(cancelobj.GetComponent <MenuOption>());
        LoadSceneMenuOption cancel = cancelobj.AddComponent <LoadSceneMenuOption>() as LoadSceneMenuOption;

        cancel.sceneName = "MainMenu";
        cancel.ConfigureOption("PieceSprites/Piece_AoE_R", "Back to Menu", "Return to the main menu.");
        cancelobj.transform.SetParent(md.transform, false);
        md.AddOption(cancel);
    }
    //rewrite this for the enemy menu
    public void FillEnemyMenu()
    {
        FileLoader fl   = new FileLoader("JSONData" + Path.DirectorySeparatorChar + "Bestiary", "ENEMY_LIST");
        string     json = fl.Read();
        Dictionary <string, System.Object> enemyData = (Dictionary <string, System.Object>)Json.Deserialize(json);

        List <System.Object> enemies    = (List <System.Object>)enemyData["enemies"];
        List <string>        enemyTypes = new List <string>();

        foreach (System.Object s in enemies)
        {
            enemyTypes.Add((string)s);
        }

        //for each enemy listing in ENEMY_LIST...
        foreach (string enFilename in enemyTypes)
        {
            GameObject optionobj = GameObject.Instantiate(Resources.Load("Prefabs/Menus/MenuOption")) as GameObject;
            MenuOption option    = optionobj.GetComponent <MenuOption>();
            GameObject.Destroy(optionobj.transform.Find("Image").gameObject);
            GameObject.Destroy(optionobj.transform.Find("Text").gameObject);
            #region TextMaking (creating text from script is apparently pretty complicated actually)
            GameObject newtextobj = new GameObject("EnemyName");
            newtextobj.transform.SetParent(optionobj.transform, false);
            Text newtext = newtextobj.AddComponent <Text>();
            newtext.font      = (Font)Resources.GetBuiltinResource(typeof(Font), "Arial.ttf");
            newtext.fontSize  = 20;
            newtext.fontStyle = FontStyle.Bold;
            newtext.color     = new Color(1f, .906f, .153f);
            newtext.alignment = TextAnchor.MiddleCenter;
            #endregion

            option.enemyFilename = enFilename;

            //set the display name of the enemy.  Make sure the player's encountered him!
            long enTimesSeen = 0;

            //here, we get the enemy's specific file so we can access its display name.
            FileLoader enemyfl   = new FileLoader("JSONData" + Path.DirectorySeparatorChar + "Bestiary", enFilename);
            string     enemyjson = enemyfl.Read();
            Dictionary <string, System.Object> enemyStats = (Dictionary <string, System.Object>)Json.Deserialize(enemyjson);

            //load up stats from the enemy log save file
            FileLoader logfl   = FileLoader.GetSaveDataLoader("Bestiary", "bestiary_logging");
            string     logjson = logfl.Read();
            Dictionary <string, System.Object> logDict = (Dictionary <string, System.Object>)Json.Deserialize(logjson);
            List <System.Object> logList = logDict["enemyLogs"] as List <System.Object>;
            foreach (System.Object enemy in logList)
            {
                Dictionary <string, System.Object> edata = enemy as Dictionary <string, System.Object>;
                string filename = edata["name"] as string;
                if (filename.Equals(enFilename))            //find the correct enemy corresponding to enFilename
                {
                    enTimesSeen = (long)edata["timesSeen"]; //now we've finally got the timesSeen value :P
                    break;
                }
            }
            option.enemyName = (string)enemyStats["name"];
            if (enTimesSeen > 0 || debugAllEnemiesAvailable) //if not, the default for this is "???"
            {
                newtext.text = (string)enemyStats["name"];
                if (enTimesSeen > 0)
                {
                    option.enemySeen = true;
                }
                else
                {
                    option.enemySeen = false;
                }
            }
            else
            {
                newtext.text     = "???";
                option.enemySeen = false;
            }

            optionobj.transform.SetParent(md.transform, false);
            md.AddOption(option);
        }
    }
Exemple #4
0
    public void Start()
    {
        GameObject playobj = GameObject.Instantiate(Resources.Load("Prefabs/Menus/MenuOption")) as GameObject;

        GameObject.Destroy(playobj.GetComponent <MenuOption>());
        LoadSceneMenuOption play = playobj.AddComponent <LoadSceneMenuOption>() as LoadSceneMenuOption;

        play.sceneName = "WorldSelectCanvas";
        play.ConfigureOption("Menu_Play", "", "Start the game!");
        playobj.transform.SetParent(md.transform, false);
        play.SizeImage(80f);
        md.AddOption(play);

        GameObject wavemakerobj = GameObject.Instantiate(Resources.Load("Prefabs/Menus/MenuOption")) as GameObject;

        GameObject.Destroy(wavemakerobj.GetComponent <MenuOption>());
        LoadSceneMenuOption wavemaker = wavemakerobj.AddComponent <LoadSceneMenuOption>() as LoadSceneMenuOption;

        wavemaker.sceneName = "WaveEditorAdmin";
        wavemaker.ConfigureOption("Menu_WaveMaker", "", "Build a custom wave!");
        wavemakerobj.transform.SetParent(md.transform, false);
        wavemaker.SizeImage(80f);
        md.AddOption(wavemaker);

        GameObject settingsobj = GameObject.Instantiate(Resources.Load("Prefabs/Menus/MenuOption")) as GameObject;

        GameObject.Destroy(settingsobj.GetComponent <MenuOption>());
        LoadSceneMenuOption settings = settingsobj.AddComponent <LoadSceneMenuOption>() as LoadSceneMenuOption;

        settings.sceneName = "SettingsMenu";
        settings.ConfigureOption("Menu_Settings", "", "Tweak the game options!");
        settingsobj.transform.SetParent(md.transform, false);
        settings.SizeImage(80f);
        md.AddOption(settings);

        GameObject risksobj = GameObject.Instantiate(Resources.Load("Prefabs/Menus/MenuOption")) as GameObject;

        GameObject.Destroy(risksobj.GetComponent <MenuOption>());
        LoadSceneMenuOption risks = risksobj.AddComponent <LoadSceneMenuOption>() as LoadSceneMenuOption;

        risks.sceneName = "RiskMenu";
        risks.ConfigureOption("Menu_Risks", "", "Turn up the heat!");
        risksobj.transform.SetParent(md.transform, false);
        risks.SizeImage(80f);
        md.AddOption(risks);

        GameObject towerobj = GameObject.Instantiate(Resources.Load("Prefabs/Menus/MenuOption")) as GameObject;

        GameObject.Destroy(towerobj.GetComponent <MenuOption>());
        LoadSceneMenuOption tower = towerobj.AddComponent <LoadSceneMenuOption>() as LoadSceneMenuOption;

        tower.sceneName = "TowerSelect";
        tower.ConfigureOption("Menu_Towers", "", "Arm your towers!");
        towerobj.transform.SetParent(md.transform, false);
        tower.SizeImage(80f);
        md.AddOption(tower);

        GameObject bestiaryobj = GameObject.Instantiate(Resources.Load("Prefabs/Menus/MenuOption")) as GameObject;

        GameObject.Destroy(bestiaryobj.GetComponent <MenuOption>());
        LoadSceneMenuOption bestiary = bestiaryobj.AddComponent <LoadSceneMenuOption>() as LoadSceneMenuOption;

        bestiary.sceneName = "EnemyIndex";
        bestiary.ConfigureOption("Menu_Library", "", "Know your enemy!");
        bestiaryobj.transform.SetParent(md.transform, false);
        bestiary.SizeImage(80f);
        md.AddOption(bestiary);

        md.RearrangeOptions();
        foreach (MenuOption mo in md.GetOptions())
        {
            mo.GetComponent <MenuScaleEffectCanvas>().RefreshRotOffset();
        }
    }