public override void OnGUI(object asset)
        {
            PositionAOEStatEffectAsset effectAsset = asset as PositionAOEStatEffectAsset;

            GUILayout.BeginHorizontal();
            GUILayout.Label("Source Stat Type", GUILayout.Width(150));
            var baseStatType = RPGStatTypeDatabase.Instance.Get(effectAsset.StatBase, true);

            if (GUILayout.Button(baseStatType == null ? "Assign Type" : baseStatType.Name, EditorStyles.toolbarButton, GUILayout.Width(100)))
            {
                XmlDatabaseEditorUtility.ShowContext(RPGStatTypeDatabase.Instance, (statTypeAsset) => {
                    effectAsset.StatBase = statTypeAsset.Id;
                }, typeof(RPGStatTypeWindow));
            }
            GUILayout.EndHorizontal();

            GUILayout.BeginHorizontal();
            GUILayout.Label("Target Stat Name", GUILayout.Width(150));
            var targetStatType = RPGStatTypeDatabase.Instance.Get(effectAsset.TargetStat, true);

            if (GUILayout.Button(targetStatType == null ? "Assign Type" : targetStatType.Name, EditorStyles.toolbarButton, GUILayout.Width(100)))
            {
                XmlDatabaseEditorUtility.ShowContext(RPGStatTypeDatabase.Instance, (statTypeAsset) => {
                    effectAsset.TargetStat = statTypeAsset.Id;
                }, typeof(RPGStatTypeWindow));
            }
            GUILayout.EndHorizontal();

            GUILayout.BeginHorizontal();
            GUILayout.Label("Base Value", GUILayout.Width(150));
            effectAsset.FlatValue = EditorGUILayout.IntField(effectAsset.FlatValue);
            GUILayout.EndHorizontal();

            GUILayout.BeginHorizontal();
            GUILayout.Label("Modifier", GUILayout.Width(150));
            effectAsset.Modifier = EditorGUILayout.FloatField(effectAsset.Modifier);
            GUILayout.EndHorizontal();

            GUILayout.Space(10);

            GUILayout.BeginHorizontal();
            effectAsset.IncludeSelf = GUILayout.Toggle(effectAsset.IncludeSelf, "Include Self ", GUILayout.Width(150));
            GUILayout.EndHorizontal();

            GUILayout.BeginHorizontal();
            GUILayout.Label("Target Type", GUILayout.Width(150));
            effectAsset.TargetType = (int)(PerceptionTags)(EditorGUILayout.EnumFlagsField((PerceptionTags)effectAsset.TargetType));
            GUILayout.EndHorizontal();

            GUILayout.BeginHorizontal();
            GUILayout.Label("Radius", GUILayout.Width(150));
            effectAsset.Radius = EditorGUILayout.FloatField(effectAsset.Radius);
            GUILayout.EndHorizontal();
        }
Ejemplo n.º 2
0
        public override void OnGUI(object asset)
        {
            PositionAOEStatEffectAsset effectAsset = asset as PositionAOEStatEffectAsset;

            GUILayout.BeginHorizontal();
            GUILayout.Label("Source Stat Name", GUILayout.Width(150));
            effectAsset.StatBase = EditorGUILayout.TextField(effectAsset.StatBase);
            GUILayout.EndHorizontal();

            GUILayout.BeginHorizontal();
            GUILayout.Label("Target Stat Name", GUILayout.Width(150));
            effectAsset.TargetStat = EditorGUILayout.TextField(effectAsset.TargetStat);
            GUILayout.EndHorizontal();

            GUILayout.BeginHorizontal();
            GUILayout.Label("Base Value", GUILayout.Width(150));
            effectAsset.FlatValue = EditorGUILayout.IntField(effectAsset.FlatValue);
            GUILayout.EndHorizontal();

            GUILayout.BeginHorizontal();
            GUILayout.Label("Modifier", GUILayout.Width(150));
            effectAsset.Modifier = EditorGUILayout.FloatField(effectAsset.Modifier);
            GUILayout.EndHorizontal();

            GUILayout.Space(10);

            GUILayout.BeginHorizontal();
            effectAsset.IncludeSelf = GUILayout.Toggle(effectAsset.IncludeSelf, "Include Self ", GUILayout.Width(150));
            GUILayout.EndHorizontal();

            GUILayout.BeginHorizontal();
            GUILayout.Label("Target Type", GUILayout.Width(150));
            effectAsset.TargetType = (int)(PerceptionTags)(EditorGUILayout.EnumFlagsField((PerceptionTags)effectAsset.TargetType));
            GUILayout.EndHorizontal();

            GUILayout.BeginHorizontal();
            GUILayout.Label("Radius", GUILayout.Width(150));
            effectAsset.Radius = EditorGUILayout.FloatField(effectAsset.Radius);
            GUILayout.EndHorizontal();
        }