Beispiel #1
0
 /// <summary>
 /// describes functions to execute when any of the specified key-combinations are pressed/held/released
 /// </summary>
 public KBind(KCombo[] kCombos, string name = null, Func <bool> onPressEvent          = null, Func <bool> onHoldEvent = null,
              Func <bool> onReleaseEvent    = null, Func <bool> additionalRequirement = null,
              bool eventAlwaysTriggerable   = false, EventBind pressFunc              = null, EventBind holdFunc = null, EventBind releaseFunc = null)
 {
     keyCombinations = kCombos;
     Init();
     Array.Sort(keyCombinations); Array.Reverse(keyCombinations);             // put least complex key bind first, backwards from usual processing
     this.name = name;
     keyEvent.AddEvents(onPressEvent, onHoldEvent, onReleaseEvent, pressFunc, holdFunc, releaseFunc);
     if (additionalRequirement != null)
     {
         this.additionalRequirement = additionalRequirement;
     }
     this.alwaysTriggerable = eventAlwaysTriggerable;
 }
Beispiel #2
0
 public HideEventModuleExpr(ParserRuleContext sourceNode, IEnumerable <PEvent> events, IPModuleExpr module)
 {
     SourceLocation = sourceNode;
     HideEvents     = new EventSet();
     HideEvents.AddEvents(events);
     ComponentModule = module;
     ModuleInfo      = null;
 }
Beispiel #3
0
        public override bool IsAssignableFrom(PLanguageType otherType)
        {
            if (otherType is PermissionType permission)
            {
                EventSet eventSet1 = new EventSet();
                EventSet eventSet2 = new EventSet();
                eventSet1.AddEvents(otherType.AllowedPermissions.Value);
                eventSet2.AddEvents(AllowedPermissions.Value);
                return eventSet1.IsSame(eventSet2);
            }

            return false;
        }