예제 #1
0
        public override void Run(RunPayload payload)
        {
            Main.LogDebug("[EndCombatTrigger] Setting up trigger");
            EncounterLayerData   encounterData = MissionControl.Instance.EncounterLayerData;
            SmartTriggerResponse trigger       = new SmartTriggerResponse();

            trigger.inputMessage   = onMessage;
            trigger.designName     = $"End combat on '{onMessage}'";
            trigger.conditionalbox = new EncounterConditionalBox(conditional);

            DesignResult result = null;

            if (type == EndCombatType.RETREAT)
            {
                result = ScriptableObject.CreateInstance <EndCombatRetreatResult>();
            }
            else
            {
                // Fallback to the only end combat we currently have - Retreat
                result = ScriptableObject.CreateInstance <EndCombatRetreatResult>();
            }

            trigger.resultList.contentsBox.Add(new EncounterResultBox(result));
            encounterData.responseGroup.triggerList.Add(trigger);
        }
예제 #2
0
        private void TriggerResultAtRandom()
        {
            DesignResult result = Results.GetRandom();

            result.Trigger(null, null);
        }
예제 #3
0
 public EncounterResultBox(DesignResult designResult)
 {
     this.CargoVTwo = designResult;
 }