概要
2015/8/3 に「TypeSafe」がリリースされました
「TypeSafe」を導入すると、
シーンやタグ、レイヤー、リソース、インプットなどの名前を定数で管理できるようになります
検証環境
- Unity 2017.1.1f1
- TypeSafe 1.3.2
使い方
「TypeSafe」を導入して上記のダイアログが表示されたら
「Start Scan」ボタンを押します
すると、「Assets/TypeSafe/usr」フォルダに
- Animator
- Audio Mixer
- Input
- LayerMask
- Layer
- Resource
- Scene
- Sorting Layer
- Tag
これらの名前を定数で管理するスクリプトが生成されます
Input や Resource、Scene などは便利なプロパティや関数も自動で定義されます
下記に生成されたスクリプトの使用例を記載します
生成されたスクリプトの使用例
Input
var axis = Input.GetAxis( SRInput.Horizontal );
var isUp = SRInput.Horizontal.Up;
var isDown = SRInput.Horizontal.Down;
var isPressed = SRInput.Horizontal.IsPressed;
var rawValue = SRInput.Horizontal.RawValue;
var value = SRInput.Horizontal.Value;
LayerMask
var isHit = Physics.Raycast( ray, maxDistance, SRLayerMask.UI );
Layer
var isHit = Physics.Raycast( ray, maxDistance, SRLayers.UI.mask ); gameObject.layer = SRLayers.UI.index; Debug.Log( SRLayers.UI.name );
Resource
var prefab1 = Resources.Load<GameObject>( SRResources.Cube.Path );
var prefab2 = SRResources.Cube.Load();
var request = SRResources.Cube.LoadAsync();
var isLoaded = SRResources.Cube.IsLoaded;
SRResources.Cube.Unload();
// プレハブの場合 Instantiate 関数が使用可能
var clone1 = SRResources.Cube.Instantiate();
var clone2 = SRResources.Cube.Instantiate( parent );
Scene
SceneManager.LoadScene( SRScenes.Example ); SRScenes.Example.Load(); SRScenes.Example.LoadAdditive(); var operation1 = SRScenes.Example.LoadAsync(); var operation2 = SRScenes.Example.LoadAdditiveAsync();
Sorting Layer
canvas.sortingLayerID = SRSortingLayers.Foreground; canvas.sortingLayerName = SRSortingLayers.Foreground;
Tag
gameObject.tag = SRTags.Player;
定数の更新方法
シーンやタグなどに変更があった時に定数は自動で更新されます
Unity メニューの「Assets>TypeSafe Refresh」で更新することも可能です
設定
Unity メニューの「Window>TypeSafe>Open Settings」から設定画面を開くことができます
General
大項目 | 小項目 | 内容 |
---|---|---|
Automation | Rebuild Automatically | 定数を自動で生成するかどうか |
Minimum Build Time | Automatic Rebuild Delay | ? |
Triggers | チェックされたデータが変更された時に 定数を自動で生成する |
Name Scheme
定数を管理するクラスの名前空間や
クラス名のプリフィックス、サフィックスを設定できます
Advanced
大項目 | 小項目 | 内容 |
---|---|---|
Output Directory | 定数を管理するスクリプトの出力先 | |
Disabled Scenes | Include Disabled Scenes | 無効化しているシーンの定数を作成するかどうか |
Toggle Data Sources | 定数を管理しないデータはチェックを外す |