public Player(PlayerCharacterScriptableObject data) : base(data) { alignment = Alignment.Good; mana = data.mana; int equipmentSlotsCount = System.Enum.GetNames(typeof(Equipment.Slot)).Length; currentEquipment = new Dictionary <Equipment.Slot, Equipment[]>(); for (int i = 0; i < equipmentSlotsCount; i++) { int slotsCount = 1; if ((Equipment.Slot)System.Enum.GetValues(typeof(Equipment.Slot)).GetValue(i) == Equipment.Slot.Trinket) { slotsCount = 5; } currentEquipment.Add((Equipment.Slot)System.Enum.GetValues(typeof(Equipment.Slot)).GetValue(i), new Equipment[slotsCount]); } foreach (var e in data.startingEquipment) { if (e != null) { EquipEquipment(Item.CreateItem(e) as Equipment); } } nativePowers = data.nativePowers; }
HealthEntityCombatObject SpawnEntity(HealthEntityScriptableObject entitySO, Transform entityHolder) { if (entitySO is PlayerCharacterScriptableObject) { PlayerCharacterScriptableObject playerSO = entitySO as PlayerCharacterScriptableObject; Player player = new Player(playerSO); return(SpawnEntity(player, entityHolder)); } else if (entitySO is EnemyScriptableObject) { EnemyScriptableObject enemySO = entitySO as EnemyScriptableObject; Enemy enemy = new Enemy(enemySO); return(SpawnEntity(enemy, entityHolder)); } return(null); }