Exemple #1
0
        /// <summary>
        /// Calls all scripts registered to run with a certain hook
        /// </summary>
        public static void CallHooked(ScriptHook hook, object caller, params object[] args)
        {
            ScriptExecutionContext context = new ScriptExecutionContext()
            {
                Caller = caller, Hook = hook
            };

            Instance.CallHookedScripts(hook, context, args);
        }
Exemple #2
0
        public void AddHook(string npc, string hook, ScriptHook func)
        {
            if (!this._hooks.ContainsKey(npc))
                this._hooks[npc] = new Dictionary<string, List<ScriptHook>>();

            if (!this._hooks[npc].ContainsKey(hook))
                _hooks[npc][hook] = new List<ScriptHook>();

            _hooks[npc][hook].Add(func);
        }
Exemple #3
0
        /// <summary>
        /// Registers hook delegate.
        /// </summary>
        /// <param name="npcName"></param>
        /// <param name="hook"></param>
        /// <param name="func"></param>
        public void AddHook(string npcName, string hook, ScriptHook func)
        {
            if (!_hooks.ContainsKey(npcName))
            {
                _hooks[npcName] = new Dictionary <string, List <ScriptHook> >();
            }

            if (!_hooks[npcName].ContainsKey(hook))
            {
                _hooks[npcName][hook] = new List <ScriptHook>();
            }

            _hooks[npcName][hook].Add(func);
        }
Exemple #4
0
 private void CallHookedScripts(ScriptHook hook, ScriptExecutionContext context, params object[] args)
 {
     foreach (var scriptMethod in HookedMethods[hook])
     {
         try
         {
             CallScriptMethod(scriptMethod, null, context, args);
         }
         catch (Exception e)
         {
             LogError($"Failed to execute {hook.ToString()} script \"{scriptMethod.DeclaringType.Name}.{scriptMethod.Name}\" ({e.Message})");
             LogException(e);
         }
     }
 }
Exemple #5
0
        public override void DoBeforeNextExecute()
        {
            if (Wheelturn != 0)
            {
                setPressedStrategy.Add(Wheelturn < 0 ? (int)Mouse.WheelBwd : (int)Mouse.WheelFwd);
                Wheelturn -= Math.Sign(Wheelturn);
            }

            if (Tempo != null && Tempo[0].GetLapse() >= Tempo[1])
            {
                Tempo[0] = StopTimer();
                Tempo    = null;
                foreach (var code in Codes.Reverse())
                {
                    KeyOrButtonUp(code);
                }
                Codes = null;
            }

            setPressedStrategy.Do();

            CheckScriptTimer();
            KeysPressed.Clear();
            for (int i = 1; i < 238; i++)
            {
                if (IsDown(i))
                {
                    KeysPressed.Add(i);
                }
            }

            if ((WheelValue = (IsDown((int)Mouse.WheelFwd) ? 1 : 0) + (IsDown((int)Mouse.WheelBwd) ? -1 : 0)) != 0)
            {
                setBit((int)(WheelValue < 0 ? Mouse.WheelBwd : Mouse.WheelFwd), false);
            }

            if (cmd == 'H')
            {
                if (SF == null)
                {
                    SF = new ScriptHook(this);
                }

                SF.Hook();
            }
        }
Exemple #6
0
 protected void AddHook(string npc, string hook, ScriptHook func)
 {
     ScriptManager.Instance.AddHook(npc, hook, func);
 }
Exemple #7
0
 /// <summary>
 /// Adds hook for NPC.
 /// </summary>
 /// <param name="npcName"></param>
 /// <param name="hookName"></param>
 /// <param name="func"></param>
 protected void AddHook(string npcName, string hookName, ScriptHook func)
 {
     ChannelServer.Instance.ScriptManager.AddHook(npcName, hookName, func);
 }
Exemple #8
0
 /// <summary>
 /// Adds hook for NPC.
 /// </summary>
 /// <param name="npcName"></param>
 /// <param name="hookName"></param>
 /// <param name="func"></param>
 protected void AddHook(string npcName, string hookName, ScriptHook func)
 {
     ChannelServer.Instance.ScriptManager.AddHook(npcName, hookName, func);
 }
Exemple #9
0
        /// <summary>
        /// Registers hook delegate.
        /// </summary>
        /// <param name="npcName"></param>
        /// <param name="hook"></param>
        /// <param name="func"></param>
        public void AddHook(string npcName, string hook, ScriptHook func)
        {
            if (!_hooks.ContainsKey(npcName))
                _hooks[npcName] = new Dictionary<string, List<ScriptHook>>();

            if (!_hooks[npcName].ContainsKey(hook))
                _hooks[npcName][hook] = new List<ScriptHook>();

            _hooks[npcName][hook].Add(func);
        }