/// <summary> /// Swaps the specified builder. /// </summary> /// <param name="builder">The builder.</param> /// <param name="newRocketFunctionBuilder">The new rocket function builder.</param> /// <returns>RocketFunctionHostBuilder.</returns> internal static RocketFunctionHostBuilder Swap( IRocketFunctionHostBuilder builder, RocketFunctionHostBuilder newRocketFunctionBuilder ) { Builders.Remove(builder.Builder); Builders.Add(builder.Builder, newRocketFunctionBuilder); return(newRocketFunctionBuilder); }
/// <summary> /// Removes the Builder specified by the Id /// </summary> /// <param name="id">The identifier.</param> public void Remove(Id id) { if (Ids.ContainsKey(id)) { Ids.Remove(id); } if (BuildersByEntityType.TryGetValue(id, out List <BuilderInfo> builders) && Builders.TryGetValue(id, out BuilderInfo builder)) { Builders.Remove(id); builders.Remove(builder); } }
public void Unregister(params Command[] commands) { Assert.IsNotNull(commands); foreach (Command cmd in commands) { Assert.IsNotNull(cmd); _ = Commands.Remove(cmd); if (RBuilders.TryGetValue(cmd, out ICommandBuilder? value)) { _ = RBuilders.Remove(cmd); _ = Builders.Remove(value); } } }
private bool Remove(ServerPlayer player) { if (!Members.Contains(player.Name)) { return(false); } Members.Remove(player.Name); if (Builders.Contains(player.Name)) { Builders.Remove(player.Name); } player.Union = null; SyncToAllMembers(); player.SyncUnionInfo(); return(true); }
public void ToggleBuilder(ServerPlayer player) { lock (this) { if (!Members.Contains(player.Name)) { return; } if (!Builders.Contains(player.Name)) { Builders.Add(player.Name); } else { Builders.Remove(player.Name); } SyncToAllMembers(); player.SyncUnionInfo(); } }