コード例 #1
0
        public virtual void Run(LogicBlock.LogicType type, RunPayload payload)
        {
            IEnumerable <LogicBlock> logicBlocks = EncounterLogic.Where(logic => logic.Type == type);

            switch (type)
            {
            case LogicBlock.LogicType.RESOURCE_REQUEST:
                State = EncounterState.RUNNING;
                RunGeneralLogic(logicBlocks, payload);
                break;

            case LogicBlock.LogicType.CONTRACT_OVERRIDE_MANIPULATION:
                RunGeneralLogic(logicBlocks, payload);
                break;

            case LogicBlock.LogicType.ENCOUNTER_MANIPULATION:
                RunGeneralLogic(logicBlocks, payload);
                break;

            case LogicBlock.LogicType.SCENE_MANIPULATION:
                RunSceneManipulationLogic(logicBlocks, payload);
                MissionControl.Instance.IsMCLoadingFinished = true;
                break;

            default:
                Main.Logger.LogError($"[EncounterRules] Unknown logic type '{type}'");
                break;
            }
        }