Ejemplo n.º 1
0
        /// <summary>
        /// Handles scripting call
        /// </summary>
        unsafe static partial void Behavior_HandleScriptingMethodCall(ISciterBehavior behavior, IntPtr he, IntPtr prms, ref bool handled)
        {
            var datantf = (SCRIPTING_METHOD_PARAMS *)prms;
            var e       = new ScriptingMethodCallEventArgs(Element.Create(he))
            {
                Arguments  = datantf->GetArgs(),
                MethodName = datantf->GetName()
            };

            behavior.ProcessScriptingMethodCall(e);
            if (e.Handled)
            {
                datantf->result.SetValue(e.ReturnValue);
            }

            handled = e.Handled;
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Handles method call event
        /// </summary>
        unsafe static partial void Behavior_HandleMethodCall(ISciterBehavior behavior, IntPtr he, IntPtr prms, ref bool handled)
        {
            var datantf  = (METHOD_PARAMS *)prms;
            var methodId = (METHOD_PARAMS.BEHAVIOR_METHOD_IDENTIFIERS)datantf->methodID;

            switch (methodId)
            {
            case METHOD_PARAMS.BEHAVIOR_METHOD_IDENTIFIERS.XCALL:
            {
                var data = (XCALL_PARAMS *)datantf;
                var e    = new ScriptingMethodCallEventArgs(Element.Create(he))
                {
                    Arguments  = data->GetArgs(),
                    MethodName = data->GetName()
                };

                behavior.ProcessScriptingMethodCall(e);
                if (e.Handled)
                {
                    data->result.SetValue(e.ReturnValue);
                }

                handled = e.Handled;
            }
            break;

            default:
            {
                var e = new MethodCallEventArgs(Element.Create(he));
                behavior.ProcessMethodCall(e);

                handled = e.Handled;
            }
            break;
            }
        }