コード例 #1
0
        /// <summary>
        /// used to subscribe to user defined packages
        /// </summary>
        public void HandlePackage(object package, NetPeer peer)
        {
            MethodInfo mi = GetType().GetMethod("Handle");

            if (mi == null)
            {
                return;
            }

            PropertyInfo[] fi = package.GetType().GetProperties();
            foreach (PropertyInfo field in fi)
            {
                if (field.Name == "clientId")
                {
                    if ((string)field.GetValue(package) == "")
                    {
                        field.SetValue(package, Flow.CreateClientId(peer));
                    }
                }
            }

            mi.Invoke(this, new object[] { package });
        }