Beispiel #1
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);
 }
Beispiel #2
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);
     }
 }
Beispiel #3
0
 protected void ReactionSkillGUI()
 {
     s.reactionSkill = EditorGUILayout.Toggle(
         "Reaction Skill",
         s.reactionSkill
         );
     if (s.reactionSkill)
     {
         GUILayout.Label("Reaction Triggers");
         EditorGUILayout.HelpBox(
             "e.g. \"applied loses health\"",
             MessageType.Info
             );
         s.reactionStatChangesApplied = EditorGUIExt.StatChangeFoldout(
             "Stat Change (Applied)",
             s.reactionStatChangesApplied,
             ref showReactionStatChangesApplied
             );
         EditorGUILayout.HelpBox(
             "e.g. \"applied is hit by geomancy\"",
             MessageType.Info
             );
         s.reactionTypesApplied = EditorGUIExt.ArrayFoldout(
             "Reactable Type (Applied)",
             s.reactionTypesApplied,
             ref showReactionTypesApplied,
             false,
             -1,
             "attack"
             );
         EditorGUILayout.HelpBox(
             "e.g. \"applier loses MP\"",
             MessageType.Info
             );
         s.reactionStatChangesApplier = EditorGUIExt.StatChangeFoldout(
             "Stat Change (Applier)",
             s.reactionStatChangesApplier,
             ref showReactionStatChangesApplier
             );
         EditorGUILayout.HelpBox(
             "e.g. \"applier receives vampirism bonus\"",
             MessageType.Info
             );
         s.reactionTypesApplier = EditorGUIExt.ArrayFoldout(
             "Reactable Type (Applier)",
             s.reactionTypesApplier,
             ref showReactionTypesApplier,
             false,
             -1,
             "attack"
             );
         //reaction region
         //reaction effects
         s.reactionTargetRegion = EditorGUIExt.RegionGUI(
             "Reaction Target",
             s.name + ".reaction",
             s.reactionTargetRegion,
             formulaOptions,
             lastFocusedControl,
             Screen.width - 32
             );
         s.reactionEffectRegion = EditorGUIExt.RegionGUI(
             "Reaction Effect",
             s.name + ".reaction",
             s.reactionEffectRegion,
             formulaOptions,
             lastFocusedControl,
             Screen.width - 32
             );
         s.reactionApplicationEffects = EditorGUIExt.StatEffectGroupGUI(
             "Per-Reaction Effect",
             s.reactionApplicationEffects,
             StatEffectContext.Action,
             "" + s.GetInstanceID(),
             formulaOptions,
             lastFocusedControl
             );
         s.reactionEffects = EditorGUIExt.StatEffectGroupsGUI(
             "Per-Target Effect Group",
             s.reactionEffects,
             StatEffectContext.Action,
             "" + s.GetInstanceID(),
             formulaOptions,
             lastFocusedControl
             );
         EditorGUILayout.Space();
     }
 }