Example #1
0
 static public int constructor(IntPtr l)
 {
     try {
         int argc = LuaDLL.lua_gettop(l);
         Groot.SignalParameters o;
         if (argc == 1)
         {
             o = new Groot.SignalParameters();
             pushValue(l, true);
             pushValue(l, o);
             return(2);
         }
         else if (argc == 2)
         {
             System.Int32 a1;
             checkType(l, 2, out a1);
             o = new Groot.SignalParameters(a1);
             pushValue(l, true);
             pushValue(l, o);
             return(2);
         }
         return(error(l, "New object failed."));
     }
     catch (Exception e) {
         return(error(l, e));
     }
 }
Example #2
0
        /// <summary>
        /// 触发信号,注册了该信号的回调函数将会被调用
        /// </summary>
        /// <param name="_signal_id">信号编号,详细列表请参见SingalId的枚举定义</param>
        /// <param name="_parameters">参数列表</param>
        public static void FireSignal(SignalId _signal_id, SignalParameters _parameters)
        {
            //if( m_is_firing )
            //{
            //	Utility.Log.Error( "信号[{0}]触发正在处理中不能再触发信号[{1}]"
            //		, m_present_signal.ToString()
            //		, _signal_id.ToString() );
            //	return;
            //}
            //try
            //{
            //m_present_signal = _signal_id;
            //m_is_firing = true;
            SignalCallback callback;

            if (m_signal_callbacks.TryGetValue(_signal_id, out callback))
            {
                callback(_signal_id, _parameters);
            }
            //}

            /*catch( Exception e )
             * {
             *      //m_is_firing = false;
             *      Utility.Log.Error( "Something goes wrong on fire signal: {0}", e.Message );
             * }
             * finally
             * {
             *      //m_is_firing = false;
             * }*/
        }
Example #3
0
        /// <summary>
        /// 触发信号,注册了该信号的回调函数将会被调用
        /// </summary>
        /// <param name="_signal_id">信号编号,详细列表请参见SingalId的枚举定义</param>
        /// <param name="_a1">第一个参数</param>
        public static void FireSignal(SignalId _signal_id, Object _a1)
        {
            SignalParameters parameters = new SignalParameters(1);

            parameters.AddParameter(_a1);
            FireSignal(_signal_id, parameters);
        }
Example #4
0
 static public int get_Count(IntPtr l)
 {
     try {
         Groot.SignalParameters self = (Groot.SignalParameters)checkSelf(l);
         pushValue(l, true);
         pushValue(l, self.Count);
         return(2);
     }
     catch (Exception e) {
         return(error(l, e));
     }
 }
Example #5
0
 static public int Clear(IntPtr l)
 {
     try {
         Groot.SignalParameters self = (Groot.SignalParameters)checkSelf(l);
         self.Clear();
         pushValue(l, true);
         return(1);
     }
     catch (Exception e) {
         return(error(l, e));
     }
 }
Example #6
0
 static public int AddParameter(IntPtr l)
 {
     try {
         Groot.SignalParameters self = (Groot.SignalParameters)checkSelf(l);
         System.Object          a1;
         checkType(l, 2, out a1);
         self.AddParameter(a1);
         pushValue(l, true);
         return(1);
     }
     catch (Exception e) {
         return(error(l, e));
     }
 }
Example #7
0
 static public int getItem(IntPtr l)
 {
     try {
         Groot.SignalParameters self = (Groot.SignalParameters)checkSelf(l);
         int v;
         checkType(l, 2, out v);
         var ret = self[v];
         pushValue(l, true);
         pushValue(l, ret);
         return(2);
     }
     catch (Exception e) {
         return(error(l, e));
     }
 }
Example #8
0
        /// <summary>
        /// 触发信号,注册了该信号的回调函数将会被调用
        /// </summary>
        /// <param name="_signal_id">信号编号,详细列表请参见SingalId的枚举定义</param>
        /// <param name="_a1">第一个参数</param>
        /// <param name="_a2">第二个参数</param>
        /// <param name="_a3">第三个参数</param>
        /// <param name="_a4">第四个参数</param>
        /// <param name="_a5">第五个参数</param>
        /// <param name="_a6">第六个参数</param>
        public static void FireSignal(SignalId _signal_id
                                      , Object _a1
                                      , Object _a2
                                      , Object _a3
                                      , Object _a4
                                      , Object _a5
                                      , Object _a6)
        {
            SignalParameters parameters = new SignalParameters(6);

            parameters.AddParameter(_a1);
            parameters.AddParameter(_a2);
            parameters.AddParameter(_a3);
            parameters.AddParameter(_a4);
            parameters.AddParameter(_a5);
            parameters.AddParameter(_a6);
            FireSignal(_signal_id, parameters);
        }
Example #9
0
        /// <summary>
        /// 触发信号,注册了该信号的回调函数将会被调用
        /// </summary>
        /// <param name="_signal_id">信号编号,详细列表请参见SingalId的枚举定义</param>
        public static void FireSignal(SignalId _signal_id)
        {
            SignalParameters parameters = new SignalParameters();

            FireSignal(_signal_id, parameters);
        }