public override void Load(TagCompound tag) { for (int i = 0; i < vm.Length; i++) { if (tag.ContainsKey("vm." + i)) { if (vm[i] == null) { vm[i] = new VendingMachineData(); } vm[i].Load((TagCompound)tag["vm." + i]); } } }
public static int PlaceNewVendingMachine(int x, int y, int type, int style, int direction = 0) { try { Point16 point = new Point16(x, y); TileObjectData.OriginToTopLeft(type, style, ref point); VendingMachineItem toPlace = (Main.player[Main.myPlayer].inventory[Main.player[Main.myPlayer].selectedItem].modItem) as VendingMachineItem; if (toPlace == null) { return(399); } if (toPlace.hasShop && (toPlace.npcType == null || toPlace.npcType == "")) { toPlace.npcType = SoulOfNPC.ItemToTag(toPlace.item); } for (int i = 0; i < vm.Length; i++) { if (vm[i] != null && vm[i].x == x && vm[i].y == y) { vm[i].setDefaults(point.X, point.Y, toPlace.npcType, toPlace.hasShop); if (Main.netMode != 0) { ModPacket pk = ModLoader.GetMod("VendingMachines").GetPacket(); pk.Write((byte)1); pk.Write((short)i); TagIO.Write(vm[i].Save(), pk); pk.Send(); } return(i); } } for (int i = 0; i < vm.Length; i++) { if (vm[i] == null) { vm[i] = new VendingMachineData(); vm[i].setDefaults(point.X, point.Y, toPlace.npcType, toPlace.hasShop); if (Main.netMode != 0) { ModPacket pk = ModLoader.GetMod("VendingMachines").GetPacket(); pk.Write((byte)1); pk.Write((short)i); TagIO.Write(vm[i].Save(), pk); pk.Send(); } return(i); } else if (vm[i].isClear()) { vm[i].setDefaults(point.X, point.Y, toPlace.npcType, toPlace.hasShop); if (Main.netMode != 0) { ModPacket pk = ModLoader.GetMod("VendingMachines").GetPacket(); pk.Write((byte)1); pk.Write((short)i); TagIO.Write(vm[i].Save(), pk); pk.Send(); } return(i); } } return(399); }catch (Exception e) { Main.NewText(e.ToString()); return(399); } }