155 lines
6.0 KiB
C#
Raw Normal View History

2025-09-19 14:56:58 +05:00
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);
}
}
}