public static void UpdateOrigin(GameObject go, Texture2D sprite, EOriginPosition originPositionEnum) { // --- Top --- // top left if (EOriginPosition.TopLeft == originPositionEnum) { go.Transform.Origin = new Vector2(0, 0); } // top mid else if (EOriginPosition.TopMid == originPositionEnum) { go.Transform.Origin = new Vector2((float)sprite.Width / 2f, 0); } // top rigth else if (EOriginPosition.TopRight == originPositionEnum) { go.Transform.Origin = new Vector2((float)sprite.Width, 0); } // --- Mid --- // mid left else if (EOriginPosition.MidLeft == originPositionEnum) { go.Transform.Origin = new Vector2(0, (float)sprite.Height / 2f); } // mid else if (EOriginPosition.Mid == originPositionEnum) { go.Transform.Origin = new Vector2((float)sprite.Width / 2f, (float)sprite.Height / 2f); } // mid rigth else if (EOriginPosition.MidRight == originPositionEnum) { go.Transform.Origin = new Vector2((float)sprite.Width, (float)sprite.Height / 2f); } // --- Bottom --- // bottom left else if (EOriginPosition.BottomLeft == originPositionEnum) { go.Transform.Origin = new Vector2(0, (float)sprite.Height); } // bottom mid else if (EOriginPosition.BottomMid == originPositionEnum) { go.Transform.Origin = new Vector2((float)sprite.Width / 2f, (float)sprite.Height); } // bottom rigth else if (EOriginPosition.BottomRight == originPositionEnum) { go.Transform.Origin = new Vector2((float)sprite.Width, (float)sprite.Height); } }
private void TextToSlotBar(string text, Vector2 size, GameObject myParent, EOriginPosition originPosition, Vector2 padding) { GameObject go = new GameObject(); GUIText guiText = new GUIText(SpriteContainer.Instance.NormalFont, Color.White, new Vector2(0.4f, 0.4f), text, originPosition); go.AddComponent <GUIText>(guiText); guiText.LayerDepth = 0.13f; guiText.FontScale = guiText.FontScale * GraphicsSetting.Instance.ScreenScale; guiText.OffsetPosition = new Vector2(padding.X * GraphicsSetting.Instance.ScreenScale.X, padding.Y * GraphicsSetting.Instance.ScreenScale.Y); go.MyParent = myParent; go.Transform.Scale = size; go.Transform.Position = myParent.Transform.Position; myScene.Instantiate(go); }
public static void UpdateOriginText(string text, Rectangle rectangle, SpriteFont spriteFont, Vector2 Scale, EOriginPosition originPositionEnum, ref Vector2 newPositon) { // --- Top --- // top left if (EOriginPosition.TopLeft == originPositionEnum) { var x = rectangle.X; var y = rectangle.Y; newPositon = new Vector2(x, y); } // top mid else if (EOriginPosition.TopMid == originPositionEnum) { var x = (rectangle.X + (rectangle.Width / 2)) - (spriteFont.MeasureString(text).X / 2) * Scale.X; var y = rectangle.Y; newPositon = new Vector2(x, y); } // top rigth else if (EOriginPosition.TopRight == originPositionEnum) { var x = (rectangle.X + (rectangle.Width / 1)) - (spriteFont.MeasureString(text).X / 1) * Scale.X; var y = rectangle.Y; newPositon = new Vector2(x, y); } // --- Mid --- // mid left else if (EOriginPosition.MidLeft == originPositionEnum) { var x = rectangle.X; var y = (rectangle.Y + (rectangle.Height / 2)) - (spriteFont.MeasureString(text).Y / 2) * Scale.Y; newPositon = new Vector2(x, y); } // mid else if (EOriginPosition.Mid == originPositionEnum) { var x = (rectangle.X + (rectangle.Width / 2)) - (spriteFont.MeasureString(text).X / 2) * Scale.X; var y = (rectangle.Y + (rectangle.Height / 2)) - (spriteFont.MeasureString(text).Y / 2) * Scale.Y; newPositon = new Vector2(x, y); } // mid rigth else if (EOriginPosition.MidRight == originPositionEnum) { var x = (rectangle.X + (rectangle.Width / 1)) - (spriteFont.MeasureString(text).X / 1) * Scale.X; var y = (rectangle.Y + (rectangle.Height / 2)) - (spriteFont.MeasureString(text).Y / 2) * Scale.Y; newPositon = new Vector2(x, y); } // --- Bottom --- // bottom left else if (EOriginPosition.BottomLeft == originPositionEnum) { var x = rectangle.X; var y = (rectangle.Y + (rectangle.Height / 1)) - (spriteFont.MeasureString(text).Y / 1) * Scale.Y; newPositon = new Vector2(x, y); } // bottom mid else if (EOriginPosition.BottomMid == originPositionEnum) { var x = (rectangle.X + (rectangle.Width / 2)) - (spriteFont.MeasureString(text).X / 2) * Scale.X; var y = (rectangle.Y + (rectangle.Height / 1)) - (spriteFont.MeasureString(text).Y / 1) * Scale.Y; newPositon = new Vector2(x, y); } // bottom rigth else if (EOriginPosition.BottomRight == originPositionEnum) { var x = (rectangle.X + (rectangle.Width / 1)) - (spriteFont.MeasureString(text).X / 1) * Scale.X; var y = (rectangle.Y + (rectangle.Height / 1)) - (spriteFont.MeasureString(text).Y / 1) * Scale.Y; newPositon = new Vector2(x, y); } }
public GUIImage(CSpriteRenderer spriteRenderer, bool isWorldUI, bool blockUI, Color?color = null, EOriginPosition originPositionEnum = EOriginPosition.TopLeft, float layerDepth = 0) { this.SpriteRenderer = spriteRenderer; this.IsWorldUI = isWorldUI; this.BlockGUI = blockUI; this.SpriteRenderer.Color = color ?? Color.White; this.SpriteRenderer.OriginPositionEnum = originPositionEnum; this.SpriteRenderer.LayerDepth = layerDepth; }