A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://docs.unity3d.com/Packages/com.unity.ugui@1.0/api/UnityEngine.UI.ILayoutSelfController.html below:

Interface ILayoutSelfController

ILayoutSelfController is an ILayoutController that should drive its own RectTransform.

Namespace: UnityEngine.UI Assembly: UnityEngine.UI.dll Syntax
public interface ILayoutSelfController : ILayoutController
Examples
//This script shows how the GameObject’s own RectTransforms can be changed.
//This creates a rectangle on the screen of the scale, positition and rotation you define in the Inspector.
//Make sure to set the X and Y scale to be more than 0 to see it

using UnityEngine;
using UnityEngine.UI;
using UnityEngine.EventSystems;

public class Example : UIBehaviour, ILayoutSelfController
{
    //Fields in the inspector used to manipulate the RectTransform
    public Vector3 m_Position;
    public Vector3 m_Rotation;
    public Vector2 m_Scale;

    //This handles horizontal aspects of the layout (derived from ILayoutController)
    public virtual void SetLayoutHorizontal()
    {
        //Move and Rotate the RectTransform appropriately
        UpdateRectTransform();
    }

    //This handles vertical aspects of the layout
    public virtual void SetLayoutVertical()
    {
        //Move and Rotate the RectTransform appropriately
        UpdateRectTransform();
    }

    //This tells when there is a change in the inspector
    #if UNITY_EDITOR
    protected override void OnValidate()
    {
        Debug.Log("Validate");
        //Update the RectTransform position, rotation and scale
        UpdateRectTransform();
    }

    #endif

    //This tells when there has been a change to the RectTransform's settings in the inspector
    protected override void OnRectTransformDimensionsChange()
    {
        //Update the RectTransform position, rotation and scale
        UpdateRectTransform();
    }

    void UpdateRectTransform()
    {
        //Fetch the RectTransform from the GameObject
        RectTransform rectTransform = GetComponent<RectTransform>();

        //Change the scale of the RectTransform using the fields in the inspector
        rectTransform.localScale = new Vector3(m_Scale.x, m_Scale.y, 0);

        //Change the position and rotation of the RectTransform
        rectTransform.SetPositionAndRotation(m_Position, Quaternion.Euler(m_Rotation));
    }
}

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4