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