using System;
using UnityEditor;
using UnityEngine;
[CustomEditor(typeof (PropertiesModul))]
public class EditorPropertiesModul : Editor
{
PropertiesModul propertiesModul;
private Texture iconGhost_off,iconGhost_on;
private Texture iconMontah_off,iconMontah_on;
private void OnEnable(){
propertiesModul = (PropertiesModul)target;
iconGhost_off=Resources.Load("Editor/PropertiesModul/iconGhost_off") as Texture;
iconGhost_on=Resources.Load("Editor/PropertiesModul/iconGhost_on") as Texture;
iconMontah_off=Resources.Load("Editor/PropertiesModul/iconMontah_off") as Texture;
iconMontah_on=Resources.Load("Editor/PropertiesModul/iconMontah_on") as Texture;
}
public override void OnInspectorGUI(){
serializedObject.Update();
EditorGUILayout.BeginHorizontal(EditorStyles.helpBox);
EditorGUILayout.BeginVertical(EditorStyles.helpBox);
EditorGUILayout.LabelField("Ghost",GUILayout.Width(32));
if(propertiesModul.isGhost){
GUI.DrawTexture(GUILayoutUtility.GetRect(16, 16),iconGhost_on,ScaleMode.ScaleToFit);
}else{
GUI.DrawTexture(GUILayoutUtility.GetRect(16, 16),iconGhost_off,ScaleMode.ScaleToFit);
}
EditorGUILayout.EndVertical();
EditorGUILayout.BeginVertical(EditorStyles.helpBox);
EditorGUILayout.LabelField("Montah",GUILayout.Width(32));
if(!propertiesModul.montah){
GUI.DrawTexture(GUILayoutUtility.GetRect(16, 16),iconMontah_off,ScaleMode.ScaleToFit);
}else{
GUI.DrawTexture(GUILayoutUtility.GetRect(16, 16),iconMontah_on,ScaleMode.ScaleToFit);
}
EditorGUILayout.EndVertical();
EditorGUILayout.EndHorizontal();
EditorGUILayout.BeginVertical(EditorStyles.helpBox);
propertiesModul.name = EditorGUILayout.TextField("Name",propertiesModul.name);
propertiesModul.icon = EditorGUILayout.ObjectField("Icon",propertiesModul.icon,typeof(Sprite), true) as Sprite;
propertiesModul.tModul = (PropertiesModul.TupeModul)EditorGUILayout.EnumPopup("TupeModul:", propertiesModul.tModul);
EditorGUILayout.EndVertical();
EditorGUILayout.BeginVertical(EditorStyles.helpBox);
propertiesModul.maskCollision = EditorGUILayout.LayerField("maskCollision:",propertiesModul.maskCollision);
EditorGUILayout.EndVertical();
if(propertiesModul.tModul==PropertiesModul.TupeModul.Component){
EditorGUILayout.BeginVertical(EditorStyles.helpBox);
propertiesModul.childer = EditorGUILayout.ObjectField("Childer",propertiesModul.childer,typeof(GameObject), true) as GameObject;
EditorGUILayout.EndVertical();
}else if(propertiesModul.tModul==PropertiesModul.TupeModul.Accessory){
EditorGUILayout.BeginVertical(EditorStyles.helpBox);
propertiesModul.maskRay = EditorGUILayout.LayerField("maskRay:", propertiesModul.maskRay);
propertiesModul.mount = EditorGUILayout.TextField("Mount",propertiesModul.mount);
propertiesModul.isRotate = EditorGUILayout.Toggle("isRotate?",propertiesModul.isRotate);
propertiesModul.isSticks = EditorGUILayout.Toggle("isSticks?",propertiesModul.isSticks);
EditorGUILayout.EndVertical();
}
EditorGUILayout.BeginVertical(EditorStyles.helpBox);
EditorGUILayout.LabelField("GhostChilders",GUILayout.Width(32));
EditorGUILayout.PropertyField(serializedObject.FindProperty("GhostChilders").FindPropertyRelative("Array.size"));
for (byte i=0;i<propertiesModul.GhostChilders.Length;i++) {
EditorGUILayout.BeginVertical(EditorStyles.helpBox);
propertiesModul.GhostChilders[i] = EditorGUILayout.ObjectField(propertiesModul.GhostChilders[i], typeof(GameObject), true) as GameObject;
EditorGUILayout.EndVertical();
}
EditorGUILayout.EndVertical();
serializedObject.ApplyModifiedProperties();
}
}