public override void HandlePacket(BinaryReader reader, int whoAmI) { //In case i f*ck the code try { string type = reader.ReadString(); #if DEBUG Main.NewText($"Received packet: [c/ff3333:{type}]"); #endif switch (type) { case SpawnStarterPacket.NAME: { //Server can't have any UI if (whoAmI == 256) { return; } SpawnStarterPacket packet = new SpawnStarterPacket(); packet.HandleFromClient(reader, whoAmI); } break; case BaseCatchPacket.NAME: { //Server should handle it from client if (whoAmI == 256) { return; } BaseCatchPacket packet = new BaseCatchPacket(); packet.HandleFromClient(reader, whoAmI); } break; default: if (packetStore.ContainsKey(type)) { if (whoAmI == 256) { packetStore[type].HandleFromServer(reader); } else { packetStore[type].HandleFromClient(reader, whoAmI); } } break; } } catch (Exception e) { Logger.ErrorFormat( "Exception appear in HandlePacket. Please, contact mod devs with folowing stacktrace:\n\n{0}\n\n{1}", e.Message, e.StackTrace); #if DEBUG Main.NewText($"[c/ff3322:{e.Message}]"); #endif } }
private void Chosen(UIMouseEvent evt, UIElement listeningElement) { TerramonPlayer TerramonPlayer = Main.LocalPlayer.GetModPlayer <TerramonPlayer>(); Mod mod = ModContent.GetInstance <TerramonMod>(); Player player = Main.LocalPlayer; Main.PlaySound(SoundID.MenuOpen); ModContent.GetInstance <TerramonMod>()._exampleUserInterface.SetState(null); Main.PlaySound(SoundID.Coins); TerramonPlayer.StarterChosen = true; if (Main.netMode == NetmodeID.MultiplayerClient) { SpawnStarterPacket packet = new SpawnStarterPacket(); packet.Send((TerramonMod)mod, SpawnStarterPacket.BULBASAUR); } else { int index = Item.NewItem(player.getRect(), ModContent.ItemType <PokeballCaught>()); if (index >= 400) { return; } (Main.item[index].modItem as PokeballCaught).PokemonNPC = ModContent.NPCType <BulbasaurNPC>(); (Main.item[index].modItem as PokeballCaught).PokemonName = "Bulbasaur"; (Main.item[index].modItem as PokeballCaught).SmallSpritePath = "Terramon/Minisprites/Regular/miniBulbasaur"; } Main.NewText("You chose [c/33FF33:Bulbasaur, the Seed Pokemon.] Great choice!"); ChooseStarter.Visible = false; UISidebar.Visible = true; }
public override void HandlePacket(BinaryReader reader, int whoAmI) { //In case i f*ck the code try { string type = reader.ReadString(); switch (type) { case SpawnStarterPacket.NAME: { //Server can't have any UI if (whoAmI == 256) { return; } SpawnStarterPacket packet = new SpawnStarterPacket(); packet.HandleFromClient(reader, whoAmI); } break; case BaseCatchPacket.NAME: { //Server should handle it from client if (whoAmI == 256) { return; } BaseCatchPacket packet = new BaseCatchPacket(); packet.HandleFromClient(reader, whoAmI); } break; } } catch (Exception e) { Logger.ErrorFormat( "Exception appear in HandlePacket. Please, contact mod devs with folowing stacktrace:\n\n{0}\n\n{1}", e.Message, e.StackTrace); } }