07 «1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.» 09

ハルシオンシステムの気ままBlog

株式会社ハルシオンシステムのメンバーが送る、UnityやらJavaやらの技術的話題から、自社開発のアプリの宣伝とかとかのブログです。ほんと気ままにいきたいと思います。更新日は毎週 月 木でっす!

 

昨日ベーマガのイベントいってきたんよ。おもろかったんよ。んで、エディタ拡張初心者編2巻なんよ。 

こんにちは!坂内っす。

昨日はベーマガのイベントいってきたんですよ。
ベーマガしってます?
マイコンBASICマガジンっていう雑誌なんですけどね。
これこれ ↓
http://basicmagazine.wix.com/aabm

いやー 面白かった!普段は全然こういうイベントとか行かないんですけどね、「PC=高価なゲーム機」って感じで中学校の時から触ってたので、すごい懐かしい感じ一杯でした。
9割以上がおっさんというイベントでしたが、面白いトークが聞けて良かったっすよ。


ってことで、よーし!エディタ拡張2回目!

今日も初心者っぽいのをやってくよ!

前回はint、string、enumの値をInspectorで入れる時にラベルでわかりやすくするってことやりましたけど、今回も引き続き、ラベルで見やすくする編。

今回はスライドバーでintの範囲を決めさせたり、boolのチェックボックスとかも置いたりしてみました。

Step1.cs
using UnityEngine;
using UnityEngine.UI;
using System.Collections;

public class Step1 : MonoBehaviour {
public int testNo;
public string testName;
public enum USE_COLOR {
RED,
BLUE,
GREEN,
WHITE,
};
public bool bossFlg;
public int enemyHP;
public Vector2 initPosition;
public Color enemyColor;

public USE_COLOR useColor;

public Text txtNo;
public Text txtName;
void Start() {
txtNo.text = testNo.ToString();
txtName.text = testName;
}
}


Step1Editor.cs
using UnityEngine;
using UnityEditor;

[CustomEditor(typeof(Step1))]
public class Step1Editor : Editor{
public override void OnInspectorGUI() {
var obj = target as Step1;
EditorGUILayout.ObjectField("クラス",(Step1)obj,typeof(Step1),true);
obj.testNo = EditorGUILayout.IntField("なにかのNO", obj.testNo);
obj.testName = EditorGUILayout.TextField("なにかの名前", obj.testName);
obj.useColor = (Step1.USE_COLOR)EditorGUILayout.EnumPopup("使用する色",obj.useColor);
obj.txtNo = (UnityEngine.UI.Text)EditorGUILayout.ObjectField("UI-ナンバー", obj.txtNo,
typeof(UnityEngine.UI.Text), true);
obj.txtName = (UnityEngine.UI.Text)EditorGUILayout.ObjectField("UI-名前", obj.txtName,
typeof(UnityEngine.UI.Text), true);
EditorGUILayout.Separator();
EditorGUILayout.LabelField("敵情報");
obj.bossFlg = EditorGUILayout.Toggle("ボス", obj.bossFlg);
obj.enemyHP = EditorGUILayout.IntSlider("敵のHP",obj.enemyHP,0,10000);
obj.initPosition = EditorGUILayout.Vector2Field("敵の初期位置", obj.initPosition);
obj.enemyColor = EditorGUILayout.ColorField("敵の色",obj.enemyColor);
}
}


って感じにすると、こうなります。


まだ凄さが分からない!エディタ拡張の神髄はどこにあるの!
また来週勉強してみます!

ではアデュ~ノシ
スポンサーサイト

Category: 開発日記(Unity)

tb 0 : cm 0   

コメント

コメントの投稿

Secret

トラックバック

トラックバックURL
→http://halcyonsystemblog.blog.fc2.com/tb.php/255-44232109
この記事にトラックバックする(FC2ブログユーザー)