コガネブログ

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

【Unity】Inspector でパラメータを信号機のアイコンで表示できるエディタ拡張「TrafficLightAttribute」紹介

はじめに

https://gist.github.com/LotteMakesStuff/7fa131b0402ffb50a9e617c0d45ffa59

「TrafficLightAttribute」を Unity プロジェクトに導入することで
Inspector でパラメータを信号機のアイコンで表示できるようになります

使用例

f:id:baba_s:20171227172829g:plain

使い方

using UnityEngine;

public class GameManager : MonoBehaviour
{
    public enum TurnPhase
    {
        WaitingForMyTurn,
        DrawPhase,
        ActionPhase,
    }

    [SingleTrafficLight( LightColor.Pink, DrawLabel = true )]
    public bool HasMatchStarted;

    [QuadTrafficLight( LightColor.Red, LightColor.Red, LightColor.Red, LightColor.Green, DrawLabel = true, FillLights = true )]
    public int GameStartCountdown = -1;

    [TripleTrafficLight( AlsoDrawDefault = true, DrawLabel = true )]
    public TurnPhase MyTurnPhase;

    [SingleTrafficLight]
    public bool SwitchingSides;

    [TripleTrafficLight( AlsoDrawDefault = true, DrawLabel = true )]
    public TurnPhase EnemyTurnPhase;

    [DoubleTrafficLight( LightColor.Blue, LightColor.Blue, CustomLabel = "Net Data [in][out]" )]
    public Vector2 data;
}

上記のスクリプトのように下記のいずれかの属性を使用します

  • SingleTrafficLight
  • DoubleTrafficLight
  • TripleTrafficLight
  • QuadTrafficLight

関連記事