/// <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);
         }
     }
 }
Example #4
0
 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);
 }
Example #5
0
 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();
     }
 }