void Start() { playerCharNames = new List <string> (); enemyCharNames = new List <string> (); GameObject go = Instantiate(UIPrefabs.instance.windowPrefab); RectTransform titleScreenWindow = go.transform.GetChild(0) as RectTransform; titleScreenWindow.anchorMin = new Vector2(.25f, .25f); titleScreenWindow.anchorMax = new Vector2(.75f, .75f); titleScreenWindow.offsetMin = new Vector2(0f, 0f); titleScreenWindow.offsetMax = new Vector2(1f, 1f); titleMenu = titleScreenWindow.GetComponent <GenericDialog> (); titleMenu.SetTitle("Arena Tactics"); titleMenu.SetHeaderHeight(60); titleMenu.Title.fontSize = 28; titleMenu.Content.GetComponent <VerticalLayoutGroup> ().spacing = 10f; OptButton newChar = AddMenuButton("Create New Character"); newChar.OnOptLeftClicked += (button) => { SceneManager.LoadScene(GameManager.persistentInstance.StringSceneName(GameManager.SceneName.CHARACTER_CREATION)); }; OptButton skirmish = AddMenuButton("Skirmish"); skirmish.OnOptLeftClicked += (button) => { playerCharNames.Clear(); enemyCharNames.Clear(); titleScreenWindow.gameObject.SetActive(false); GameObject skirmishWindow = Instantiate(UIPrefabs.instance.dialogWindowPrefab); GenericDialog skirmDialog = UIPrefabs.instance.GetDialogWindow(skirmishWindow); skirmDialog.OnConfirmed += ConfirmAndStartSkirmish; skirmDialog.SetHeaderHeight(60); skirmDialog.Title.fontSize = 28; RectTransform swindow = skirmDialog.gameObject.transform as RectTransform; swindow.anchorMin = new Vector2(.10f, .10f); swindow.anchorMax = new Vector2(.90f, .90f); swindow.offsetMin = new Vector2(0f, 0f); swindow.offsetMax = new Vector2(1f, 1f); skirmDialog.SetTitle("New Skirmish"); skirmDialog.OnCanceled += (GenericDialog self) => { Destroy(skirmishWindow); titleScreenWindow.gameObject.SetActive(true); }; skirmDialog.DisableConfirm(); TextElement teMap = skirmDialog.AddTextContent("Select a map:"); teMap.textObject.fontSize = 20; teMap.textObject.alignment = TextAnchor.MiddleCenter; GameObject mapDropdown = Instantiate(UIPrefabs.instance.dropdownMenu); DropdownInterface mapDropdownInterface = mapDropdown.GetComponent <DropdownInterface>(); mapDropdownInterface.ClearOptions(); foreach (GameManager.MapNameToPrefab mnp in GameManager.persistentInstance.maps) { mapDropdownInterface.AddOption(mnp.name); } //makes the current prefab set to the top option after populating them. mapDropdownInterface.DropdownChanged(); //mapDropdownInterface.AddOption("hihf"); // Debug.LogError("seetting to null"); GameManager.persistentInstance.currentBattleMapPrefab = null; mapDropdownInterface.OnDropdownChanged += (DropdownInterface self) => { Debug.Log("Changed to " + self.StringValue); GameManager.persistentInstance.SetCurrentMapPrefabFromName(self.StringValue); //Debug.Log("new one: " + GameManager.persistentInstance.currentBattleMapPrefab.name); }; mapDropdown.transform.SetParent(skirmDialog.Content, false); GameManager.persistentInstance.SetCurrentMapPrefabFromName(mapDropdownInterface.StringValue); GameObject horizontal = Instantiate(UIPrefabs.instance.horizontalLayoutElementPrefab); horizontal.GetComponent <LayoutElement>().preferredHeight = 400; horizontal.transform.SetParent(skirmDialog.Content); horizontal.GetComponent <HorizontalLayoutGroup>().padding = new RectOffset(20, 20, 20, 0); horizontal.GetComponent <HorizontalLayoutGroup>().spacing = 20; GameObject playerWindow = Instantiate(UIPrefabs.instance.windowPrefab); GenericDialog playerDialog = UIPrefabs.instance.GetDialogWindow(playerWindow); playerDialog.SetHeaderHeight(0); playerDialog.Title.text = ""; playerDialog.transform.SetParent(horizontal.transform); GameObject enemyWindow = Instantiate(UIPrefabs.instance.windowPrefab); GenericDialog enemyDialog = UIPrefabs.instance.GetDialogWindow(enemyWindow); enemyDialog.SetHeaderHeight(0); enemyDialog.Title.text = ""; enemyDialog.transform.SetParent(horizontal.transform); AddTeamInterface("Player", playerCharNames, playerDialog, skirmDialog); AddTeamInterface("Enemy", enemyCharNames, enemyDialog, skirmDialog); }; if (GameManager.persistentInstance.ExportedCharacterNames().Count == 0) { skirmish.Disable(); skirmish.OnOptMousedOver += (button) => { UIManager.instance.Tooltip.Show(skirmish.transform as RectTransform); UIManager.instance.Tooltip.SetText("Before you can skirmish, you need to create at least one character."); }; skirmish.OnOptMousedOut += (button) => { UIManager.instance.Tooltip.Hide(); }; } }
public void AddTeamInterface(string name, List <string> runningCharNames, GenericDialog dialog, GenericDialog lastDialog) { TextElement tePlayerTeam = dialog.AddTextContent("Add to " + name + " team:"); tePlayerTeam.textObject.fontSize = 20; tePlayerTeam.textObject.alignment = TextAnchor.MiddleCenter; GameObject playerTeamDropdown = Instantiate(UIPrefabs.instance.dropdownMenu); DropdownInterface playerTeamDropdownInterface = playerTeamDropdown.GetComponent <DropdownInterface>(); playerTeamDropdownInterface.ClearOptions(); foreach (string nma in GameManager.persistentInstance.ExportedCharacterNames()) { playerTeamDropdownInterface.AddOption(nma); } playerTeamDropdownInterface.OnDropdownChanged += (DropdownInterface self) => { // Debug.Log("chak to " + self.StringValue); }; playerTeamDropdownInterface.transform.SetParent(dialog.Content, false); //.transform.SetParent(skirmDialog, false); //add a couple buttons GameObject horizontal = Instantiate(UIPrefabs.instance.horizontalLayoutElementPrefab); horizontal.GetComponent <LayoutElement>().preferredHeight = 30; horizontal.transform.SetParent(dialog.Content, false); TextElement tePlayerTeamDebug = dialog.AddTextContent(""); tePlayerTeamDebug.textObject.alignment = TextAnchor.MiddleCenter; GameObject addPlayerBtn = Instantiate(UIPrefabs.instance.optButtonPrefab); OptButton addPlayerBtnOpt = addPlayerBtn.GetComponent <OptButton>(); addPlayerBtnOpt.optText.text = "+"; addPlayerBtnOpt.OnOptLeftClicked += (plsBtn) => { runningCharNames.Add(playerTeamDropdownInterface.StringValue); //refrech tePlayerTeamDebug.textObject.text = name + " Roster: \n"; foreach (string teachChar in runningCharNames) { tePlayerTeamDebug.textObject.text += teachChar + "\n"; } UpdatedSkirmishSides(lastDialog); }; // LayoutElement addPlayerLayout = addPlayerBtn.AddComponent<LayoutElement>(); GameObject minusPlayerBtn = Instantiate(UIPrefabs.instance.optButtonPrefab); OptButton minusPlayerBtnOpt = minusPlayerBtn.GetComponent <OptButton>(); minusPlayerBtnOpt.OnOptLeftClicked += (plsBtn) => { // Debug.Log("Subbing 1!"); runningCharNames.Remove(playerTeamDropdownInterface.StringValue); //refrech tePlayerTeamDebug.textObject.text = name + " Roster: \n"; foreach (string teachChar in runningCharNames) { tePlayerTeamDebug.textObject.text += teachChar + "\n"; } UpdatedSkirmishSides(lastDialog); }; minusPlayerBtnOpt.optText.text = "-"; addPlayerBtn.transform.SetParent(horizontal.transform, false); minusPlayerBtnOpt.transform.SetParent(horizontal.transform, false); }