//Check for components and remove. public void BeginCrafting(Entity compo1, Entity compo2, Entity source, NetConnection sourceConnection) { if (!isValidRecipe(compo1.Template.Name, compo2.Template.Name)) return; CraftingEntry recipe = getRecipe(compo1.Template.Name, compo2.Template.Name); var newTicket = new CraftingTicket(); if (recipe.components.Count < 2) return; newTicket.component1 = compo1; newTicket.component2 = compo2; newTicket.sourceEntity = source; newTicket.result = recipe.result; newTicket.doneAt = DateTime.Now.AddSeconds(recipe.secondsToCreate); newTicket.sourceConnection = sourceConnection; craftingTickets.Add(newTicket); NetOutgoingMessage startCraftMsg = IoCManager.Resolve<ISS13NetServer>().CreateMessage(); //Not starcraft. sorry. startCraftMsg.Write((byte) NetMessage.PlayerUiMessage); startCraftMsg.Write((byte) UiManagerMessage.ComponentMessage); startCraftMsg.Write((byte) GuiComponentType.ComboGui); startCraftMsg.Write((byte) ComboGuiMessage.ShowCraftBar); startCraftMsg.Write(recipe.secondsToCreate); _netServer.SendMessage(startCraftMsg, sourceConnection, NetDeliveryMethod.ReliableUnordered); }
public void BeginCrafting(Entity compo1, Entity compo2, Entity source, NetConnection sourceConnection) //Check for components and remove. { if (!isValidRecipe(compo1.Template.Name, compo2.Template.Name)) { return; } CraftingEntry recipe = getRecipe(compo1.Template.Name, compo2.Template.Name); var newTicket = new CraftingTicket(); if (recipe.components.Count < 2) { return; } newTicket.component1 = compo1; newTicket.component2 = compo2; newTicket.sourceEntity = source; newTicket.result = recipe.result; newTicket.doneAt = DateTime.Now.AddSeconds(recipe.secondsToCreate); newTicket.sourceConnection = sourceConnection; craftingTickets.Add(newTicket); NetOutgoingMessage startCraftMsg = IoCManager.Resolve <ISS13NetServer>().CreateMessage(); //Not starcraft. sorry. startCraftMsg.Write((byte)NetMessage.PlayerUiMessage); startCraftMsg.Write((byte)UiManagerMessage.ComponentMessage); startCraftMsg.Write((byte)GuiComponentType.ComboGui); startCraftMsg.Write((byte)ComboGuiMessage.ShowCraftBar); startCraftMsg.Write(recipe.secondsToCreate); _netServer.SendMessage(startCraftMsg, sourceConnection, NetDeliveryMethod.ReliableUnordered); }
private void sendCraftSuccess(NetConnection connection, Entity result, CraftingTicket ticket) { NetOutgoingMessage successMsg = IoCManager.Resolve <ISS13NetServer>().CreateMessage(); successMsg.Write((byte)NetMessage.PlayerUiMessage); successMsg.Write((byte)UiManagerMessage.ComponentMessage); successMsg.Write((byte)GuiComponentType.ComboGui); successMsg.Write((byte)ComboGuiMessage.CraftSuccess); successMsg.Write(ticket.component1.Template.Name); successMsg.Write(ticket.component1.Name); successMsg.Write(ticket.component2.Template.Name); successMsg.Write(ticket.component2.Name); successMsg.Write(result.Template.Name); successMsg.Write(result.Name); _netServer.SendMessage(successMsg, connection, NetDeliveryMethod.ReliableUnordered); removeTicketByConnection(connection); //Better placement for this. }
public void removeTicketByConnection(NetConnection connection) { CraftingTicket ticket = craftingTickets.First(x => x.sourceConnection == connection); craftingTickets.Remove(ticket); }
private void sendCraftSuccess(NetConnection connection, Entity result, CraftingTicket ticket) { NetOutgoingMessage successMsg = IoCManager.Resolve<ISS13NetServer>().CreateMessage(); successMsg.Write((byte) NetMessage.PlayerUiMessage); successMsg.Write((byte) UiManagerMessage.ComponentMessage); successMsg.Write((byte) GuiComponentType.ComboGui); successMsg.Write((byte) ComboGuiMessage.CraftSuccess); successMsg.Write(ticket.component1.Template.Name); successMsg.Write(ticket.component1.Name); successMsg.Write(ticket.component2.Template.Name); successMsg.Write(ticket.component2.Name); successMsg.Write(result.Template.Name); successMsg.Write(result.Name); _netServer.SendMessage(successMsg, connection, NetDeliveryMethod.ReliableUnordered); removeTicketByConnection(connection); //Better placement for this. }