コード例 #1
0
        protected virtual void PerformMessage(Tile targetTile, ActionStateX action, bool activated)
        {
            targetTile.ExecuteContentActivator(new LogicTileActivator(action));
            switch (action.Action)
            {
            case ActionState.Clear:
                if (activated)
                {
                    targetTile.DeactivateTileContent();
                }
                break;

            case ActionState.Set:
                if (activated)
                {
                    targetTile.ActivateTileContent();
                }
                break;

            case ActionState.Toggle:
                if (activated)
                {
                    Toggle(targetTile);
                }
                break;

            case ActionState.Hold:
                Toggle(targetTile);
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }
        }
コード例 #2
0
 protected async Task SendOneMessageAsync(Tile targetTile, ActionStateX action, bool activated)
 {
     if (!action.IsOnceOnly || !action.Used)
     {
         await Task.Delay(action.TimeDelay);
         PerformMessage(targetTile, action, activated);
         action.Used = true;
     }
 }
コード例 #3
0
        protected SimpleRemoteActuator(Tile targetTile, ActionStateX targetAction, Vector3 position) : base(position)
        {
            if (targetTile == null || targetAction == null)
                throw new ArgumentNullException();

            TargetTile = targetTile;
            TargetAction = targetAction;

        }
コード例 #4
0
        protected SimpleRemoteActuator(Tile targetTile, ActionStateX targetAction, Vector3 position) : base(position)
        {
            if (targetTile == null || targetAction == null)
            {
                throw new ArgumentNullException();
            }

            TargetTile   = targetTile;
            TargetAction = targetAction;
        }
コード例 #5
0
        protected async Task SendOneMessageAsync(Tile targetTile, ActionStateX action, bool activated)
        {
            if (!action.IsOnceOnly || !action.Used)
            {
                await Task.Delay(action.TimeDelay);

                PerformMessage(targetTile, action, activated);
                action.Used = true;
            }
        }
コード例 #6
0
 protected virtual void PerformMessage(Tile targetTile, ActionStateX action, bool activated)
 {
     targetTile.ExecuteContentActivator(new LogicTileActivator(action));
     switch (action.Action)
     {
         case ActionState.Clear:
             if (activated)
                 targetTile.DeactivateTileContent();
             break;
         case ActionState.Set:
             if (activated)
                 targetTile.ActivateTileContent();
             break;
         case ActionState.Toggle:
             if (activated)
                 Toggle(targetTile);
             break;
         case ActionState.Hold:
             Toggle(targetTile);
             break;
         default:
             throw new ArgumentOutOfRangeException();
     }
 }
コード例 #7
0
 protected sealed override void PerformMessage(Tile targetTile, ActionStateX action, bool activated)
 {
     base.PerformMessage(targetTile, action, activated);
 }
コード例 #8
0
 protected sealed override void PerformMessage(Tile targetTile, ActionStateX action, bool activated)
 {
     base.PerformMessage(targetTile, action, activated);
 }