public void Delete() { questList = QuestLoader.GetUserUnpackedQuests(); foreach (GameObject go in GameObject.FindGameObjectsWithTag("dialog")) { Object.Destroy(go); } DialogBox db = new DialogBox(new Vector2(2, 1), new Vector2(UIScaler.GetWidthUnits() - 4, 3), "Select Quest To Delete"); db.textObj.GetComponent <UnityEngine.UI.Text>().fontSize = UIScaler.GetLargeFont(); int offset = 5; foreach (KeyValuePair <string, QuestLoader.Quest> q in questList) { string key = q.Key; TextButton tb = new TextButton(new Vector2(2, offset), new Vector2(UIScaler.GetWidthUnits() - 4, 1.2f), " " + q.Value.name, delegate { Delete(key); }, Color.red, offset); tb.button.GetComponent <UnityEngine.UI.Text>().fontSize = UIScaler.GetSmallFont(); tb.button.GetComponent <UnityEngine.UI.Text>().alignment = TextAnchor.MiddleLeft; tb.background.GetComponent <UnityEngine.UI.Image>().color = new Color(0, 0, 0.1f); offset += 2; } new TextButton(new Vector2(1, UIScaler.GetBottom(-3)), new Vector2(8, 2), "Back", delegate { CancelDelete(); }, Color.red); }
// List of quests to copy public void Copy() { // Can copy all quests, not just user questList = QuestLoader.GetQuests(); Game game = Game.Get(); foreach (GameObject go in GameObject.FindGameObjectsWithTag("dialog")) { Object.Destroy(go); } // Header DialogBox db = new DialogBox(new Vector2(2, 1), new Vector2(UIScaler.GetWidthUnits() - 4, 3), "Select " + game.gameType.QuestName() + " To Copy"); db.textObj.GetComponent <UnityEngine.UI.Text>().fontSize = UIScaler.GetLargeFont(); db.SetFont(Game.Get().gameType.GetHeaderFont()); // List of quests // FIXME: requires paging TextButton tb; int offset = 5; foreach (KeyValuePair <string, QuestLoader.Quest> q in questList) { string key = q.Key; tb = new TextButton(new Vector2(2, offset), new Vector2(UIScaler.GetWidthUnits() - 4, 1.2f), " " + q.Value.name, delegate { Copy(key); }, Color.white, offset); tb.button.GetComponent <UnityEngine.UI.Text>().fontSize = UIScaler.GetSmallFont(); tb.button.GetComponent <UnityEngine.UI.Text>().alignment = TextAnchor.MiddleLeft; tb.background.GetComponent <UnityEngine.UI.Image>().color = new Color(0, 0, 0.1f); offset += 2; } // Back to edit selection tb = new TextButton(new Vector2(1, UIScaler.GetBottom(-3)), new Vector2(8, 2), "Back", delegate { CancelCopy(); }, Color.red); tb.SetFont(Game.Get().gameType.GetHeaderFont()); }
public QuestEditSelection() { Game game = Game.Get(); // For now only edit unpacked quests questList = QuestLoader.GetUserUnpackedQuests(); //questList = QuestLoader.GetUserQuests(); // If a dialog window is open we force it closed (this shouldn't happen) foreach (GameObject go in GameObject.FindGameObjectsWithTag("dialog")) { Object.Destroy(go); } DialogBox db = new DialogBox(new Vector2(2, 1), new Vector2(UIScaler.GetWidthUnits() - 4, 3), "Select " + game.gameType.QuestName()); db.textObj.GetComponent <UnityEngine.UI.Text>().fontSize = UIScaler.GetLargeFont(); int offset = 5; foreach (KeyValuePair <string, QuestLoader.Quest> q in questList) { string key = q.Key; TextButton tb = new TextButton(new Vector2(2, offset), new Vector2(UIScaler.GetWidthUnits() - 4, 1.2f), " " + q.Value.name, delegate { Selection(key); }, Color.white, offset); tb.button.GetComponent <UnityEngine.UI.Text>().fontSize = UIScaler.GetSmallFont(); tb.button.GetComponent <UnityEngine.UI.Text>().alignment = TextAnchor.MiddleLeft; tb.background.GetComponent <UnityEngine.UI.Image>().color = new Color(0, 0, 0.1f); offset += 2; } new TextButton(new Vector2(1, UIScaler.GetBottom(-3)), new Vector2(8, 2), "Back", delegate { Cancel(); }, Color.red); new TextButton(new Vector2((UIScaler.GetRight() * 3 / 8) - 4, UIScaler.GetBottom(-3)), new Vector2(8, 2), "Delete", delegate { Delete(); }, Color.red); new TextButton(new Vector2((UIScaler.GetRight() * 5 / 8) - 4, UIScaler.GetBottom(-3)), new Vector2(8, 2), "Copy", delegate { Copy(); }); new TextButton(new Vector2(UIScaler.GetRight(-9), UIScaler.GetBottom(-3)), new Vector2(8, 2), "New", delegate { NewQuest(); }); }
override public void Update() { base.Update(); Game game = Game.Get(); TextButton tb = new TextButton(new Vector2(0, 0), new Vector2(4, 1), "Activation", delegate { QuestEditorData.TypeSelect(); }); tb.button.GetComponent <UnityEngine.UI.Text>().fontSize = UIScaler.GetSmallFont(); tb.button.GetComponent <UnityEngine.UI.Text>().alignment = TextAnchor.MiddleRight; tb.ApplyTag("editor"); tb = new TextButton(new Vector2(4, 0), new Vector2(15, 1), name.Substring("Activation".Length), delegate { QuestEditorData.ListActivation(); }); tb.button.GetComponent <UnityEngine.UI.Text>().fontSize = UIScaler.GetSmallFont(); tb.button.GetComponent <UnityEngine.UI.Text>().alignment = TextAnchor.MiddleLeft; tb.ApplyTag("editor"); tb = new TextButton(new Vector2(19, 0), new Vector2(1, 1), "E", delegate { Rename(); }); tb.button.GetComponent <UnityEngine.UI.Text>().fontSize = UIScaler.GetSmallFont(); tb.ApplyTag("editor"); if (game.gameType is MoMGameType) { MoMActivation(); } else { Activation(); } }
public QuestSelection(Dictionary <string, QuestLoader.Quest> ql) { questList = ql; // If a dialog window is open we force it closed (this shouldn't happen) foreach (GameObject go in GameObject.FindGameObjectsWithTag("dialog")) { Object.Destroy(go); } DialogBox db = new DialogBox(new Vector2(2, 1), new Vector2(UIScaler.GetWidthUnits() - 4, 3), "Select Quest"); db.textObj.GetComponent <UnityEngine.UI.Text>().fontSize = UIScaler.GetLargeFont(); int offset = 5; foreach (KeyValuePair <string, QuestLoader.Quest> q in questList) { string key = q.Key; TextButton tb = new TextButton(new Vector2(2, offset), new Vector2(UIScaler.GetWidthUnits() - 4, 1.2f), " " + q.Value.name, delegate { Selection(key); }, Color.white, offset); tb.button.GetComponent <UnityEngine.UI.Text>().fontSize = UIScaler.GetSmallFont(); tb.button.GetComponent <UnityEngine.UI.Text>().alignment = TextAnchor.MiddleLeft; tb.background.GetComponent <UnityEngine.UI.Image>().color = new Color(0, 0, 0.1f); offset += 2; } new TextButton(new Vector2(1, UIScaler.GetBottom(-3)), new Vector2(8, 2), "Back", delegate { Cancel(); }, Color.red); }
protected override float DrawItem(SelectionItemTraits item, Transform transform, float offset) { string key = item.GetKey(); UIElement ui = new UIElement(transform); ui.SetLocation(0, offset, 18.9f, 1); if (key != null) { ui.SetButton(delegate { SelectItem(key); }); } ui.SetBGColor(item.GetColor()); ui.SetText(item.GetDisplay(), Color.black); ui = new UIElement(transform); ui.SetLocation(19, offset, 1, 1); if (key != null) { ui.SetButton(delegate { Play(key); }); } ui.SetBGColor(new Color(0.6f, 0.6f, 1)); ui.SetText("►", Color.black); // this character is strange ui.SetFontSize(Mathf.RoundToInt((float)UIScaler.GetSmallFont() * 0.5f)); return(offset + 1.05f); }
protected override float DrawItem(SelectionItemTraits item, Transform transform, float offset) { string key = item.GetKey(); UIElement ui = new UIElement(transform); ui.SetLocation(0, offset, 18.9f, 1); var audioFilePath = FindAudioPathIfExists(key); ui.SetButton(delegate { SelectItem(key ?? ""); }); ui.SetBGColor(item.GetColor()); ui.SetText(item.GetDisplay(), Color.black); ui = new UIElement(transform); ui.SetLocation(19, offset, 1, 1); ui.SetButton(delegate { Play(key); }); var rightButtonColor = !string.IsNullOrEmpty(audioFilePath) ? AVAILABLE_COLOR : UNAVAILABLE_COLOR; ui.SetBGColor(rightButtonColor); var buttonText = !string.IsNullOrEmpty(audioFilePath) ? "►" : "■"; ui.SetText(buttonText, Color.black); // this character is strange ui.SetFontSize(Mathf.RoundToInt((float)UIScaler.GetSmallFont() * 0.5f)); return(offset + 1.05f); }
public void DrawList() { localManifest = IniRead.ReadFromString(""); if (File.Exists(saveLocation() + "/manifest.ini")) { localManifest = IniRead.ReadFromIni(saveLocation() + "/manifest.ini"); } // Heading DialogBox db = new DialogBox(new Vector2(2, 1), new Vector2(UIScaler.GetWidthUnits() - 4, 3), "Download " + game.gameType.QuestName()); db.textObj.GetComponent <UnityEngine.UI.Text>().fontSize = UIScaler.GetLargeFont(); db.SetFont(game.gameType.GetHeaderFont()); TextButton tb; // Start here int offset = 5; // Loop through all available quests // FIXME: this isn't paged Dictionary<string, Dictionary<string, string>> data; foreach (KeyValuePair <string, Dictionary <string, string> > kv in remoteManifest.data) { string file = kv.Key + ".valkyrie"; // Size is 1.2 to be clear of characters with tails if (File.Exists(saveLocation() + "/" + file)) { int localVersion = 0; int remoteVersion = 0; int.TryParse(localManifest.Get(kv.Key, "version"), out localVersion); int.TryParse(remoteManifest.Get(kv.Key, "version"), out remoteVersion); if (localVersion < remoteVersion) { tb = new TextButton(new Vector2(2, offset), new Vector2(UIScaler.GetWidthUnits() - 4, 1.2f), " [Update] " + kv.Value["name"], delegate { Selection(file); }, Color.blue, offset); tb.button.GetComponent <UnityEngine.UI.Text>().fontSize = UIScaler.GetSmallFont(); tb.button.GetComponent <UnityEngine.UI.Text>().alignment = TextAnchor.MiddleLeft; tb.background.GetComponent <UnityEngine.UI.Image>().color = new Color(0, 0, 0.1f); } else { db = new DialogBox(new Vector2(2, offset), new Vector2(UIScaler.GetWidthUnits() - 4, 1.2f), " " + kv.Value["name"], Color.grey); db.AddBorder(); db.background.GetComponent <UnityEngine.UI.Image>().color = new Color(0.05f, 0.05f, 0.05f); db.textObj.GetComponent <UnityEngine.UI.Text>().alignment = TextAnchor.MiddleLeft; } } else { tb = new TextButton(new Vector2(2, offset), new Vector2(UIScaler.GetWidthUnits() - 4, 1.2f), " " + kv.Value["name"], delegate { Selection(file); }, Color.white, offset); tb.button.GetComponent <UnityEngine.UI.Text>().fontSize = UIScaler.GetSmallFont(); tb.button.GetComponent <UnityEngine.UI.Text>().alignment = TextAnchor.MiddleLeft; tb.background.GetComponent <UnityEngine.UI.Image>().color = new Color(0, 0, 0.1f); } offset += 2; } tb = new TextButton(new Vector2(1, UIScaler.GetBottom(-3)), new Vector2(8, 2), "Back", delegate { Cancel(); }, Color.red); tb.SetFont(game.gameType.GetHeaderFont()); }
override public void Update() { base.Update(); CameraController.SetCamera(mPlaceComponent.location); Game game = Game.Get(); TextButton tb = new TextButton(new Vector2(0, 0), new Vector2(4, 1), CommonStringKeys.MPLACE, delegate { QuestEditorData.TypeSelect(); }); tb.button.GetComponent <UnityEngine.UI.Text>().fontSize = UIScaler.GetSmallFont(); tb.button.GetComponent <UnityEngine.UI.Text>().alignment = TextAnchor.MiddleRight; tb.ApplyTag("editor"); tb = new TextButton(new Vector2(4, 0), new Vector2(15, 1), new StringKey(null, name.Substring("MPlace".Length), false), delegate { QuestEditorData.ListMPlace(); }); tb.button.GetComponent <UnityEngine.UI.Text>().fontSize = UIScaler.GetSmallFont(); tb.button.GetComponent <UnityEngine.UI.Text>().alignment = TextAnchor.MiddleLeft; tb.ApplyTag("editor"); tb = new TextButton(new Vector2(19, 0), new Vector2(1, 1), CommonStringKeys.E, delegate { Rename(); }); tb.button.GetComponent <UnityEngine.UI.Text>().fontSize = UIScaler.GetSmallFont(); tb.ApplyTag("editor"); DialogBox db = new DialogBox(new Vector2(0, 2), new Vector2(4, 1), CommonStringKeys.POSITION); db.ApplyTag("editor"); tb = new TextButton(new Vector2(4, 2), new Vector2(1, 1), CommonStringKeys.POSITION_SNAP, delegate { GetPosition(); }); tb.button.GetComponent <UnityEngine.UI.Text>().fontSize = UIScaler.GetSmallFont(); tb.ApplyTag("editor"); StringKey rotateKey = new StringKey("val", "RIGHT"); if (mPlaceComponent.rotate) { rotateKey = new StringKey("val", "DOWN"); } tb = new TextButton(new Vector2(0, 4), new Vector2(8, 1), new StringKey("val", "ROTATE_TO", rotateKey), delegate { Rotate(); }); tb.button.GetComponent <UnityEngine.UI.Text>().fontSize = UIScaler.GetSmallFont(); tb.ApplyTag("editor"); StringKey mast = new StringKey("val", "MONSTER_MINION"); if (mPlaceComponent.master) { mast = new StringKey("val", "MONSTER_MASTER"); } tb = new TextButton(new Vector2(0, 6), new Vector2(8, 1), mast, delegate { MasterToggle(); }); tb.button.GetComponent <UnityEngine.UI.Text>().fontSize = UIScaler.GetSmallFont(); tb.ApplyTag("editor"); game.tokenBoard.AddHighlight(mPlaceComponent.location, "MonsterLoc", "editor"); }
// Create window, call event on cancel public void EditText(UnityEngine.Events.UnityAction call) { Destroyer.Dialog(); cancelCall = call; // Border DialogBox db = new DialogBox(new Vector2(21, 0), new Vector2(20, 6), ""); db.AddBorder(); // Heading db = new DialogBox(new Vector2(21, 0), new Vector2(20, 1), title); Game game = Game.Get(); GameObject textObj = new GameObject("textEdit"); GameObject inputObj = new GameObject("textInput"); textObj.tag = "dialog"; inputObj.tag = "dialog"; inputObj.transform.parent = game.uICanvas.transform; textObj.transform.parent = inputObj.transform; RectTransform transBg = inputObj.AddComponent <RectTransform>(); transBg.SetInsetAndSizeFromParentEdge(RectTransform.Edge.Top, 2 * UIScaler.GetPixelsPerUnit(), UIScaler.GetPixelsPerUnit()); transBg.SetInsetAndSizeFromParentEdge(RectTransform.Edge.Left, 22 * UIScaler.GetPixelsPerUnit(), 18 * UIScaler.GetPixelsPerUnit()); RectTransform transTx = textObj.AddComponent <RectTransform>(); transTx.SetParent(transBg); transTx.localScale = transBg.localScale; transTx.sizeDelta = transBg.sizeDelta; inputObj.AddComponent <CanvasRenderer>(); textObj.AddComponent <CanvasRenderer>(); UnityEngine.UI.Text uiText = textObj.AddComponent <UnityEngine.UI.Text>(); iField = inputObj.AddComponent <UnityEngine.UI.InputField>(); uiText.color = Color.white; uiText.font = game.gameType.GetFont(); uiText.material = uiText.font.material; uiText.fontSize = UIScaler.GetSmallFont(); iField.textComponent = uiText; iField.text = value; TextButton tb = new TextButton(new Vector2(23f, 4), new Vector2(6, 1), "OK", OKButton); tb.background.GetComponent <UnityEngine.UI.Image>().color = new Color(0.0f, 0.03f, 0f); tb.button.GetComponent <UnityEngine.UI.Text>().fontSize = UIScaler.GetSmallFont(); tb = new TextButton(new Vector2(31f, 4), new Vector2(6, 1), "Cancel", cancelCall); tb.background.GetComponent <UnityEngine.UI.Image>().color = new Color(0.03f, 0.0f, 0f); tb.button.GetComponent <UnityEngine.UI.Text>().fontSize = UIScaler.GetSmallFont(); }
// Create window, call event on cancel public void EditText(UnityEngine.Events.UnityAction call) { Destroyer.Dialog(); cancelCall = call; // Border DialogBox db = new DialogBox(new Vector2(UIScaler.GetHCenter(-10), 1), new Vector2(20, 6), StringKey.NULL); db.AddBorder(); // Heading db = new DialogBox(new Vector2(UIScaler.GetHCenter(-9.5f), 1), new Vector2(19, 1), title); Game game = Game.Get(); GameObject textObj = new GameObject("textEdit"); GameObject inputObj = new GameObject("textInput"); textObj.tag = Game.DIALOG; inputObj.tag = Game.DIALOG; inputObj.transform.SetParent(game.uICanvas.transform); textObj.transform.SetParent(inputObj.transform); RectTransform transBg = inputObj.AddComponent <RectTransform>(); transBg.SetInsetAndSizeFromParentEdge(RectTransform.Edge.Top, 3 * UIScaler.GetPixelsPerUnit(), UIScaler.GetPixelsPerUnit()); transBg.SetInsetAndSizeFromParentEdge(RectTransform.Edge.Left, UIScaler.GetHCenter(-9) * UIScaler.GetPixelsPerUnit(), 18 * UIScaler.GetPixelsPerUnit()); RectTransform transTx = textObj.AddComponent <RectTransform>(); transTx.SetParent(transBg); transTx.localScale = transBg.localScale; transTx.sizeDelta = transBg.sizeDelta; inputObj.AddComponent <CanvasRenderer>(); textObj.AddComponent <CanvasRenderer>(); UnityEngine.UI.Text uiText = textObj.AddComponent <UnityEngine.UI.Text>(); uiText.color = Color.white; uiText.font = game.gameType.GetFont(); uiText.material = uiText.font.material; uiText.fontSize = UIScaler.GetSmallFont(); iField = inputObj.AddComponent <PanCancelInputField>(); iField.textComponent = uiText; iField.text = value; TextButton tb = new TextButton(new Vector2(UIScaler.GetHCenter(-8), 5), new Vector2(6, 1), CommonStringKeys.OK, OKButton); tb.background.GetComponent <UnityEngine.UI.Image>().color = new Color(0.0f, 0.03f, 0f); tb.button.GetComponent <UnityEngine.UI.Text>().fontSize = UIScaler.GetSmallFont(); tb = new TextButton(new Vector2(UIScaler.GetHCenter(2), 5), new Vector2(6, 1), CommonStringKeys.CANCEL, cancelCall); tb.background.GetComponent <UnityEngine.UI.Image>().color = new Color(0.03f, 0.0f, 0f); tb.button.GetComponent <UnityEngine.UI.Text>().fontSize = UIScaler.GetSmallFont(); }
override public void Update() { base.Update(); CameraController.SetCamera(monsterComponent.location); Game game = Game.Get(); TextButton tb = new TextButton(new Vector2(0, 0), new Vector2(3, 1), CommonStringKeys.SPAWN, delegate { QuestEditorData.TypeSelect(); }); tb.button.GetComponent <UnityEngine.UI.Text>().fontSize = UIScaler.GetSmallFont(); tb.button.GetComponent <UnityEngine.UI.Text>().alignment = TextAnchor.MiddleRight; tb.ApplyTag("editor"); tb = new TextButton(new Vector2(3, 0), new Vector2(16, 1), new StringKey(null, name.Substring("Spawn".Length), false), delegate { QuestEditorData.ListSpawn(); }); tb.button.GetComponent <UnityEngine.UI.Text>().fontSize = UIScaler.GetSmallFont(); tb.button.GetComponent <UnityEngine.UI.Text>().alignment = TextAnchor.MiddleLeft; tb.ApplyTag("editor"); tb = new TextButton(new Vector2(19, 0), new Vector2(1, 1), CommonStringKeys.E, delegate { Rename(); }); tb.button.GetComponent <UnityEngine.UI.Text>().fontSize = UIScaler.GetSmallFont(); tb.ApplyTag("editor"); int offset = 1; DialogBox db = null; for (int heroes = 2; heroes < 5; heroes++) { int h = heroes; db = new DialogBox(new Vector2(0, offset), new Vector2(5, 1), new StringKey("val", "NUMBER_HEROS", heroes)); db.ApplyTag("editor"); tb = new TextButton(new Vector2(19, offset++), new Vector2(1, 1), CommonStringKeys.PLUS, delegate { MonsterPlaceAdd(h); }, Color.green); tb.button.GetComponent <UnityEngine.UI.Text>().fontSize = UIScaler.GetSmallFont(); tb.ApplyTag("editor"); for (int i = 0; i < 8; i++) { if (monsterComponent.placement[heroes].Length > i) { int mSlot = i; string place = monsterComponent.placement[heroes][i]; tb = new TextButton(new Vector2(0, offset), new Vector2(1, 1), CommonStringKeys.MINUS, delegate { MonsterPlaceRemove(h, mSlot); }, Color.red); tb.button.GetComponent <UnityEngine.UI.Text>().fontSize = UIScaler.GetSmallFont(); tb.ApplyTag("editor"); tb = new TextButton(new Vector2(1, offset), new Vector2(19, 1), new StringKey(null, place, false), delegate { QuestEditorData.SelectComponent(place); }); tb.button.GetComponent <UnityEngine.UI.Text>().fontSize = UIScaler.GetSmallFont(); tb.ApplyTag("editor"); } offset++; } } game.tokenBoard.AddHighlight(monsterComponent.location, "MonsterLoc", "editor"); }
// Update redraws the selection UI virtual public void Update() { Clean(); // Back button is common to all components TextButton tb = new TextButton(new Vector2(0, 29), new Vector2(3, 1), "Back", delegate { QuestEditorData.Back(); }); tb.button.GetComponent <UnityEngine.UI.Text>().fontSize = UIScaler.GetSmallFont(); tb.ApplyTag("editor"); }
public void Activation() { DialogBox db = new DialogBox(new Vector2(0, 1), new Vector2(20, 1), new StringKey("val", "X_COLON", ABILITY)); db.ApplyTag("editor"); abilityDBE = new DialogBoxEditable( new Vector2(0, 2), new Vector2(20, 8), activationComponent.ability.Translate(), delegate { UpdateAbility(); }); abilityDBE.ApplyTag("editor"); abilityDBE.AddBorder(); db = new DialogBox(new Vector2(0, 10), new Vector2(15, 1), new StringKey("val", "X_COLON", MONSTER_MASTER)); db.ApplyTag("editor"); TextButton tb = null; if (activationComponent.masterFirst) { tb = new TextButton(new Vector2(15, 10), new Vector2(5, 1), FIRST, delegate { ToggleMasterFirst(); }); } else { tb = new TextButton(new Vector2(15, 10), new Vector2(5, 1), NOT_FIRST, delegate { ToggleMasterFirst(); }); } tb.button.GetComponent <UnityEngine.UI.Text>().fontSize = UIScaler.GetSmallFont(); tb.ApplyTag("editor"); masterActionsDBE = new DialogBoxEditable( new Vector2(0, 11), new Vector2(20, 8), activationComponent.masterActions.Translate(true), delegate { UpdateMasterActions(); }); masterActionsDBE.ApplyTag("editor"); masterActionsDBE.AddBorder(); db = new DialogBox(new Vector2(0, 19), new Vector2(15, 1), new StringKey("val", "X_COLON", MONSTER_MINION)); db.ApplyTag("editor"); if (activationComponent.minionFirst) { tb = new TextButton(new Vector2(15, 19), new Vector2(5, 1), FIRST, delegate { ToggleMinionFirst(); }); } else { tb = new TextButton(new Vector2(15, 19), new Vector2(5, 1), NOT_FIRST, delegate { ToggleMinionFirst(); }); } tb.button.GetComponent <UnityEngine.UI.Text>().fontSize = UIScaler.GetSmallFont(); tb.ApplyTag("editor"); minionActionsDBE = new DialogBoxEditable( new Vector2(0, 20), new Vector2(20, 8), activationComponent.minionActions.Translate(true), delegate { UpdateMinionActions(); }); minionActionsDBE.ApplyTag("editor"); minionActionsDBE.AddBorder(); }
override public void Update() { base.Update(); Game game = Game.Get(); CameraController.SetCamera(tokenComponent.location); TextButton tb = new TextButton(new Vector2(0, 0), new Vector2(4, 1), CommonStringKeys.TOKEN, delegate { QuestEditorData.TypeSelect(); }); tb.button.GetComponent <UnityEngine.UI.Text>().fontSize = UIScaler.GetSmallFont(); tb.button.GetComponent <UnityEngine.UI.Text>().alignment = TextAnchor.MiddleRight; tb.ApplyTag("editor"); tb = new TextButton(new Vector2(4, 0), new Vector2(15, 1), new StringKey(null, name.Substring("Token".Length), false), delegate { QuestEditorData.ListToken(); }); tb.button.GetComponent <UnityEngine.UI.Text>().fontSize = UIScaler.GetSmallFont(); tb.button.GetComponent <UnityEngine.UI.Text>().alignment = TextAnchor.MiddleLeft; tb.ApplyTag("editor"); tb = new TextButton(new Vector2(19, 0), new Vector2(1, 1), CommonStringKeys.E, delegate { Rename(); }); tb.button.GetComponent <UnityEngine.UI.Text>().fontSize = UIScaler.GetSmallFont(); tb.ApplyTag("editor"); DialogBox db = new DialogBox(new Vector2(0, 2), new Vector2(4, 1), CommonStringKeys.POSITION); db.ApplyTag("editor"); tb = new TextButton(new Vector2(4, 2), new Vector2(1, 1), CommonStringKeys.POSITION_SNAP, delegate { GetPosition(); }); tb.button.GetComponent <UnityEngine.UI.Text>().fontSize = UIScaler.GetSmallFont(); tb.ApplyTag("editor"); tb = new TextButton(new Vector2(5, 2), new Vector2(1, 1), CommonStringKeys.POSITION_FREE, delegate { GetPosition(false); }); tb.button.GetComponent <UnityEngine.UI.Text>().fontSize = UIScaler.GetSmallFont(); tb.ApplyTag("editor"); tb = new TextButton(new Vector2(0, 4), new Vector2(8, 1), new StringKey("val", "ROTATION", new StringKey(null, tokenComponent.rotation.ToString(), false)), delegate { Rotate(); }); tb.button.GetComponent <UnityEngine.UI.Text>().fontSize = UIScaler.GetSmallFont(); tb.ApplyTag("editor"); tb = new TextButton(new Vector2(0, 6), new Vector2(8, 1), new StringKey(null, tokenComponent.tokenName, false), delegate { Type(); }); tb.button.GetComponent <UnityEngine.UI.Text>().fontSize = UIScaler.GetSmallFont(); tb.ApplyTag("editor"); tb = new TextButton(new Vector2(0, 8), new Vector2(8, 1), CommonStringKeys.EVENT, delegate { QuestEditorData.SelectAsEvent(name); }); tb.button.GetComponent <UnityEngine.UI.Text>().fontSize = UIScaler.GetSmallFont(); tb.ApplyTag("editor"); game.quest.ChangeAlpha(tokenComponent.sectionName, 1f); }
public override void SetText(string content, Color textColor) { UnityEngine.UI.Text uiText = null; if (text == null) { input = new GameObject("UIInput"); input.tag = tag; PanCancelInputField uiInput = input.AddComponent <PanCancelInputField>(); uiInput.lineType = UnityEngine.UI.InputField.LineType.MultiLineNewline; input.transform.SetParent(bg.transform); RectTransform transform = input.AddComponent <RectTransform>(); transform.anchorMin = Vector2.zero; transform.anchorMax = Vector2.one; transform.localPosition = Vector3.zero; transform.localScale = Vector3.one; transform.offsetMin = Vector2.zero; transform.offsetMax = Vector2.zero; text = new GameObject("UIText"); text.tag = tag; uiText = text.AddComponent <UnityEngine.UI.Text>(); uiText.alignment = TextAnchor.MiddleCenter; uiText.font = Game.Get().gameType.GetFont(); uiText.fontSize = UIScaler.GetSmallFont(); uiText.horizontalOverflow = HorizontalWrapMode.Wrap; text.transform.SetParent(input.transform); transform = text.GetComponent <RectTransform>(); transform.anchorMin = Vector2.zero; transform.anchorMax = Vector2.one; transform.localPosition = Vector3.zero; transform.localScale = Vector3.one; transform.offsetMin = new Vector2(textPadding * UIScaler.GetPixelsPerUnit(), 0); transform.offsetMax = new Vector2(-textPadding * UIScaler.GetPixelsPerUnit(), 0); uiInput.textComponent = uiText; if (buttonCall != null) { uiInput.onEndEdit.AddListener(delegate { buttonCall(); }); } } uiText = text.GetComponent <UnityEngine.UI.Text>(); uiText.color = textColor; if (textColor.Equals(Color.black)) { uiText.material = (Material)Resources.Load("Fonts/FontMaterial"); } else { uiText.material = uiText.font.material; } input.GetComponent <PanCancelInputField>().text = content; lastText = content; }
// List of quests to copy public void Copy() { // Can copy all quests, not just user questList = QuestLoader.GetQuests(); Game game = Game.Get(); foreach (GameObject go in GameObject.FindGameObjectsWithTag("dialog")) { Object.Destroy(go); } // Header DialogBox db = new DialogBox(new Vector2(2, 1), new Vector2(UIScaler.GetWidthUnits() - 4, 3), "Select " + game.gameType.QuestName() + " To Copy"); db.textObj.GetComponent <UnityEngine.UI.Text>().fontSize = UIScaler.GetLargeFont(); db.SetFont(Game.Get().gameType.GetHeaderFont()); db = new DialogBox(new Vector2(1, 5f), new Vector2(UIScaler.GetWidthUnits() - 2f, 21f), ""); db.AddBorder(); db.background.AddComponent <UnityEngine.UI.Mask>(); UnityEngine.UI.ScrollRect scrollRect = db.background.AddComponent <UnityEngine.UI.ScrollRect>(); GameObject scrollArea = new GameObject("scroll"); RectTransform scrollInnerRect = scrollArea.AddComponent <RectTransform>(); scrollArea.transform.parent = db.background.transform; scrollInnerRect.SetInsetAndSizeFromParentEdge(RectTransform.Edge.Left, 0, (UIScaler.GetWidthUnits() - 3f) * UIScaler.GetPixelsPerUnit()); scrollInnerRect.SetInsetAndSizeFromParentEdge(RectTransform.Edge.Top, 0, 1); scrollRect.content = scrollInnerRect; scrollRect.horizontal = false; // List of quests int offset = 5; TextButton tb; foreach (KeyValuePair <string, QuestData.Quest> q in questList) { string key = q.Key; tb = new TextButton(new Vector2(2, offset), new Vector2(UIScaler.GetWidthUnits() - 5, 1.2f), " " + q.Value.name, delegate { Copy(key); }, Color.black, offset); tb.button.GetComponent <UnityEngine.UI.Text>().fontSize = UIScaler.GetSmallFont(); tb.button.GetComponent <UnityEngine.UI.Text>().material = (Material)Resources.Load("Fonts/FontMaterial"); tb.button.GetComponent <UnityEngine.UI.Text>().alignment = TextAnchor.MiddleLeft; tb.background.GetComponent <UnityEngine.UI.Image>().color = Color.white; tb.background.transform.parent = scrollArea.transform; offset += 2; } scrollInnerRect.SetInsetAndSizeFromParentEdge(RectTransform.Edge.Top, 0, (offset - 5) * UIScaler.GetPixelsPerUnit()); // Back to edit selection tb = new TextButton(new Vector2(1, UIScaler.GetBottom(-3)), new Vector2(8, 2), "Back", delegate { CancelCopy(); }, Color.red); tb.SetFont(Game.Get().gameType.GetHeaderFont()); }
public void SelectItem(UnityEngine.Events.UnityAction call) { Destroyer.Dialog(); cancelCall = call; DialogBox db = new DialogBox(new Vector2(21, 0), new Vector2(20, 26), ""); db.AddBorder(); db = new DialogBox(new Vector2(21, 0), new Vector2(20, 1), title); float offset = 2; TextButton tb = null; if (items.Length <= 20) { foreach (string s in items) { string key = s; tb = new TextButton(new Vector2(21, offset), new Vector2(20, 1), key, delegate { SelectComponent(key); }); tb.button.GetComponent <UnityEngine.UI.Text>().fontSize = UIScaler.GetSmallFont(); offset += 1; } offset += 1; tb = new TextButton(new Vector2(26.5f, offset), new Vector2(9, 1), "Cancel", call); tb.background.GetComponent <UnityEngine.UI.Image>().color = new Color(0.03f, 0.0f, 0f); tb.button.GetComponent <UnityEngine.UI.Text>().fontSize = UIScaler.GetSmallFont(); } else { for (int i = indexOffset; i < (20 + indexOffset); i++) { if (items.Length > i) { string key = items[i]; tb = new TextButton(new Vector2(21, offset), new Vector2(20, 1), key, delegate { SelectComponent(key); }); tb.button.GetComponent <UnityEngine.UI.Text>().fontSize = UIScaler.GetSmallFont(); } offset += 1; } offset += 1; tb = new TextButton(new Vector2(22f, offset), new Vector2(1, 1), "<", delegate { PreviousPage(); }); tb.background.GetComponent <UnityEngine.UI.Image>().color = new Color(0.03f, 0.0f, 0f); tb.button.GetComponent <UnityEngine.UI.Text>().fontSize = UIScaler.GetSmallFont(); tb = new TextButton(new Vector2(39f, offset), new Vector2(1, 1), ">", delegate { NextPage(); }); tb.background.GetComponent <UnityEngine.UI.Image>().color = new Color(0.03f, 0.0f, 0f); tb.button.GetComponent <UnityEngine.UI.Text>().fontSize = UIScaler.GetSmallFont(); offset += 1; tb = new TextButton(new Vector2(26.5f, offset), new Vector2(9, 1), "Cancel", cancelCall); tb.background.GetComponent <UnityEngine.UI.Image>().color = new Color(0.03f, 0.0f, 0f); tb.button.GetComponent <UnityEngine.UI.Text>().fontSize = UIScaler.GetSmallFont(); } }
override public void Update() { base.Update(); Game game = Game.Get(); CameraController.SetCamera(doorComponent.location); TextButton tb = new TextButton(new Vector2(0, 0), new Vector2(3, 1), CommonStringKeys.DOOR, delegate { QuestEditorData.TypeSelect(); }); tb.button.GetComponent <UnityEngine.UI.Text>().fontSize = UIScaler.GetSmallFont(); tb.button.GetComponent <UnityEngine.UI.Text>().alignment = TextAnchor.MiddleRight; tb.ApplyTag("editor"); tb = new TextButton(new Vector2(3, 0), new Vector2(16, 1), new StringKey(null, name.Substring("Door".Length), false), delegate { QuestEditorData.ListDoor(); }); tb.button.GetComponent <UnityEngine.UI.Text>().fontSize = UIScaler.GetSmallFont(); tb.button.GetComponent <UnityEngine.UI.Text>().alignment = TextAnchor.MiddleLeft; tb.ApplyTag("editor"); tb = new TextButton(new Vector2(19, 0), new Vector2(1, 1), CommonStringKeys.E, delegate { Rename(); }); tb.button.GetComponent <UnityEngine.UI.Text>().fontSize = UIScaler.GetSmallFont(); tb.ApplyTag("editor"); DialogBox db = new DialogBox(new Vector2(0, 2), new Vector2(4, 1), CommonStringKeys.POSITION); db.ApplyTag("editor"); // This is a snapped position tb = new TextButton(new Vector2(4, 2), new Vector2(1, 1), CommonStringKeys.POSITION_SNAP, delegate { GetPosition(); }); tb.button.GetComponent <UnityEngine.UI.Text>().fontSize = UIScaler.GetSmallFont(); tb.ApplyTag("editor"); tb = new TextButton(new Vector2(0, 4), new Vector2(8, 1), new StringKey("val", "ROTATION", doorComponent.rotation), delegate { Rotate(); }); tb.button.GetComponent <UnityEngine.UI.Text>().fontSize = UIScaler.GetSmallFont(); tb.ApplyTag("editor"); tb = new TextButton(new Vector2(0, 6), new Vector2(8, 1), COLOR, delegate { Colour(); }); tb.button.GetComponent <UnityEngine.UI.Text>().fontSize = UIScaler.GetSmallFont(); tb.ApplyTag("editor"); tb = new TextButton(new Vector2(0, 8), new Vector2(8, 1), CommonStringKeys.EVENT, delegate { QuestEditorData.SelectAsEvent(name); }); tb.button.GetComponent <UnityEngine.UI.Text>().fontSize = UIScaler.GetSmallFont(); tb.ApplyTag("editor"); game.tokenBoard.AddHighlight(doorComponent.location, "DoorAnchor", "editor"); game.quest.ChangeAlpha(doorComponent.sectionName, 1f); }
override public void Update() { base.Update(); CameraController.SetCamera(mPlaceComponent.location); Game game = Game.Get(); TextButton tb = new TextButton(new Vector2(0, 0), new Vector2(4, 1), "MPlace", delegate { QuestEditorData.TypeSelect(); }); tb.button.GetComponent <UnityEngine.UI.Text>().fontSize = UIScaler.GetSmallFont(); tb.button.GetComponent <UnityEngine.UI.Text>().alignment = TextAnchor.MiddleRight; tb.ApplyTag("editor"); tb = new TextButton(new Vector2(4, 0), new Vector2(15, 1), name.Substring("MPlace".Length), delegate { QuestEditorData.ListMPlace(); }); tb.button.GetComponent <UnityEngine.UI.Text>().fontSize = UIScaler.GetSmallFont(); tb.button.GetComponent <UnityEngine.UI.Text>().alignment = TextAnchor.MiddleLeft; tb.ApplyTag("editor"); tb = new TextButton(new Vector2(19, 0), new Vector2(1, 1), "E", delegate { Rename(); }); tb.button.GetComponent <UnityEngine.UI.Text>().fontSize = UIScaler.GetSmallFont(); tb.ApplyTag("editor"); DialogBox db = new DialogBox(new Vector2(0, 2), new Vector2(4, 1), "Position"); db.ApplyTag("editor"); tb = new TextButton(new Vector2(4, 2), new Vector2(1, 1), "><", delegate { GetPosition(); }); tb.button.GetComponent <UnityEngine.UI.Text>().fontSize = UIScaler.GetSmallFont(); tb.ApplyTag("editor"); string r = "Right"; if (mPlaceComponent.rotate) { r = "Down"; } tb = new TextButton(new Vector2(0, 4), new Vector2(8, 1), "Rotate: " + r, delegate { Rotate(); }); tb.button.GetComponent <UnityEngine.UI.Text>().fontSize = UIScaler.GetSmallFont(); tb.ApplyTag("editor"); string mast = "Minion"; if (mPlaceComponent.master) { mast = "Master"; } tb = new TextButton(new Vector2(0, 6), new Vector2(8, 1), mast, delegate { MasterToggle(); }); tb.button.GetComponent <UnityEngine.UI.Text>().fontSize = UIScaler.GetSmallFont(); tb.ApplyTag("editor"); game.tokenBoard.AddHighlight(mPlaceComponent.location, "MonsterLoc", "editor"); }
override public void Update() { base.Update(); Game game = Game.Get(); TextButton tb = new TextButton(new Vector2(0, 0), new Vector2(4, 1), CommonStringKeys.QUEST, delegate { QuestEditorData.TypeSelect(); }); tb.button.GetComponent <UnityEngine.UI.Text>().fontSize = UIScaler.GetSmallFont(); tb.ApplyTag("editor"); nameDBE = new DialogBoxEditable( new Vector2(0, 2), new Vector2(20, 1), game.quest.qd.quest.name.Translate(), delegate { UpdateQuestName(); }); nameDBE.ApplyTag("editor"); nameDBE.AddBorder(); descriptionDBE = new DialogBoxEditable( new Vector2(0, 4), new Vector2(20, 6), game.quest.qd.quest.description.Translate(true), delegate { UpdateQuestDesc(); }); descriptionDBE.ApplyTag("editor"); descriptionDBE.AddBorder(); DialogBox db = new DialogBox(new Vector2(0, 11), new Vector2(9, 1), REQUIRED_EXPANSIONS); db.ApplyTag("editor"); tb = new TextButton(new Vector2(9, 11), new Vector2(1, 1), CommonStringKeys.PLUS, delegate { QuestAddPack(); }, Color.green); tb.button.GetComponent <UnityEngine.UI.Text>().fontSize = UIScaler.GetSmallFont(); tb.ApplyTag("editor"); int offset = 12; int index; for (index = 0; index < 15; index++) { if (game.quest.qd.quest.packs.Length > index) { int i = index; db = new DialogBox(new Vector2(0, offset), new Vector2(9, 1), new StringKey("val", game.quest.qd.quest.packs[index])); db.AddBorder(); db.ApplyTag("editor"); tb = new TextButton(new Vector2(9, offset++), new Vector2(1, 1), CommonStringKeys.MINUS, delegate { QuestRemovePack(i); }, Color.red); tb.button.GetComponent <UnityEngine.UI.Text>().fontSize = UIScaler.GetSmallFont(); tb.ApplyTag("editor"); } } }
public static float GetStringHeight(string content, float width) { if (textHeightObj == null) { textHeightObj = new GameObject("TextSizing"); textHeightObj.AddComponent <UnityEngine.UI.Text>(); RectTransform transform = textHeightObj.GetComponent <RectTransform>(); transform.offsetMax = new Vector2((width - (textPaddingDefault * 2)) * UIScaler.GetPixelsPerUnit(), 20000); textHeightObj.GetComponent <UnityEngine.UI.Text>().font = Game.Get().gameType.GetFont(); textHeightObj.GetComponent <UnityEngine.UI.Text>().fontSize = UIScaler.GetSmallFont(); } textHeightObj.GetComponent <UnityEngine.UI.Text>().text = content; return((textHeightObj.GetComponent <UnityEngine.UI.Text>().preferredHeight / UIScaler.GetPixelsPerUnit()) + (textPaddingDefault * 2)); }
// Internal function to create the text from constructors void createDialog(Vector2 location, Vector2 size, StringKey textKey, Color fgColour, Color bgColour) { // Object name includes first 10 chars of text string objName = textKey.key; if (objName.Length > 10) { objName = objName.Substring(0, 10); } // Create an object textObj = new GameObject("text" + objName); background = new GameObject("buttonBg" + objName); // Mark it as dialog textObj.tag = "dialog"; background.tag = "dialog"; Game game = Game.Get(); background.transform.parent = game.uICanvas.transform; RectTransform transBg = background.AddComponent <RectTransform>(); transBg.SetInsetAndSizeFromParentEdge(RectTransform.Edge.Top, location.y * UIScaler.GetPixelsPerUnit(), size.y * UIScaler.GetPixelsPerUnit()); transBg.SetInsetAndSizeFromParentEdge(RectTransform.Edge.Left, location.x * UIScaler.GetPixelsPerUnit(), size.x * UIScaler.GetPixelsPerUnit()); textObj.transform.parent = background.transform; RectTransform transBt = textObj.AddComponent <RectTransform>(); transBt.SetParent(transBg); transBt.localPosition = Vector2.zero; transBt.localScale = transBg.localScale; transBt.sizeDelta = transBg.sizeDelta; transBt.SetInsetAndSizeFromParentEdge(RectTransform.Edge.Left, 0.1f * UIScaler.GetPixelsPerUnit(), transBt.sizeDelta.x - (0.1f * UIScaler.GetPixelsPerUnit())); textObj.AddComponent <CanvasRenderer>(); background.AddComponent <CanvasRenderer>(); UnityEngine.UI.Image uiImage = background.AddComponent <UnityEngine.UI.Image>(); uiImage.color = bgColour; UnityEngine.UI.Text uiText = textObj.AddComponent <UnityEngine.UI.Text>(); uiText.color = fgColour; uiText.text = textKey.Translate(); uiText.alignment = TextAnchor.MiddleCenter; uiText.font = game.gameType.GetFont(); uiText.material = uiText.font.material; uiText.fontSize = UIScaler.GetSmallFont(); }
override public void Update() { base.Update(); Game game = Game.Get(); CameraController.SetCamera(tokenComponent.location); TextButton tb = new TextButton(new Vector2(0, 0), new Vector2(4, 1), "Token", delegate { QuestEditorData.TypeSelect(); }); tb.button.GetComponent <UnityEngine.UI.Text>().fontSize = UIScaler.GetSmallFont(); tb.button.GetComponent <UnityEngine.UI.Text>().alignment = TextAnchor.MiddleRight; tb.ApplyTag("editor"); tb = new TextButton(new Vector2(4, 0), new Vector2(15, 1), name.Substring("Token".Length), delegate { QuestEditorData.ListToken(); }); tb.button.GetComponent <UnityEngine.UI.Text>().fontSize = UIScaler.GetSmallFont(); tb.button.GetComponent <UnityEngine.UI.Text>().alignment = TextAnchor.MiddleLeft; tb.ApplyTag("editor"); tb = new TextButton(new Vector2(19, 0), new Vector2(1, 1), "E", delegate { Rename(); }); tb.button.GetComponent <UnityEngine.UI.Text>().fontSize = UIScaler.GetSmallFont(); tb.ApplyTag("editor"); DialogBox db = new DialogBox(new Vector2(0, 2), new Vector2(4, 1), "Position"); db.ApplyTag("editor"); tb = new TextButton(new Vector2(4, 2), new Vector2(1, 1), "><", delegate { GetPosition(); }); tb.button.GetComponent <UnityEngine.UI.Text>().fontSize = UIScaler.GetSmallFont(); tb.ApplyTag("editor"); tb = new TextButton(new Vector2(5, 2), new Vector2(1, 1), "~", delegate { GetPosition(false); }); tb.button.GetComponent <UnityEngine.UI.Text>().fontSize = UIScaler.GetSmallFont(); tb.ApplyTag("editor"); tb = new TextButton(new Vector2(0, 4), new Vector2(8, 1), "Rotation (" + tokenComponent.rotation + ")", delegate { Rotate(); }); tb.button.GetComponent <UnityEngine.UI.Text>().fontSize = UIScaler.GetSmallFont(); tb.ApplyTag("editor"); tb = new TextButton(new Vector2(0, 6), new Vector2(8, 1), tokenComponent.tokenName, delegate { Type(); }); tb.button.GetComponent <UnityEngine.UI.Text>().fontSize = UIScaler.GetSmallFont(); tb.ApplyTag("editor"); tb = new TextButton(new Vector2(0, 8), new Vector2(8, 1), "Event", delegate { QuestEditorData.SelectAsEvent(name); }); tb.button.GetComponent <UnityEngine.UI.Text>().fontSize = UIScaler.GetSmallFont(); tb.ApplyTag("editor"); game.quest.ChangeAlpha(tokenComponent.sectionName, 1f); }
/// <summary> /// Get the height of a text box of fixed width with a text string at small size with standard font and standard padding.</summary> /// <param name="content">Text to measure.</param> /// <param name="width">Width of the text box in UIScaler units.</param> /// <returns> /// The required text box height in UIScaler units.</returns> public static float GetStringHeight(string content, float width) { if (textHeightObj == null) { textHeightObj = new GameObject("TextSizing"); textHeightObj.AddComponent <UnityEngine.UI.Text>(); RectTransform transform = textHeightObj.GetComponent <RectTransform>(); transform.SetInsetAndSizeFromParentEdge(RectTransform.Edge.Top, 0, 6000 * UIScaler.GetPixelsPerUnit()); transform.SetInsetAndSizeFromParentEdge(RectTransform.Edge.Left, 0, (width - (textPaddingDefault * 2)) * UIScaler.GetPixelsPerUnit()); textHeightObj.GetComponent <UnityEngine.UI.Text>().font = Game.Get().gameType.GetFont(); textHeightObj.GetComponent <UnityEngine.UI.Text>().fontSize = UIScaler.GetSmallFont(); } textHeightObj.GetComponent <UnityEngine.UI.Text>().text = content; return((textHeightObj.GetComponent <UnityEngine.UI.Text>().preferredHeight / UIScaler.GetPixelsPerUnit()) + (textPaddingDefault * 2)); }
// Destroy list, call on cancel public void SelectItem(UnityEngine.Events.UnityAction call) { Destroyer.Dialog(); cancelCall = call; // Border DialogBox db = new DialogBox(new Vector2(21, 0), new Vector2(20, 26), ""); db.AddBorder(); // Title db = new DialogBox(new Vector2(21, 0), new Vector2(20, 1), title); float offset = 2; TextButton tb = null; // All items on this page for (int i = indexOffset; i < (20 + indexOffset); i++) { // limit to array length if (items.Count > i) { string key = items[i]; Color c = colours[i]; tb = new TextButton(new Vector2(21, offset), new Vector2(20, 1), key, delegate { SelectComponent(key); }, c); tb.button.GetComponent <UnityEngine.UI.Text>().fontSize = UIScaler.GetSmallFont(); } offset += 1; } // Paged if (items.Count > 20) { // Prev button offset += 1; tb = new TextButton(new Vector2(22f, offset), new Vector2(1, 1), "<", delegate { PreviousPage(); }); tb.background.GetComponent <UnityEngine.UI.Image>().color = new Color(0.03f, 0.0f, 0f); tb.button.GetComponent <UnityEngine.UI.Text>().fontSize = UIScaler.GetSmallFont(); // Next button tb = new TextButton(new Vector2(39f, offset), new Vector2(1, 1), ">", delegate { NextPage(); }); tb.background.GetComponent <UnityEngine.UI.Image>().color = new Color(0.03f, 0.0f, 0f); tb.button.GetComponent <UnityEngine.UI.Text>().fontSize = UIScaler.GetSmallFont(); } // Cancel button offset += 1; tb = new TextButton(new Vector2(26.5f, offset), new Vector2(9, 1), "Cancel", cancelCall); tb.background.GetComponent <UnityEngine.UI.Image>().color = new Color(0.03f, 0.0f, 0f); tb.button.GetComponent <UnityEngine.UI.Text>().fontSize = UIScaler.GetSmallFont(); }
/// <summary> /// Set element text.</summary> /// <param name="content">Text to display.</param> /// <param name="textColor">Color to display text.</param> public virtual void SetText(string content, Color textColor) { UnityEngine.UI.Text uiText = null; if (text == null) { text = new GameObject("UIText"); text.tag = tag; uiText = text.AddComponent <UnityEngine.UI.Text>(); uiText.alignment = TextAnchor.MiddleCenter; uiText.verticalOverflow = VerticalWrapMode.Overflow; uiText.font = Game.Get().gameType.GetFont(); uiText.fontSize = UIScaler.GetSmallFont(); text.transform.SetParent(bg.transform); RectTransform transform = text.GetComponent <RectTransform>(); transform.anchorMin = Vector2.zero; transform.anchorMax = Vector2.one; transform.localPosition = Vector3.zero; transform.localScale = Vector3.one; transform.offsetMin = new Vector2(textPadding * UIScaler.GetPixelsPerUnit(), 0); transform.offsetMax = new Vector2(-textPadding * UIScaler.GetPixelsPerUnit(), 0); if (buttonCall != null) { UnityEngine.UI.Button uiButton = text.AddComponent <UnityEngine.UI.Button>(); uiButton.interactable = true; uiButton.onClick.AddListener(buttonCall); } if (buttonCallWithParams != null) { UnityEngine.UI.Button uiButton = text.AddComponent <UnityEngine.UI.Button>(); uiButton.interactable = true; // use button text as parameters uiButton.onClick.AddListener(delegate { buttonCallWithParams(content); }); } } uiText = text.GetComponent <UnityEngine.UI.Text>(); uiText.color = textColor; if (textColor.Equals(Color.black)) { uiText.material = (Material)Resources.Load("Fonts/FontMaterial"); } else { uiText.material = uiText.font.material; } uiText.text = content; }
// Change the dialog to a delete dialog public void Delete() { questList = QuestLoader.GetUserUnpackedQuests(); Game game = Game.Get(); foreach (GameObject go in GameObject.FindGameObjectsWithTag(Game.DIALOG)) { Object.Destroy(go); } // Header DialogBox db = new DialogBox(new Vector2(2, 1), new Vector2(UIScaler.GetWidthUnits() - 4, 3), new StringKey("val", "SELECT_TO_DELETE", game.gameType.QuestName())); db.textObj.GetComponent <UnityEngine.UI.Text>().fontSize = UIScaler.GetLargeFont(); db.SetFont(Game.Get().gameType.GetHeaderFont()); UIElementScrollVertical scrollArea = new UIElementScrollVertical(); scrollArea.SetLocation(1, 5, UIScaler.GetWidthUnits() - 2f, 21); new UIElementBorder(scrollArea); // List of quests int offset = 5; TextButton tb; foreach (KeyValuePair <string, QuestData.Quest> q in questList) { string key = q.Key; LocalizationRead.scenarioDict = q.Value.localizationDict; string translation = q.Value.name.Translate(); tb = new TextButton(new Vector2(2, offset), new Vector2(UIScaler.GetWidthUnits() - 5, 1.2f), new StringKey("val", "INDENT", translation), delegate { Delete(key); }, Color.black, offset); tb.button.GetComponent <UnityEngine.UI.Text>().fontSize = UIScaler.GetSmallFont(); tb.button.GetComponent <UnityEngine.UI.Text>().material = (Material)Resources.Load("Fonts/FontMaterial"); tb.button.GetComponent <UnityEngine.UI.Text>().alignment = TextAnchor.MiddleLeft; tb.background.GetComponent <UnityEngine.UI.Image>().color = new Color(1f, 0f, 0f); tb.background.transform.SetParent(scrollArea.GetScrollTransform()); offset += 2; } scrollArea.SetScrollSize(offset - 5); // Back to edit list tb = new TextButton(new Vector2(1, UIScaler.GetBottom(-3)), new Vector2(8, 2), CommonStringKeys.BACK, delegate { CancelDelete(); }, Color.red); tb.SetFont(Game.Get().gameType.GetHeaderFont()); }
public void Activation() { DialogBox db = new DialogBox(new Vector2(0, 1), new Vector2(20, 1), "Ability:"); db.ApplyTag("editor"); abilityDBE = new DialogBoxEditable(new Vector2(0, 2), new Vector2(20, 8), activationComponent.ability.Translate(), delegate { UpdateAbility(); }); abilityDBE.ApplyTag("editor"); abilityDBE.AddBorder(); db = new DialogBox(new Vector2(0, 10), new Vector2(15, 1), "Master:"); db.ApplyTag("editor"); TextButton tb = null; if (activationComponent.masterFirst) { tb = new TextButton(new Vector2(15, 10), new Vector2(5, 1), "First", delegate { ToggleMasterFirst(); }); } else { tb = new TextButton(new Vector2(15, 10), new Vector2(5, 1), "Not First", delegate { ToggleMasterFirst(); }); } tb.button.GetComponent <UnityEngine.UI.Text>().fontSize = UIScaler.GetSmallFont(); tb.ApplyTag("editor"); masterActionsDBE = new DialogBoxEditable(new Vector2(0, 11), new Vector2(20, 8), activationComponent.masterActions.Translate(), delegate { UpdateMasterActions(); }); masterActionsDBE.ApplyTag("editor"); masterActionsDBE.AddBorder(); db = new DialogBox(new Vector2(0, 19), new Vector2(15, 1), "Minion:"); db.ApplyTag("editor"); if (activationComponent.minionFirst) { tb = new TextButton(new Vector2(15, 19), new Vector2(5, 1), "First", delegate { ToggleMinionFirst(); }); } else { tb = new TextButton(new Vector2(15, 10), new Vector2(5, 1), "Not First", delegate { ToggleMinionFirst(); }); } tb.button.GetComponent <UnityEngine.UI.Text>().fontSize = UIScaler.GetSmallFont(); tb.ApplyTag("editor"); minionActionsDBE = new DialogBoxEditable(new Vector2(0, 20), new Vector2(20, 8), activationComponent.minionActions.Translate(), delegate { UpdateMinionActions(); }); minionActionsDBE.ApplyTag("editor"); minionActionsDBE.AddBorder(); }
public QuestSelectionScreen(Dictionary <string, QuestLoader.Quest> ql) { questList = ql; Game game = Game.Get(); // If a dialog window is open we force it closed (this shouldn't happen) foreach (GameObject go in GameObject.FindGameObjectsWithTag("dialog")) { Object.Destroy(go); } // Clean up downloader if present foreach (GameObject go in GameObject.FindGameObjectsWithTag("questui")) { Object.Destroy(go); } // Heading DialogBox db = new DialogBox(new Vector2(2, 1), new Vector2(UIScaler.GetWidthUnits() - 4, 3), "Select " + game.gameType.QuestName()); db.textObj.GetComponent <UnityEngine.UI.Text>().fontSize = UIScaler.GetLargeFont(); db.SetFont(game.gameType.GetHeaderFont()); TextButton tb; // Start here int offset = 5; // Loop through all available quests // FIXME: this isn't paged foreach (KeyValuePair <string, QuestLoader.Quest> q in questList) { string key = q.Key; // Size is 1.2 to be clear of characters with tails tb = new TextButton(new Vector2(2, offset), new Vector2(UIScaler.GetWidthUnits() - 4, 1.2f), " " + q.Value.name, delegate { Selection(key); }, Color.white, offset); tb.button.GetComponent <UnityEngine.UI.Text>().fontSize = UIScaler.GetSmallFont(); tb.button.GetComponent <UnityEngine.UI.Text>().alignment = TextAnchor.MiddleLeft; tb.background.GetComponent <UnityEngine.UI.Image>().color = new Color(0, 0, 0.1f); offset += 2; } tb = new TextButton(new Vector2(1, UIScaler.GetBottom(-3)), new Vector2(8, 2), "Back", delegate { Cancel(); }, Color.red); tb.SetFont(game.gameType.GetHeaderFont()); tb = new TextButton(new Vector2(UIScaler.GetRight(-9), UIScaler.GetBottom(-3)), new Vector2(8, 2), "Download", delegate { Download(); }, Color.green); tb.SetFont(game.gameType.GetHeaderFont()); }