public void selectKit(WorldBase world) { if (!locked) { SoundManager.getSound("click").playWithVariance(0, .25f, 0, SoundType.MONSTER); foreach (Item item in kit) { world.player.inventory.add(item.clone(item.uses)); } if (starterCards[0] != null) { ((Player)(world.player)).cards[0] = CardRegistrar.getCardFromIdPlayerAndLevel(CardRegistrar.getIDFromCard(starterCards[0]), starterCards[0].level, (Player)world.player); } if (starterCards[1] != null) { ((Player)(world.player)).cards[1] = CardRegistrar.getCardFromIdPlayerAndLevel(CardRegistrar.getIDFromCard(starterCards[1]), starterCards[1].level, (Player)world.player); } animations.apply(((Player)(world.player))); world.player.tutorialStringMovement = tutorialStringMovement; world.player.tutorialStringInventory = tutorialStringInventory; world.player.tutorialStringUseItems = tutorialStringUseItems; world.player.tutorialStringPostKeybinds = tutorialStringPostKeybinds; world.player.tutorialStringCrafting = tutorialStringCrafting; world.player.tutorialStringWeapon = tutorialStringWeapon; world.player.rebindAndFinish = rebindAndFinish; if (world is TutorialWorld) { ((TutorialWorld)world).processInstructionStrings(); } } }
public static void save(String path, WorldBase world) { Logger.log("Saving game at " + path); try { if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } using (System.IO.StreamWriter file = new System.IO.StreamWriter(path + "save.txt")) { Entity playerBase = world.player; Console.WriteLine("1: " + playerBase); if (playerBase is TransformedPlayer) { Console.WriteLine("Transformed"); while (!(playerBase is Player)) { Console.WriteLine("up: " + playerBase); playerBase = ((TransformedPlayer)playerBase).transformedFrom; } } Player player = (Player)playerBase; file.WriteLine(UniverseProperties.seed); file.WriteLine(world.difficulty); file.WriteLine(player.animationPackage.id); file.WriteLine(player.location.X); file.WriteLine(player.location.Y); file.WriteLine(player.health); file.WriteLine(player.hunger); file.WriteLine(player.warmth); Inventory.PlayerInventory inventory = player.inventory; foreach (Item item in inventory.items) { file.WriteLine("Inventory:" + ItemRegistrar.getIDFromItem(item) + "," + item.getRemainingUses()); } for (int i = 0; i < player.cards.Length; i++) { if (player.cards[i] != null) { file.WriteLine("Card:" + CardRegistrar.getIDFromCard(player.cards[i]) + "," + player.cards[i].level); } } file.WriteLine("Keyed Items:"); for (int i = 0; i < player.keyedItems.Length; i++) { if (player.keyedItems[i] != null) { file.WriteLine(ItemRegistrar.getIDFromItem(player.keyedItems[i])); } else { file.WriteLine(-1); } } } } catch (Exception exception) { Logger.log(exception.ToString()); } }