Esempio n. 1
0
        /// <summary>
        /// Lets you register a command to be called when the game is directly sent a message.
        ///
        /// The callback you register must have a CmdName attribute. That attibute will determine
        /// which event the callback gets dispatched for.
        /// </summary>
        /// <example>
        /// <code>
        /// <![CDATA[
        /// [CmdName("color")]
        /// private class MessageColor : MessageCmdData {
        ///     public string color = "";    // in CSS format rgb(r,g,b)
        /// };
        ///
        /// ...
        /// gameServer.RegisterCmdHandler<MessageColor>(OnColor);
        /// ...
        /// void OnColor(MessageColor) {
        ///   Debug.Log("received msg with color: " + color);
        /// }
        /// ]]>
        /// </code>
        /// </example>
        /// <param name="callback">Typed callback</param>
        public void RegisterCmdHandler <T>(TypedCmdEventHandler <T> callback) where T : MessageCmdData
        {
            string name = HFTMessageCmdDataNameDB.GetCmdName(typeof(T));

            if (name == null)
            {
                throw new System.InvalidOperationException("no CmdNameAttribute on " + typeof(T).Name);
            }
            RegisterCmdHandler <T>(name, callback);
        }
Esempio n. 2
0
        public void RegisterCmdHandler <T>(TypedCmdEventHandler <T> callback) where T : MessageCmdData
        {
            string name = MessageCmdDataNameDB.GetCmdName(typeof(T));

            if (name == null)
            {
                throw new System.InvalidOperationException("no CmdNameAttribute on " + typeof(T).Name);
            }
            CmdConverter <T> converter = new CmdConverter <T>(callback);

            m_handlers[name] = converter.Callback;
            m_mcdc.RegisterCreator(typeof(T));
        }
Esempio n. 3
0
        public void RegisterCmdHandler <T>(string name, TypedCmdEventHandler <T> callback)
        {
            CmdConverter <T> converter = new CmdConverter <T>(log_, callback);

            messageHandlers_[name] = converter.Callback;
        }
Esempio n. 4
0
 public CmdConverter(HFTLog log, TypedCmdEventHandler <T> handler)
 {
     m_log     = log;
     m_handler = handler;
 }
Esempio n. 5
0
 public CmdConverter(TypedCmdEventHandler <T> handler)
 {
     m_handler = handler;
 }
Esempio n. 6
0
        /// <summary>
        /// Lets you register a command to be called when the game is directly sent a message.
        /// </summary>
        /// <example>
        /// <code>
        /// private class MessageColor {
        ///     public string color = "";    // in CSS format rgb(r,g,b)
        /// };
        ///
        /// ...
        /// gameServer.RegisterCmdHandler("color", OnColor);
        /// ...
        /// void OnColor(MessageColor) {
        ///   Debug.Log("received msg with color: " + color);
        /// }
        /// </code>
        /// </example>
        /// <param name="name">command to call callback for</param>
        /// <param name="callback">Typed callback</param>
        public void RegisterCmdHandler <T>(string name, TypedCmdEventHandler <T> callback)
        {
            CmdConverter <T> converter = new CmdConverter <T>(callback);

            m_handlers[name] = converter.Callback;
        }
Esempio n. 7
0
        private void RegisterInternalCmdHandler <T>(string name, TypedCmdEventHandler <T> callback)
        {
            CmdConverter <T> converter = new CmdConverter <T>(callback);

            m_internalHandlers[name] = converter.Callback;
        }