using Assets.Scripts.Helpers; using System; using System.Collections; using System.Collections.Generic; using UnityEngine; #region player data [Serializable] public class SaveDataInventorySlot { public int itemId; public string itemName; public int quantity; public SaveDataInventorySlot(InventorySlot slot) { itemId = slot.item.itemId; itemName = slot.item.itemName; quantity = slot.quantity; } } [Serializable] public class SaveDataPlayer { public int maxHealth; public int health; public float[] position; public float[] velocity; public List inventoryItems; public SaveDataPlayer(PlayerController player, Inventory inventory) { maxHealth = player.health.MaxHealth; health = player.health.Health; position = player.transform.position.ConvertToFloatArray(); velocity = player.rb.velocity.ConvertToFloatArray(); // Save inventory items inventoryItems = new List(); foreach (var slot in inventory.items) { inventoryItems.Add(new SaveDataInventorySlot(slot)); } } } #endregion #region map data [Serializable] public class SaveDataMap { public int seed; public List destroyedTiles; public SaveDataMap(List destroyedTiles, int seed) { this.seed = seed; this.destroyedTiles = new List(); foreach (var item in destroyedTiles.ConvertToListIntArray()) { this.destroyedTiles.Add(new DestroyedTile(item)); } } } [Serializable] public class DestroyedTile { public DestroyedTile(int[] tileCoord) { this.tileCoord = tileCoord; } public int[] tileCoord; } #endregion