Exemplo n.º 1
0
    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;
    }
Exemplo n.º 2
0
 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);
 }