public static void ResetEntityProperty(LocalHandle entity, string key) { var handle = NetEntityHandler.EntityToNet(entity.Value); var item = NetEntityHandler.NetToStreamedItem(handle); var prop = item as EntityProperties; if (prop == null || string.IsNullOrEmpty(key)) { return; } if (prop.SyncedProperties == null || !prop.SyncedProperties.ContainsKey(key)) { return; } prop.SyncedProperties.Remove(key); if (!item.LocalOnly) { var delta = new Delta_EntityProperties(); delta.SyncedProperties = new Dictionary <string, NativeArgument>(); delta.SyncedProperties.Add(key, new LocalGamePlayerArgument()); UpdateEntityInfo(handle, EntityType.Prop, delta); } }
public static bool SetEntityProperty(LocalHandle entity, string key, object value) { var handle = NetEntityHandler.EntityToNet(entity.Value); var item = NetEntityHandler.NetToStreamedItem(handle); var prop = item as EntityProperties; if (prop == null || string.IsNullOrEmpty(key)) { return(false); } if (prop.SyncedProperties == null) { prop.SyncedProperties = new Dictionary <string, NativeArgument>(); } var nativeArg = ParseNativeArguments(value).Single(); NativeArgument oldValue = prop.SyncedProperties.Get(key); prop.SyncedProperties.Set(key, nativeArg); if (!item.LocalOnly) { var delta = new Delta_EntityProperties(); delta.SyncedProperties = new Dictionary <string, NativeArgument>(); delta.SyncedProperties.Add(key, nativeArg); UpdateEntityInfo(handle, EntityType.Prop, delta); } JavascriptHook.InvokeDataChangeEvent(entity, key, DecodeArgumentListPure(oldValue).FirstOrDefault()); return(true); }
public static bool SetWorldData(string key, object value) { if (NetEntityHandler.ServerWorld.SyncedProperties == null) { NetEntityHandler.ServerWorld.SyncedProperties = new Dictionary <string, NativeArgument>(); } var nativeArg = ParseNativeArguments(value).Single(); NativeArgument oldValue = NetEntityHandler.ServerWorld.SyncedProperties.Get(key); NetEntityHandler.ServerWorld.SyncedProperties.Set(key, nativeArg); var delta = new Delta_EntityProperties { SyncedProperties = new Dictionary <string, NativeArgument>() }; delta.SyncedProperties.Add(key, nativeArg); UpdateEntityInfo(1, EntityType.Prop, delta); JavascriptHook.InvokeDataChangeEvent(new LocalHandle(0), key, DecodeArgumentListPure(oldValue).FirstOrDefault()); return(true); }
public static void UpdateEntityInfo(int netId, EntityType entity, Delta_EntityProperties newInfo) { var packet = new UpdateEntity(); packet.EntityType = (byte)entity; packet.Properties = newInfo; packet.NetHandle = netId; SendToServer(packet, PacketType.UpdateEntityProperties, true, ConnectionChannel.EntityBackend); }
public static void UpdateEntityInfo(int netId, EntityType entity, Delta_EntityProperties newInfo) { var packet = new UpdateEntity { EntityType = (byte)entity, Properties = newInfo, NetHandle = netId }; SendToServer(packet, PacketType.UpdateEntityProperties, true, ConnectionChannel.NativeCall); }
public static void ResetWorldData(string key) { if (NetEntityHandler.ServerWorld.SyncedProperties == null || !NetEntityHandler.ServerWorld.SyncedProperties.ContainsKey(key)) { return; } NetEntityHandler.ServerWorld.SyncedProperties.Remove(key); var delta = new Delta_EntityProperties(); delta.SyncedProperties = new Dictionary <string, NativeArgument>(); delta.SyncedProperties.Add(key, new LocalGamePlayerArgument()); UpdateEntityInfo(1, EntityType.Prop, delta); }
public static void UpdateEntityInfo(int netId, EntityType entity, Delta_EntityProperties newInfo, Client exclude = null) { var packet = new UpdateEntity { EntityType = (byte)entity, Properties = newInfo, NetHandle = netId }; if (exclude == null) { Program.ServerInstance.SendToAll(packet, PacketType.UpdateEntityProperties, true, ConnectionChannel.EntityBackend); } else { Program.ServerInstance.SendToAll(packet, PacketType.UpdateEntityProperties, true, exclude, ConnectionChannel.EntityBackend); } }