Example #1
0
    public NetDataWriter GetComponentWriter(NetworkedComponent component)
    {
        if (!networkedComponents.Contains(component))
        {
            return(null);
        }
        NetDataWriter writer = new NetDataWriter();

        writer.Put(GameServer.MESSAGE_COMPONENT_CUSTOM);
        writer.Put(id);
        writer.Put((byte)networkedComponents.IndexOf(component));
        return(writer);
    }
Example #2
0
        public static void UpdateObjectOfType(NetworkedComponent component, JObject jObject)
        {
            var componentProperties = component.GetType().GetProperties(BindingFlags.Public | BindingFlags.Instance)
                                      .ToDictionary(key => key.Name, v => v);

            foreach (var key in jObject)
            {
                if (componentProperties.ContainsKey(key.Key))
                {
                    var property = componentProperties[key.Key];
                    property.SetValue(component, key.Value.ToObject(property.PropertyType));
                }
            }
        }