internal override bool DrawEntry(Egomotion.EgoXproject.Internal.PListDictionary dic) { EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField(dic.StringValue(SETTING_KEY)); EditorGUILayout.LabelField(dic.StringValue(NAME_KEY)); var type = dic.StringValue(TYPE_KEY); if (type == BOOL_TYPE_VALUE) { var value = dic.BoolValue(VALUE_KEY); EditorGUILayout.LabelField(value ? "Yes" : "No"); } else if (type == STRING_TYPE_VALUE) { var value = dic.StringValue(VALUE_KEY); EditorGUILayout.LabelField(value); } else if (type == INTEGER_TYPE_VALUE) { var value = dic.IntValue(VALUE_KEY); EditorGUILayout.LabelField(value.ToString()); } else if (type == REAL_TYPE_VALUE) { var value = dic.FloatValue(VALUE_KEY); EditorGUILayout.LabelField(value.ToString()); } else if (type == ARRAY_TYPE_VALUE) { //TODO should also be able to draw a defaul array entries EditorGUILayout.LabelField("Array"); } else if (type == DICTIONARY_TYPE_VALUE) { //TODO should also be able to draw a defaul array entries EditorGUILayout.LabelField("Dictionary"); } else { EditorGUILayout.LabelField("UNKNOWN"); } bool remove = false;; if (GUILayout.Button("-")) { remove = true; } EditorGUILayout.EndHorizontal(); return(remove); }
void AddEnum(PListDictionary dic) { string settingName, displayName, group; ExtractCommon(dic, out settingName, out displayName, out group); var valueDic = dic.DictionaryValue(VALUE_KEY); if (valueDic != null) { List <string> enumValues = new List <string>(); List <string> enumNames = new List <string>(); int defaultIndex = dic.IntValue(DEFAULT_INDEX); foreach (var key in valueDic.Keys) { enumValues.Add(key); enumNames.Add(valueDic.StringValue(key)); } _settings[settingName] = new EnumBuildSetting(settingName, displayName, group, enumValues.ToArray(), enumNames.ToArray(), defaultIndex); } }