コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

【Unity】【uGUI】RectTransform のピボットの設定を楽にする拡張メソッド

はじめに

var t = self.GetComponent<RectTransform>();

var pivot= t.pivot;
pivot= new Vector2( 0, 1 );
t.pivot= pivot;

RectTransform のピボットを設定する記述が少し冗長に感じたので
わかりやすくするための拡張メソッドを作成しました

ソースコード

using UnityEngine;

/// <summary>
/// RectTransform 型の拡張メソッドを管理するクラス
/// </summary>
public static class RectTransformExt
{
    /// <summary>
    /// pivot.x を設定します
    /// </summary>
    public static void SetPivotX( this RectTransform self, float x )
    {
        var size = self.pivot;
        size.x = x;
        self.pivot = size;
    }
    
    /// <summary>
    /// pivot.y を設定します
    /// </summary>
    public static void SetPivotY( this RectTransform self, float y )
    {
        var size = self.pivot;
        size.y = y;
        self.pivot = size;
    }
    
    /// <summary>
    /// pivot を設定します
    /// </summary>
    public static void SetPivot( this RectTransform self, float x, float y )
    {
        self.pivot = new Vector2( x, y );
    }
}

使い方

var t = self.GetComponent<RectTransform>();

t.SetPivotX( 0 );
t.SetPivotY( 1 );
t.SetPivot( 0, 1 );

関連記事