public sealed override void Initialize() { Handler = GameObject.GetComponent <GUIHandler>(GameObjectComponentSearchMode.ParentalHierarchy); RenderLayer = -1; this.interactionGraphics = new GUIInteractionColors(); this.shape = new CustomShape(Render); InteractionState = GUIComponentInteractionState.None; Width = 1; Height = 1; AdditionalInitialize(); }
private Texture FindStateTexture(GUIComponentInteractionState state) { switch (state) { case GUIComponentInteractionState.None: return(DefaultState); case GUIComponentInteractionState.Hovered: return(HoveredState); case GUIComponentInteractionState.Clicked: return(ClickedState); default: throw new ArgumentOutOfRangeException(nameof(state), state, null); } }
internal abstract void Render(int renderLayer, Renderer renderer, float x, float y, float width, float height, GUIComponentInteractionState state);
internal override void Render(int renderLayer, Renderer renderer, float x, float y, float width, float height, GUIComponentInteractionState state) { renderer.DrawTexture(renderLayer, FindStateTexture(state).Image, x, y, width, height); }
internal override void Render(int renderLayer, Renderer renderer, float x, float y, float width, float height, GUIComponentInteractionState state) { //renderer.FillCircle(renderLayer - 1, Color.Red, 0, 0, 1); renderer.FillRectangle(renderLayer, FindStateColor(state), x, y, width, height); }