예제 #1
0
    public void LoadData(SaveDataBase saveData)
    {
        PlayerSaveData playerData = (PlayerSaveData)saveData;

        if (playerData == null)
        {
            return;
        }

        Transform playerTransform = transform;

        playerTransform.position = playerData.position;
        playerTransform.rotation = playerData.rotation;

        Health.SetCurrentHealth(playerData.currentHealth);

        foreach (ItemSaveData itemSaveData in playerData.itemList)
        {
            ItemScriptable item = InventoryReferences.instance.GetItemReference(itemSaveData.Name);
            inventory.AddItem(item, itemSaveData.amount);
        }

        if (playerData.equippedWeapon == null)
        {
            return;
        }

        WeaponScriptable weaponScript = (WeaponScriptable)inventory.FindItem(playerData.equippedWeapon.Name);

        if (!weaponScript)
        {
            return;
        }
        weaponScript.weaponStats = playerData.equippedWeapon.weaponStats;
        weaponHolder.EquipWeapon(weaponScript);
    }