public override IText AddText(string text, double fontSize, System.Windows.Media.SolidColorBrush brush) { if (cachedTypeface == null) { cachedTypeface = CreateTypeface(); } var textFormat = d2d.DirectWriteFactory.CreateTextFormat( cachedTypeface.FontFamily.Source, FontWeight.Normal, FontStyle.Normal, FontStretch.Normal, (float)fontSize); textFormat.TextAlignment = TextAlignment.Leading; textFormat.ParagraphAlignment = ParagraphAlignment.Near; var textLayout = d2d.DirectWriteFactory.CreateTextLayout( text, textFormat, 300, 100); MyText myText = new MyText { parent = this, textFormat = textFormat, textLayout = textLayout, color = Color.FromRGB(brush.Color.R / 255f, brush.Color.G / 255f, brush.Color.B / 255f) }; texts.Add(myText); return myText; }
public MyButton(UnityEngine.Events.UnityAction eventListner, Sprite sprite, Rect rect, string text = "Button") : base("Button") { var trans = Element.AddComponent<RectTransform>(); SetSize(trans, rect.size); SetSize(trans, new Vector2(120, 32)); trans.anchoredPosition3D = new Vector3(0, 0, 0); trans.anchoredPosition = new Vector2(0, 0); trans.localScale = new Vector3(1.0f, 1.0f, 1.0f); trans.localPosition = rect.position; Element.AddComponent<CanvasRenderer>(); var image = Element.AddComponent<Image>(); image.sprite = sprite; image.type = Image.Type.Sliced; var title = new MyText(text); var titleRect = title.Element.GetComponent<RectTransform>(); title.SetAnchor(new Vector2(0, 0), new Vector2(1, 1)); titleRect.sizeDelta.Set(0, 0); titleRect.offsetMin = new Vector2(0, 0); titleRect.offsetMax = new Vector2(0, 0); titleRect.localScale = new Vector3(1, 1, 1); AddElement(title); var button = Element.AddComponent<Button>(); button.interactable = true; button.onClick.AddListener(eventListner); }
public MyInputField(string name, Sprite sprite, Rect rect) : base(name) { Element = new MyPanel(sprite, rect).Element; var inputScript = Element.AddComponent<InputField>(); var text = new MyText(""); var placeholder = new MyText("Enter Text..."); text.SetAnchor(0, 0, 1, 1); placeholder.SetAnchor(0, 0, 1, 1); text.Element.GetComponent<Text>().alignment = TextAnchor.MiddleLeft; placeholder.Element.GetComponent<Text>().alignment = TextAnchor.MiddleLeft; placeholder.Element.GetComponent<Text>().fontStyle = FontStyle.Italic; placeholder.Element.GetComponent<Text>().color = Color.gray; var rectT = text.Element.GetComponent<RectTransform>(); rectT.offsetMin = new Vector2(10, 5); rectT.offsetMax = new Vector2(-10, -5); rectT = placeholder.Element.GetComponent<RectTransform>(); rectT.offsetMin = new Vector2(10, 5); rectT.offsetMax = new Vector2(-10, -5); AddElement(text); AddElement(placeholder); inputScript.placeholder = placeholder.Element.GetComponent<Text>(); inputScript.textComponent = text.Element.GetComponent<Text>(); }
public override IText AddText(string text, double fontSize, SolidColorBrush brush) { if (cachedTypeface == null) { cachedTypeface = CreateTypeface(); } FormattedText f = new FormattedText(text, CultureInfo.InvariantCulture, FlowDirection.LeftToRight, cachedTypeface, fontSize, brush, null, TextFormattingMode.Display); MyText myText = new MyText { line = f, parent = this }; texts.Add(myText); return myText; }
public override IText AddText(string text, double fontSize, SolidColorBrush brush) { if (cachedTypeface == null) { cachedTypeface = CreateTypeface(); } GlobalTextRunProperties p = new GlobalTextRunProperties { typeface = cachedTypeface, fontRenderingEmSize = fontSize, foregroundBrush = brush, cultureInfo = CultureInfo.CurrentCulture }; MyTextSource myTextSource = new MyTextSource { text = text, textRunProperties = p }; TextLine line = formatter.FormatLine(myTextSource, 0, 500, new MyTextParagraphProperties {defaultTextRunProperties = p}, null); MyText myText = new MyText { line = line, parent = this }; texts.Add(myText); return myText; }
public override IText AddText(string text, double fontSize, SolidColorBrush brush) { if (cachedTypeface == null) { var t = CreateTypeface(); if (!t.TryGetGlyphTypeface(out cachedTypeface)) throw new NotSupportedException(); } ushort[] glyphIndexes = new ushort[text.Length]; double[] advanceWidths = new double[text.Length]; double totalWidth = 0; for (int n = 0; n < text.Length; n++) { ushort glyphIndex; cachedTypeface.CharacterToGlyphMap.TryGetValue(text[n], out glyphIndex); glyphIndexes[n] = glyphIndex; double width = cachedTypeface.AdvanceWidths[glyphIndex] * fontSize; advanceWidths[n] = width; totalWidth += width; } GlyphRun run = new GlyphRun(cachedTypeface, bidiLevel: 0, isSideways: false, renderingEmSize: fontSize, glyphIndices: glyphIndexes, baselineOrigin: new Point(0, Math.Round(cachedTypeface.Baseline * fontSize)), advanceWidths: advanceWidths, glyphOffsets: null, characters: null, deviceFontName: null, clusterMap: null, caretStops: null, language: null); MyText myText = new MyText { run = run, parent = this, brush = brush }; texts.Add(myText); return myText; }
public override IText AddText(string text, double fontSize, System.Windows.Media.SolidColorBrush brush) { if (cachedTypeface == null) { cachedTypeface = CreateTypeface(); } LOGFONT logfont = new LOGFONT(); logfont.lfFaceName = cachedTypeface.FontFamily.Source; logfont.lfHeight = -(int)fontSize; //logfont.lfOutPrecision = 4; //logfont.lfQuality = 5; MyText myText = new MyText { parent = this, text = text, color = brush.Color.R | (brush.Color.G << 8) | (brush.Color.B << 16), font = CreateFontIndirect(ref logfont) }; //myText.brush = new SolidBrush(myText.color); texts.Add(myText); return myText; }
string DescriptionTemplate(Ruinlvl[] AllLvls, int Index) { return("\nUpon dealing damage, you have " + MyText.Colofied(AllLvls[Index].TriggerChance + "%", highlight) + " chance to slow down enemy movement speed by " + MyText.Colofied(AllLvls[Index].MOVESPD_DEC_Percentage + "%", highlight) + " for " + Duration + " secs."); }
public MyWindow(Sprite sprite, string title, Rect rect) : base() { isOpen = true; Head = new MyPanel(sprite, rect); Head.Element.name = "Window" + title; var trans = Head.Element.GetComponent<RectTransform>(); Head.SetAnchor(new Vector2(0.5f, 0.5f), new Vector2(0.5f, 0.5f)); trans.anchoredPosition3D = new Vector3(0, 0, 0); trans.anchoredPosition = new Vector2(0, 0); trans.localPosition = new Vector3(0, 0, 0); trans.localScale = new Vector3(1, 1, 1); SetSize(trans, rect.size); var header = new MyPanel(sprite, rect); trans = header.Element.GetComponent<RectTransform>(); header.Element.GetComponent<Image>().color = new Color32(230, 230, 230, 200); header.SetAnchor(new Vector2(0, 1), new Vector2(1, 1)); trans.anchoredPosition3D = new Vector3(0, 0, 0); trans.anchoredPosition = new Vector2(0, 0); trans.offsetMin = new Vector2(0, 0); trans.offsetMax = new Vector2(0, 0); trans.localPosition = new Vector3(0, -10, 0); trans.sizeDelta = new Vector2(0, 20); trans.localScale = new Vector3(1, 1, 1); var titleWindow = new MyText(title); header.AddElement(titleWindow); var buttonClosed = new MyButton(() => SetActive(false), sprite, new Rect(0, 0, 64, 48), "X"); var rectButton = buttonClosed.Element.GetComponent<RectTransform>(); buttonClosed.SetAnchor(new Vector2(1, 1), new Vector2(1, 1)); rectButton.sizeDelta = new Vector2(50, 20); rectButton.localPosition = new Vector3(-25, -10, 0); //rectButton.pivot = new Vector2(1, 1); var buttonScript = buttonClosed.Element.GetComponent<Button>(); buttonScript.transition = Selectable.Transition.ColorTint; var selColor = new ColorBlock(); selColor.normalColor = buttonClosed.Element.GetComponent<Button>().colors.normalColor; selColor.pressedColor = new Color32(255, 80, 80, 255); selColor.highlightedColor = new Color32(255, 0, 0, 255); selColor.colorMultiplier = 1; selColor.fadeDuration = 0.2f; buttonClosed.Element.GetComponent<Button>().colors = selColor; Element = new MyPanel(sprite, rect).Element; var transM = Element.GetComponent<RectTransform>(); SetAnchor(new Vector2(0, 0), new Vector2(1, 1)); transM.anchoredPosition3D = new Vector3(0, 0, 0); transM.anchoredPosition = new Vector2(0, 0); transM.sizeDelta = new Vector2(0, 0); transM.localPosition = new Vector3(0, -20, 0); transM.offsetMin = new Vector2(transM.offsetMin.x, 0); transM.localScale = new Vector3(1, 1, 1); header.AddElement(buttonClosed); Head.AddElement(header); Head.AddElement(this); }
string DescriptionTemplate(Ragelvl[] AllLvls, int Index) { return("\nIncrease your damage by " + MyText.Colofied(AllLvls[Index].Damage_INC_Percentage + "%", highlight) + " for " + Duration + " secs when your health fall below " + HealthTriggerThreshold + "%. Effect can not be triggered again within " + TriggerCD + " secs."); }
public override void Remove(int i) { MyTexts[i] = new MyText(); }
public string Cost() { return(MyText.DollarFormat(MoneyNeeded())); }
string DescriptionTemplate(BloodyHandlvl[] AllLvls, int Index) { return("\nSummon a size " + MyText.Colofied(AllLvls[Index].RangeScale, highlight) + " bloody hand to deal " + MyText.Colofied(AllLvls[Index].DamageScale + "%", highlight) + " damage and grab enemies for you.\n\nCost: " + MyText.Colofied(AllLvls[Index].EssenseCost + " Essense", highlight) + "\nCD: " + MyText.Colofied(AllLvls[Index].CD + " secs", highlight)); }
string DescriptionTemplate(WarStomplvl[] AllLvls, int Index) { return("\nHeavily stomp the ground, dealing " + MyText.Colofied(AllLvls[Index].DamageScale + "%", highlight) + " * Stomp Charge (Up to 2) damage to nearby foes and stun them for " + MyText.Colofied(AllLvls[Index].StunDuration + " secs", highlight) + ". Chagre it for bigger stomp.\n\nCost: " + MyText.Colofied(AllLvls[Index].EssenseCost + " Essense", highlight) + "\nCD: " + MyText.Colofied(AllLvls[Index].CD + " secs", highlight)); }
string DescriptionTemplate(BloodForBloodlvl[] AllLvls, int Index) { return("\nIncrease your life steal by " + MyText.Colofied(AllLvls[Index].LPH_INC_Perentage + "%", highlight) + " when your health fall below " + HealthTriggerThreshold + " %.Effect lasts " + Duration + " secs and can not be triggered again within " + TriggerCD + " secs."); }
string DescriptionTemplate(Bashlvl[] AllLvls, int Index) { return("\nUpon dealing damage, you have " + MyText.Colofied(AllLvls[Index].TriggerChance + "%", highlight) + " chance to stun your targets for " + StunDuration + " secs."); }
string DescriptionTemplate(IronWilllvl[] AllLvls, int Index) { return("\nIncrease your defense by " + MyText.Colofied(AllLvls[Index].DEF_INC_Percentage + "%", highlight) + "."); }