Esempio n. 1
0
 private void HookScriptTriggers(Script script)
 {
     foreach (ScriptTrigger scriptTrigger in script.Triggers)
     {
         ScriptTrigger        triggerCopy          = scriptTrigger;
         EntityTypeDescriptor entityTypeDescriptor = EntityTypes.Types[scriptTrigger.Object.Type];
         EventDescriptor      eventDescriptor      = entityTypeDescriptor.Events[scriptTrigger.Event];
         if (entityTypeDescriptor.Static)
         {
             Action action = (Action)(() => this.ProcessTrigger(triggerCopy, script));
             object obj    = eventDescriptor.AddHandler((object)this.services[scriptTrigger.Object.Type], new object[1]
             {
                 (object)action
             });
         }
         else
         {
             Action <int> action = (Action <int>)(id => this.ProcessTrigger(triggerCopy, script, new int?(id)));
             object       obj    = eventDescriptor.AddHandler((object)this.services[scriptTrigger.Object.Type], new object[1]
             {
                 (object)action
             });
         }
     }
 }