Пример #1
0
 /// <summary>
 /// Creates an instance of a trigger
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='dataSourceName'>
 /// </param>
 /// <param name='scanName'>
 /// </param>
 /// <param name='triggerName'>
 /// </param>
 /// <param name='body'>
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <Trigger> CreateTriggerAsync(this ITriggers operations, string dataSourceName, string scanName, string triggerName, Trigger body, CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.CreateTriggerWithHttpMessagesAsync(dataSourceName, scanName, triggerName, body, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
Пример #2
0
 /// <summary>
 /// List triggers in Scan
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='dataSourceName'>
 /// </param>
 /// <param name='scanName'>
 /// </param>
 /// <param name='skipToken'>
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <TriggerList> ListByScanAsync(this ITriggers operations, string dataSourceName, string scanName, string skipToken = default(string), CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.ListByScanWithHttpMessagesAsync(dataSourceName, scanName, skipToken, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
Пример #3
0
        public void Configure(IStates states, ITriggers triggers)
        {
            if (_roomMachine == null)
            {
                throw new Exception();
            }

            var roomsStates   = (RoomsStates)states;
            var roomsTriggers = (RoomsTriggers)triggers;


            foreach (var roomState in roomsStates.rooms)
            {
                _roomMachine.Configure(roomState)
                .OnEntry(() => _transitionHandler.HandleEntry(roomState))
                .OnExit(() => _transitionHandler.HandleExit(roomState));

                if (!(String.IsNullOrEmpty(roomState.north)))
                {
                    _roomMachine.Configure(roomState)
                    .Permit(roomsTriggers.Fetch <RoomsTriggers.North>(), roomsStates.rooms.Single(rs => rs.id == roomState.north));
                }

                if (!(String.IsNullOrEmpty(roomState.south)))
                {
                    _roomMachine.Configure(roomState)
                    .Permit(roomsTriggers.Fetch <RoomsTriggers.South>(), roomsStates.rooms.Single(rs => rs.id == roomState.south));
                }

                if (!(String.IsNullOrEmpty(roomState.east)))
                {
                    _roomMachine.Configure(roomState)
                    .Permit(roomsTriggers.Fetch <RoomsTriggers.East>(), roomsStates.rooms.Single(rs => rs.id == roomState.east));
                }

                if (!(String.IsNullOrEmpty(roomState.west)))
                {
                    _roomMachine.Configure(roomState)
                    .Permit(roomsTriggers.Fetch <RoomsTriggers.West>(), roomsStates.rooms.Single(rs => rs.id == roomState.west));
                }

                if (!(String.IsNullOrEmpty(roomState.up)))
                {
                    _roomMachine.Configure(roomState)
                    .Permit(roomsTriggers.Fetch <RoomsTriggers.Up>(), roomsStates.rooms.Single(rs => rs.id == roomState.up));
                }

                if (!(String.IsNullOrEmpty(roomState.down)))
                {
                    _roomMachine.Configure(roomState)
                    .Permit(roomsTriggers.Fetch <RoomsTriggers.Down>(), roomsStates.rooms.Single(rs => rs.id == roomState.down));
                }
            }
        }
Пример #4
0
    public bool RemoveTrigger(ITriggers trigger)
    {
        bool returnFlag = false;

        if (trigger != null)
        {
            returnFlag = allTriggers.Remove(trigger);
            if (returnFlag == true)
            {
                SearchCurrentTrigger(out latestTrigger);
            }
        }
        return(returnFlag);
    }
Пример #5
0
 /// <summary>
 /// Initializes client properties.
 /// </summary>
 private void Initialize()
 {
     ClassificationRules = new ClassificationRules(this);
     DataSources         = new DataSources(this);
     Filters             = new Filters(this);
     Scans                 = new Scans(this);
     ScanRulesets          = new ScanRulesets(this);
     Triggers              = new Triggers(this);
     BaseUri               = new System.Uri("http://localhost");
     SerializationSettings = new JsonSerializerSettings
     {
         Formatting            = Newtonsoft.Json.Formatting.Indented,
         DateFormatHandling    = Newtonsoft.Json.DateFormatHandling.IsoDateFormat,
         DateTimeZoneHandling  = Newtonsoft.Json.DateTimeZoneHandling.Utc,
         NullValueHandling     = Newtonsoft.Json.NullValueHandling.Ignore,
         ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Serialize,
         ContractResolver      = new ReadOnlyJsonContractResolver(),
         Converters            = new  List <JsonConverter>
         {
             new Iso8601TimeSpanConverter()
         }
     };
     SerializationSettings.Converters.Add(new TransformationJsonConverter());
     DeserializationSettings = new JsonSerializerSettings
     {
         DateFormatHandling    = Newtonsoft.Json.DateFormatHandling.IsoDateFormat,
         DateTimeZoneHandling  = Newtonsoft.Json.DateTimeZoneHandling.Utc,
         NullValueHandling     = Newtonsoft.Json.NullValueHandling.Ignore,
         ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Serialize,
         ContractResolver      = new ReadOnlyJsonContractResolver(),
         Converters            = new List <JsonConverter>
         {
             new Iso8601TimeSpanConverter()
         }
     };
     SerializationSettings.Converters.Add(new PolymorphicSerializeJsonConverter <ClassificationRule>("kind"));
     DeserializationSettings.Converters.Add(new  PolymorphicDeserializeJsonConverter <ClassificationRule>("kind"));
     SerializationSettings.Converters.Add(new PolymorphicSerializeJsonConverter <DataSource>("kind"));
     DeserializationSettings.Converters.Add(new  PolymorphicDeserializeJsonConverter <DataSource>("kind"));
     SerializationSettings.Converters.Add(new PolymorphicSerializeJsonConverter <Scan>("kind"));
     DeserializationSettings.Converters.Add(new  PolymorphicDeserializeJsonConverter <Scan>("kind"));
     SerializationSettings.Converters.Add(new PolymorphicSerializeJsonConverter <ScanRuleset>("kind"));
     DeserializationSettings.Converters.Add(new  PolymorphicDeserializeJsonConverter <ScanRuleset>("kind"));
     SerializationSettings.Converters.Add(new PolymorphicSerializeJsonConverter <ClassificationRulePattern>("kind"));
     DeserializationSettings.Converters.Add(new  PolymorphicDeserializeJsonConverter <ClassificationRulePattern>("kind"));
     CustomInitialize();
     DeserializationSettings.Converters.Add(new TransformationJsonConverter());
 }
Пример #6
0
    public bool AddTrigger(ITriggers trigger)
    {
        bool returnFlag = false;

        if (trigger != null)
        {
            returnFlag = allTriggers.Add(trigger);
            if (trigger is Portal)
            {
                lastPortal = (Portal)trigger;
            }
            if (returnFlag == true)
            {
                SearchCurrentTrigger(out latestTrigger);
            }
        }
        return(returnFlag);
    }
Пример #7
0
 void SearchCurrentTrigger(out ITriggers returnTrigger)
 {
     // Setup default return values
     returnTrigger = null;
     if (allTriggers.Count > 0)
     {
         // Search for the current trigger
         int compareActionInt, highestActionInt = (int)ITriggers.Action.Invalid;
         foreach (ITriggers trigger in allTriggers)
         {
             // Check to see if this trigger has a higher action id
             compareActionInt = (int)trigger.ActionOnFire1;
             if (compareActionInt > highestActionInt)
             {
                 // If it does, set the return value
                 returnTrigger    = trigger;
                 highestActionInt = compareActionInt;
             }
         }
     }
 }
Пример #8
0
        public void Configure(IStates states, ITriggers triggers)
        {
            if (_gameMachine == null)
            {
                throw new Exception();
            }

            var gameState   = (GameStates)states;
            var gameTrigger = (GameTriggers)triggers;


            _gameMachine.Configure(gameState.Fetch <GameStates.Exited>())
            .OnEntry(() => _transitionHandler.HandleEntry(gameState.Fetch <GameStates.Exited>()));

            _gameMachine.Configure(gameState.Fetch <GameStates.Inactive>())
            .OnEntry(() => _transitionHandler.HandleEntry(gameState.Fetch <GameStates.Inactive>()))
            .Permit(gameTrigger.Fetch <GameTriggers.Exit>(), gameState.Fetch <GameStates.Exited>())
            .Permit(gameTrigger.Fetch <GameTriggers.Begin>(), gameState.Fetch <GameStates.Active>());

            _gameMachine.Configure(gameState.Fetch <GameStates.Running>());

            _gameMachine.Configure(gameState.Fetch <GameStates.Active>())
            .SubstateOf(gameState.Fetch <GameStates.Running>())
            .OnEntry(() => _transitionHandler.HandleEntry(gameState.Fetch <GameStates.Active>()))
            .OnExit(() => _transitionHandler.HandleExit(gameState.Fetch <GameStates.Active>()))
            .Permit(gameTrigger.Fetch <GameTriggers.End>(), gameState.Fetch <GameStates.Inactive>())
            .Permit(gameTrigger.Fetch <GameTriggers.Pause>(), gameState.Fetch <GameStates.Paused>());

            _gameMachine.Configure(gameState.Fetch <GameStates.Paused>())
            .SubstateOf(gameState.Fetch <GameStates.Running>())
            .OnEntry(() => _transitionHandler.HandleEntry(gameState.Fetch <GameStates.Paused>()))
            .Permit(gameTrigger.Fetch <GameTriggers.Resume>(), gameState.Fetch <GameStates.Active>())
            .Permit(gameTrigger.Fetch <GameTriggers.End>(), gameState.Fetch <GameStates.Inactive>());

            _gameMachine.Configure(gameState.Fetch <GameStates.Error>())
            .OnEntry(() => _transitionHandler.HandleEntry(gameState.Fetch <GameStates.Error>()));
        }
Пример #9
0
 public void Toggle(ITriggers trigger)
 {
     IsOn = !IsOn;
 }
Пример #10
0
 /// <summary>
 /// Creates an instance of a trigger
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='dataSourceName'>
 /// </param>
 /// <param name='scanName'>
 /// </param>
 /// <param name='triggerName'>
 /// </param>
 /// <param name='body'>
 /// </param>
 public static Trigger CreateTrigger(this ITriggers operations, string dataSourceName, string scanName, string triggerName, Trigger body)
 {
     return(operations.CreateTriggerAsync(dataSourceName, scanName, triggerName, body).GetAwaiter().GetResult());
 }
Пример #11
0
 /// <summary>
 /// Gets trigger information
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='dataSourceName'>
 /// </param>
 /// <param name='scanName'>
 /// </param>
 /// <param name='triggerName'>
 /// </param>
 public static Trigger GetTrigger(this ITriggers operations, string dataSourceName, string scanName, string triggerName)
 {
     return(operations.GetTriggerAsync(dataSourceName, scanName, triggerName).GetAwaiter().GetResult());
 }
Пример #12
0
 /// <summary>
 /// List triggers in Scan
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='dataSourceName'>
 /// </param>
 /// <param name='scanName'>
 /// </param>
 /// <param name='skipToken'>
 /// </param>
 public static TriggerList ListByScan(this ITriggers operations, string dataSourceName, string scanName, string skipToken = default(string))
 {
     return(operations.ListByScanAsync(dataSourceName, scanName, skipToken).GetAwaiter().GetResult());
 }
Пример #13
0
 /// <summary>
 /// Deletes the trigger associated with the scan
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='dataSourceName'>
 /// </param>
 /// <param name='scanName'>
 /// </param>
 /// <param name='triggerName'>
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task DeleteTriggerAsync(this ITriggers operations, string dataSourceName, string scanName, string triggerName, CancellationToken cancellationToken = default(CancellationToken))
 {
     (await operations.DeleteTriggerWithHttpMessagesAsync(dataSourceName, scanName, triggerName, null, cancellationToken).ConfigureAwait(false)).Dispose();
 }
Пример #14
0
 /// <summary>
 /// Deletes the trigger associated with the scan
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='dataSourceName'>
 /// </param>
 /// <param name='scanName'>
 /// </param>
 /// <param name='triggerName'>
 /// </param>
 public static void DeleteTrigger(this ITriggers operations, string dataSourceName, string scanName, string triggerName)
 {
     operations.DeleteTriggerAsync(dataSourceName, scanName, triggerName).GetAwaiter().GetResult();
 }
Пример #15
0
 public Triggers(ITriggers <TEntity, DbContext> triggers) => this.triggers = triggers;
Пример #16
0
        private void InitializeMachine <T>(IState initialState, IState errorState, IStates states, ITriggers triggers, IDisplayables displayables) where T : IMachine
        {
            var transitionHandler = _runtime.Container.Resolve <TransitionHandler>(new TypedParameter(typeof(IDisplayables), displayables));

            var machine = _runtime.Container.Resolve <T>(new TypedParameter(typeof(TransitionHandler), transitionHandler));

            machine.Start(initialState, errorState);
            machine.Configure(states, triggers);

            _initializedMachines.Add(machine);
        }
Пример #17
0
 public static void AddTrigger(ITriggers trigger)
 {
     Game1.mapLive.mapTriggers.Add(trigger);
 }