コード例 #1
0
ファイル: SkillEditor.cs プロジェクト: JoeOsborn/SRPGCK
 public override void OnSRPGCKInspectorGUI()
 {
     //treat poorly-defined as equivalent to null for UI purposes
     s.def = EditorGUIExt.PickAssetGUI <SkillDef>(
         "Skill Definition",
         s.def
         );
 }
コード例 #2
0
 protected virtual void EffectSkillGUI()
 {
     atk.involvedItem = EditorGUIExt.PickAssetGUI <Item>("Involved Item", atk.involvedItem);
     if (Formula.NotNullFormula(atk.delay) &&
         !(atk.delay.formulaType == FormulaType.Constant &&
           atk.delay.constantValue == 0))
     {
         atk.scheduledEffects = EditorGUIExt.StatEffectGroupGUI("On-Scheduled Effect", atk.scheduledEffects, StatEffectContext.Action, "" + atk.GetInstanceID(), formulaOptions, lastFocusedControl);
     }
     atk.applicationEffects = EditorGUIExt.StatEffectGroupGUI("Per-Application Effect", atk.applicationEffects, StatEffectContext.Action, "" + atk.GetInstanceID(), formulaOptions, lastFocusedControl);
     atk.targetEffects      = EditorGUIExt.StatEffectGroupsGUI("Application Effect Group", atk.targetEffects, StatEffectContext.Action, "" + atk.GetInstanceID(), formulaOptions, lastFocusedControl);
 }
コード例 #3
0
 public override void OnSRPGCKInspectorGUI()
 {
     BasicSkillGUI();
     EditorGUILayout.Space();
     atk.io = EditorGUIExt.PickAssetGUI <SkillIO>("I/O", atk.io);
     EditorGUILayout.Space();
     TargetedSkillGUI();
     EditorGUILayout.Space();
     EffectSkillGUI();
     EditorGUILayout.Space();
     ReactionSkillGUI();
     EditorGUILayout.Space();
 }
コード例 #4
0
 public override void OnSRPGCKInspectorGUI()
 {
     settings.defaultFormulae = EditorGUIExt.PickAssetGUI <Formulae>(
         "Default Formulae",
         settings.defaultFormulae
         );
     settings.defaultMoveIO = EditorGUIExt.PickAssetGUI <SkillIO>(
         "Default Move I/O",
         settings.defaultMoveIO
         );
     settings.defaultActionIO = EditorGUIExt.PickAssetGUI <SkillIO>(
         "Default Action I/O",
         settings.defaultActionIO
         );
 }
コード例 #5
0
 public override void OnSRPGCKInspectorGUI()
 {
     //normal skill
     BasicSkillGUI();
     EditorGUILayout.Space();
     ms.io = EditorGUIExt.PickAssetGUI <SkillIO>("I/O", ms.io);
     EditorGUILayout.Space();
     //move skill stuff
     MoveSkillGUI();
     EditorGUILayout.Space();
     //io and targeting
     TargetedSkillGUI();
     EditorGUILayout.Space();
     //reaction skill
     ReactionSkillGUI();
 }
コード例 #6
0
 public override void OnSRPGCKInspectorGUI()
 {
     BasicSkillGUI();
     EditorGUILayout.Space();
     if ((patk.mergeIO = MergeChoiceGUI("I/O", patk.mergeIO)) != MergeMode.UseOriginal)
     {
         if (atk._io == null)
         {
             atk._io = ScriptableObject.CreateInstance <SkillIO>();
         }
         atk._io = EditorGUIExt.PickAssetGUI <SkillIO>("I/O", atk._io);
     }
     EditorGUILayout.Space();
     TargetedSkillGUI();
     EditorGUILayout.Space();
     EffectSkillGUI();
     EditorGUILayout.Space();
 }
コード例 #7
0
 protected override void EffectSkillGUI()
 {
     if ((patk.mergeInvolvedItem = MergeChoiceGUI("Involved Item", patk.mergeInvolvedItem)) != MergeMode.UseOriginal)
     {
         atk.involvedItem = EditorGUIExt.PickAssetGUI <Item>("Involved Item", atk.involvedItem);
     }
     if ((patk.mergeScheduledEffects = MergeListChoiceGUI("On-Scheduled Effects", patk.mergeScheduledEffects)) != MergeModeList.UseOriginal)
     {
         atk.scheduledEffects = EditorGUIExt.StatEffectGroupGUI("On-Scheduled Effect", atk.scheduledEffects, StatEffectContext.Action, "" + atk.GetInstanceID(), formulaOptions, lastFocusedControl);
     }
     if ((patk.mergeApplicationEffects = MergeListChoiceGUI("Per-Application Effects", patk.mergeApplicationEffects)) != MergeModeList.UseOriginal)
     {
         atk.applicationEffects = EditorGUIExt.StatEffectGroupGUI("Per-Application Effect", atk.applicationEffects, StatEffectContext.Action, "" + atk.GetInstanceID(), formulaOptions, lastFocusedControl);
     }
     if ((patk.mergeTargetEffects = MergeListChoiceGUI("Per-Target Effects", patk.mergeTargetEffects)) != MergeModeList.UseOriginal)
     {
         atk.targetEffects = EditorGUIExt.StatEffectGroupsGUI("Application Effect Group", atk.targetEffects, StatEffectContext.Action, "" + atk.GetInstanceID(), formulaOptions, lastFocusedControl);
     }
 }
コード例 #8
0
    protected override void BasicSkillGUI()
    {
        CoreSkillGUI();
        patk.referredSkill = EditorGUIExt.PickAssetGUI <ActionSkillDef>("Referred Skill", patk.referredSkill);
        if (patk.referredSkill == null)
        {
            patk.referredSkillName  = EditorGUILayout.TextField("Referred Name", patk.referredSkillName);
            patk.referredSkillGroup = EditorGUILayout.TextField("Referred Group", patk.referredSkillGroup ?? "");
        }

        if ((patk.mergeIsEnabledF = MergeChoiceGUI("IsEnabled", patk.mergeIsEnabledF)) != MergeMode.UseOriginal)
        {
            s.isEnabledF = EditorGUIExt.FormulaField(
                "Is Enabled",
                s.isEnabledF,
                s.skillName + ".isEnabledF",
                formulaOptions,
                lastFocusedControl
                );
        }
        s.replacesSkill = EditorGUILayout.
                          Toggle("Replaces Skill", s.replacesSkill);
        if (s.replacesSkill)
        {
            s.replacedSkill = EditorGUILayout.
                              TextField("Skill", s.replacedSkill).NormalizeName();
            s.replacementPriority = EditorGUILayout.
                                    IntField("Priority", s.replacementPriority);
            s.requiresReplacement = EditorGUILayout.
                                    Toggle("Requires Replacement", s.requiresReplacement);
        }

        if (!s.isPassive)
        {
            s.deactivatesOnApplication = EditorGUILayout.
                                         Toggle("Deactivates After Use", s.deactivatesOnApplication);
        }

        EditorGUILayout.Space();
        if ((patk.mergeParameters = MergeListChoiceGUI("Parameters", patk.mergeParameters)) != MergeModeList.UseOriginal)
        {
            s.parameters = EditorGUIExt.ParameterFoldout(
                "Parameter",
                s.parameters,
                "" + s.GetInstanceID(),
                formulaOptions,
                lastFocusedControl,
                ref showParameters
                );
        }
        EditorGUILayout.Space();

        if ((patk.mergePassiveEffects = MergeListChoiceGUI("Passive Effects", patk.mergePassiveEffects)) != MergeModeList.UseOriginal)
        {
            s.passiveEffects = EditorGUIExt.StatEffectFoldout(
                "Passive Effect",
                s.passiveEffects,
                StatEffectContext.Normal,
                "" + s.GetInstanceID(),
                formulaOptions,
                lastFocusedControl,
                ref showPassiveEffects
                );
        }
    }