public void OnMouseEvent(MouseEvent e) { if (e.Type == EventType.Click) { GameScreen currentScreen = GameApp.GetGurrentScreen(); ScreenEntity entity = null; if (type == ObjectType.Sprite) { Sprite s; if (obj != null) s = (Sprite)obj; else s = new Sprite(); entity = s; s.InstanceName = "sprite"; currentScreen.AddSprite(s); s.ShowPropsPanel(); } else { Text t; if (obj != null) t = (Text)obj; else t = new Text(); entity = t; t.InstanceName = "text"; currentScreen.AddText(t); t.ShowPropPanel(); } entity.X = e.MouseX - entity.ClipWidth / 2; entity.Y = e.MouseY - entity.ClipHeight / 2; FocusHandler.SetFocusComponent(entity.GetFocusComponent()); ToolManager.SetCurrentTool(new InteractionTool()); } }
public void RemoveText(Text text) { texts.Remove(text); drawables.Remove(text); iArea.RemoveEntity(text.GetIntractionComponent()); RemoveChild(text); }
public void AddText(Text text) { texts.Add(text); drawables.Add(text); iArea.AddEntity(text.GetIntractionComponent()); AddChild(text); }
private static void WriteText(StringBuilder sb, Text text) { sb.AppendLine(text.InstanceName + " = AddText()"); sb.AppendLine(text.InstanceName + ":SetPosition(" + text.X.ToString() + "," + text.Y.ToString() + ")"); sb.AppendLine(text.InstanceName + ":SetText('" + text.TextValue + "')"); sb.AppendLine(text.InstanceName + ":SetColor(" + text.Color.r.ToString() + "," + text.Color.g.ToString() + "," + text.Color.b.ToString() + ")"); sb.AppendLine(text.InstanceName + ":SetSize(" + text.Size.ToString() + ")"); string fontFileName = GetFileNameFromPath(text.Font); string newFontPath = GetFullDir() + "\\Assets\\Fonts\\" + fontFileName; if (File.Exists(newFontPath) == false) File.Copy(text.Font, newFontPath); sb.AppendLine(text.InstanceName + ":SetFont('../Assets/Fonts/" + fontFileName + "')"); }
private static Text CreateTextFromElement(XElement el) { Text t = new Text(); t.InstanceName = el.Element("instanceName").Value; t.TextValue = el.Element("text").Value; t.X = int.Parse(el.Element("x").Value); t.Y = int.Parse(el.Element("y").Value); t.Font = el.Element("fontPath").Value; t.Color = CreateColorFromElement(el.Element("color")); t.Size = uint.Parse(el.Element("size").Value); t.CharOffset = uint.Parse(el.Element("charSpacing").Value); return t; }
private static XElement CreateTextElement(Text t) { XElement el = new XElement("text"); el.Add(new XElement("instanceName", t.InstanceName)); el.Add(new XElement("text", t.TextValue)); el.Add(new XElement("x", t.X)); el.Add(new XElement("y", t.Y)); el.Add(new XElement("fontPath", t.Font)); XElement colorEl = new XElement("color"); colorEl.Add(new XAttribute("r",t.Color.r)); colorEl.Add(new XAttribute("g",t.Color.g)); colorEl.Add(new XAttribute("b",t.Color.b)); el.Add(colorEl); el.Add(new XElement("size", t.Size)); el.Add(new XElement("charSpacing", t.CharOffset)); return el; }