Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System.Collections.Generic;
- using UnityEngine;
- public class CrewMemberBehaviour : MonoBehaviour
- {
- //will show in the inspector
- public CrewMemberType.MemberEnum selectedMember;
- }
- #if UNITY_EDITOR
- [UnityEditor.CustomEditor(typeof(CrewMemberBehaviour))]
- public class CrewMemberBehaviourEditor : UnityEditor.Editor
- {
- private CrewMemberBehaviour tar;
- private void OnEnable() => tar = target as CrewMemberBehaviour;
- public override void OnInspectorGUI()
- {
- DrawDefaultInspector();
- UnityEditor.EditorGUILayout.LabelField(CrewMemberType.cwDict[tar.selectedMember].ID);
- UnityEditor.EditorGUILayout.LabelField(CrewMemberType.cwDict[tar.selectedMember].name);
- UnityEditor.EditorGUILayout.LabelField(CrewMemberType.cwDict[tar.selectedMember].isHappy ? "true" : "false");
- UnityEditor.EditorGUILayout.LabelField(CrewMemberType.cwDict[tar.selectedMember].isSad ? "true" : "false");
- }
- }
- [UnityEditor.InitializeOnLoad]
- #endif
- [System.Serializable]
- public class CrewMemberType
- {
- [System.Serializable]
- public enum MemberEnum
- {
- Capt, Cook, Prisoner
- }
- static CrewMemberType() // static constructor, for InitializeOnLoad also runs at runtime in build versions
- {
- Debug.Log("CrewMemberType Static Ctor: building CrewMemberType Collection");
- cwDict = new Dictionary<MemberEnum, CrewMemberType>();
- cwDict.Add(MemberEnum.Capt, new CrewMemberType("ARRRR", "Matey", true, true));
- cwDict.Add(MemberEnum.Cook, new CrewMemberType("Yumm", "Yumm", true, false));
- cwDict.Add(MemberEnum.Prisoner, new CrewMemberType("HelpMe", "plz", false, true));
- }
- public static Dictionary<MemberEnum, CrewMemberType> cwDict;
- [HideInInspector] public string ID;
- [HideInInspector] public string name;
- [HideInInspector] public bool isHappy;
- [HideInInspector] public bool isSad;
- public CrewMemberType(string id, string name, bool isHappy, bool isSad)
- {
- ID = id;
- this.name = name;
- this.isHappy = isHappy;
- this.isSad = isSad;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement