155 lines
6.0 KiB
C#
155 lines
6.0 KiB
C#
using System.Collections.Generic;
|
|
using System.Threading.Tasks;
|
|
using UnityEngine;
|
|
using static BulletHellTemplate.PlayerSave;
|
|
|
|
namespace BulletHellTemplate
|
|
{
|
|
public class BackendManager : MonoBehaviour
|
|
{
|
|
public static BackendManager Singleton;
|
|
private static bool isInitialized;
|
|
private void Awake()
|
|
{
|
|
if (Singleton == null)
|
|
{
|
|
Singleton = this;
|
|
}
|
|
else
|
|
{
|
|
Destroy(gameObject);
|
|
return;
|
|
}
|
|
DontDestroyOnLoad(gameObject);
|
|
}
|
|
public void SetInitialized()
|
|
{
|
|
isInitialized = true;
|
|
}
|
|
public bool CheckInitialized()
|
|
{
|
|
return isInitialized;
|
|
}
|
|
|
|
public async Task SavePurchasedItemsAsync()
|
|
{
|
|
await FirebaseSave.Singleton.SavePurchasedItemsAsync();
|
|
}
|
|
public async Task SaveCharacterUpgradesAsync(string characterId, Dictionary<StatType, int> upgrades)
|
|
{
|
|
await FirebaseSave.Singleton.SaveCharacterUpgradesAsync(characterId, upgrades);
|
|
}
|
|
public async Task UpdateSelectedCharacter(int characterId)
|
|
{
|
|
await FirebaseSave.Singleton.UpdateSelectedCharacter(characterId);
|
|
}
|
|
public async Task SavePlayerCharacterFavouriteAsync(int characterId)
|
|
{
|
|
await FirebaseSave.Singleton.SavePlayerCharacterFavouriteAsync(characterId);
|
|
}
|
|
public async Task SaveCharacterUnlockedSkinsAsync(string characterId, List<int> unlockedSkins)
|
|
{
|
|
await FirebaseSave.Singleton.SaveCharacterUnlockedSkinsAsync(characterId, unlockedSkins);
|
|
}
|
|
public async Task UpdatePlayerIcon(string newIconId)
|
|
{
|
|
await FirebaseSave.Singleton.UpdatePlayerIcon(newIconId);
|
|
}
|
|
public async Task UpdatePlayerFrame(string newFrameId)
|
|
{
|
|
await FirebaseSave.Singleton.UpdatePlayerFrame(newFrameId);
|
|
}
|
|
public async Task UpdateCurrencies(string currencyId, int newAmount)
|
|
{
|
|
await FirebaseSave.Singleton.UpdateCurrencies(currencyId, newAmount);
|
|
}
|
|
public Task<bool> CheckIfNameExists(string playerName)
|
|
{
|
|
return FirebaseSave.Singleton.CheckIfNameExists(playerName);
|
|
}
|
|
public Task UpdatePlayerName(string newName)
|
|
{
|
|
return FirebaseSave.Singleton.UpdatePlayerName(newName);
|
|
}
|
|
public async Task UpdatePlayerAccountLevel(int level, int currentExp)
|
|
{
|
|
await FirebaseSave.Singleton.UpdatePlayerAccountLevel(level, currentExp);
|
|
}
|
|
public async Task SaveUnlockedMapsAsync()
|
|
{
|
|
await FirebaseSave.Singleton.SaveUnlockedMapsAsync();
|
|
}
|
|
public async Task SaveUsedCouponAsync(string couponId)
|
|
{
|
|
await FirebaseSave.Singleton.SaveUsedCouponAsync(couponId);
|
|
}
|
|
public async Task SaveQuestProgressAsync(int questId, int progress)
|
|
{
|
|
await FirebaseSave.Singleton.SaveQuestProgressAsync(questId, progress);
|
|
}
|
|
public async Task SaveQuestCompletionAsync(int questId)
|
|
{
|
|
await FirebaseSave.Singleton.SaveQuestCompletionAsync(questId);
|
|
}
|
|
public async Task SaveMonstersKilledAsync(int monstersKilled)
|
|
{
|
|
await FirebaseSave.Singleton.SaveMonstersKilledAsync(monstersKilled);
|
|
}
|
|
public async Task ResetBattlePassProgressAsync()
|
|
{
|
|
await FirebaseManager.Singleton.ResetBattlePassProgressAsync();
|
|
}
|
|
public async Task SaveClaimedRewardAsync(string passItemId)
|
|
{
|
|
await FirebaseSave.Singleton.SaveClaimedRewardAsync(passItemId);
|
|
}
|
|
public async Task SaveBattlePassProgressAsync(int currentXP, int currentLevel, bool isUnlocked)
|
|
{
|
|
await FirebaseSave.Singleton.SaveBattlePassProgressAsync(currentXP, currentLevel, isUnlocked);
|
|
}
|
|
public async Task LoadBattlePassProgressAsync()
|
|
{
|
|
await FirebaseManager.Singleton.LoadBattlePassProgressAsync();
|
|
}
|
|
public Task<int> GetCurrentSeasonAsync()
|
|
{
|
|
return FirebaseManager.Singleton.GetCurrentSeasonAsync();
|
|
}
|
|
public Task<List<Dictionary<string, object>>> GetTopPlayersAsync()
|
|
{
|
|
return FirebaseManager.Singleton.GetTopPlayersAsync();
|
|
}
|
|
public Task<int> GetPlayerRankAsync()
|
|
{
|
|
return FirebaseManager.Singleton.GetPlayerRankAsync();
|
|
}
|
|
public async Task SaveCharacterBasicInfoAsync(int characterId, int skinIndex, int level, int currentExp, int masteryLevel, int masteryExp)
|
|
{
|
|
await FirebaseSave.Singleton.SaveCharacterBasicInfoAsync(characterId,skinIndex,level,currentExp,masteryLevel,masteryExp);
|
|
}
|
|
public async Task SaveCharacterItemAsync(int characterId, string uniqueItemGuid, string slotName, string itemId, int itemLevel)
|
|
{
|
|
await FirebaseSave.Singleton.SaveCharacterItemAsync(characterId,uniqueItemGuid,slotName,itemId,itemLevel);
|
|
}
|
|
public async Task RemoveCharacterItemAsync(int characterId, string slotName, string uniqueItemGuid)
|
|
{
|
|
await FirebaseSave.Singleton.RemoveCharacterItemAsync(characterId,slotName,uniqueItemGuid);
|
|
}
|
|
public async Task SavePurchasedInventoryItemAsync(PurchasedInventoryItem purchasedItem)
|
|
{
|
|
await FirebaseSave.Singleton.SavePurchasedInventoryItemAsync(purchasedItem);
|
|
}
|
|
public async Task DeletePurchasedInventoryItemAsync(string uniqueItemGuid)
|
|
{
|
|
await FirebaseSave.Singleton.DeletePurchasedInventoryItemAsync(uniqueItemGuid);
|
|
}
|
|
public async Task SaveDailyRewardsDataAsync(DailyRewardsData data)
|
|
{
|
|
await FirebaseSave.Singleton.SaveDailyRewardsDataAsync(data);
|
|
}
|
|
public async Task SaveNewPlayerRewardsDataAsync(NewPlayerRewardsData data)
|
|
{
|
|
await FirebaseSave.Singleton.SaveNewPlayerRewardsDataAsync(data);
|
|
}
|
|
}
|
|
} |