public void SavePlayData(int score, int coin, int[,] cells, LastBlocks lastBlocks, int[] useItems, int adContinueWatchCount) { ItemUseCountInfo itemUseCountInfo = ItemUseCountInfo.GetInstance(useItems); _userData.SetPlayData(new PlayData(score, coin, cells, lastBlocks, itemUseCountInfo, adContinueWatchCount)); SaveUserDataFile(); }
public PlayData(int score, int coin, int[,] cells, LastBlocks lastParts, ItemUseCountInfo itemUseCountInfo, int adContinueWatchCount) { _score = score; _coin = coin; _cells = cells; _lastParts = lastParts; _itemUseCountInfo = itemUseCountInfo; _adContinueWatchCount = adContinueWatchCount; }
public static ItemUseCountInfo GetInstance(int[] itemUsed) { ItemUseCountInfo itemUsedInfo = new ItemUseCountInfo(); for (int i = 0, max = itemUsed.Length; i < max; ++i) { itemUsedInfo.AddCount((ItemType)i, itemUsed[i]); } return(itemUsedInfo); }
public void LoadUserDataFile() { Debug.Log("=============LoadUserDataFile " + GameConstants.SAVEFILE_PATH); ByteBuffer bb = new ByteBuffer(File.ReadAllBytes(GameConstants.SAVEFILE_PATH)); UserModel userMode = UserModel.GetRootAsUserModel(bb); int score = userMode.Score; int coin = userMode.Coin; PlayData playData = null; if (userMode.PlayData.HasValue) { //lastparts LastBlocks lastParts = null; PlayModel playModel = userMode.PlayData.Value; LastPartsModel?lastPartsModel = playModel.LastPartsData; if (lastPartsModel.HasValue) { lastParts = new LastBlocks(lastPartsModel.Value.GetCellPartsArrayArray(), lastPartsModel.Value.AngleValue); } //cells int[,] cells = new int[GameConstants.CELL_ARRAY_SIZE, GameConstants.CELL_ARRAY_SIZE]; for (int i = 0; i < playModel.CellArrayLength; i++) { //Debug.Log("CellArrayLength = " + i + " / CellArrayLength : " + playModel.CellArrayLength); int x = playModel.CellArray(i).Value.X; int y = playModel.CellArray(i).Value.Y; int value = playModel.CellArray(i).Value.Value; cells[x, y] = value; } ItemUseCountInfo itemUseCountInfo = new ItemUseCountInfo(); for (int i = 0; i < playModel.ItemUseCountArrayLength; i++) { itemUseCountInfo.AddCount((ItemType)i, playModel.ItemUseCountArray(i)); } playData = new PlayData(playModel.Score, playModel.Coin, cells, lastParts, itemUseCountInfo, playModel.AdContinueWatchCount); } UserRewardInfo userRewardInfo = new UserRewardInfo(userMode.DailyRewardDay, userMode.CoinBoxRewardDay, userMode.CointBoxRewardCount, userMode.CointBoxRewardTimeStamp); _userData = new UserData(score, coin, playData, userRewardInfo); Debug.Log("Score : " + _userData.Score); Debug.Log("Coin : " + _userData.Coin); Debug.Log("DailyRewardDay : " + _userData.UserRewardInfo.DailyRewardDay); Debug.Log("CoinBoxRewardDay : " + _userData.UserRewardInfo.CoinBoxRewardDay); Debug.Log("CointBoxRewardCount : " + _userData.UserRewardInfo.CoinBoxRewardCount); Debug.Log("CointBoxRewardTimeStamp : " + _userData.UserRewardInfo.CointBoxRewardTimeStamp); // if(_userData.PlayData !=null) // _userData.PlayData.Print(); }
/// <summary> /// OnGUI is called for rendering and handling GUI events. /// This function can be called multiple times per frame (one call per event). /// </summary> void OnGUI() { if (GUI.Button(loadRect, "load file")) { DataManager.Instance.LoadUserDataFile(); } if (GUI.Button(saveRect, "save file")) { DataManager.Instance.SaveUserDataFile(); } if (GUI.Button(saveGameResultRect, "SaveGameResult")) { DataManager.Instance.SaveGameResult(DataManager.Instance.UserData.Score + 1, DataManager.Instance.UserData.Coin + 1, new int[] { 0, 0, 0 }); } if (GUI.Button(savePlayDataRect, "SavePlayData")) { int[,] cells = new int[GameConstants.CELL_ARRAY_SIZE, GameConstants.CELL_ARRAY_SIZE]; int index = 0; for (int i = 0; i < GameConstants.CELL_ARRAY_SIZE; i++) { for (int j = 0; j < GameConstants.CELL_ARRAY_SIZE; j++) { cells[i, j] = index; index++; } } ItemUseCountInfo itemUseCountInfo = new ItemUseCountInfo() .AddCount(ItemType.TRASH, 1) .AddCount(ItemType.BREAK, 4) .AddCount(ItemType.UNDO, 2); DataManager.Instance.SavePlayData(10, 101, cells, new LastBlocks(new int[2] { 1, 3 }, 9), new int[] { 1, 4, 2 }, 2); } if (DataManager.Instance.UserData) { userdata = DataManager.Instance.UserData; sb.AppendLine("score - "); sb.Append(userdata.Score); GUI.TextArea(textRect, sb.ToString()); } }
public void SaveGameResult(int updateScore, int getCoin, int[] useItems) { _userData.AddCoin(getCoin); if (_userData.UpdateScore(updateScore)) { //Upload Score rank. NetworkManager.Instance.SetScoreToLeaderBorad(updateScore); } ItemUseCountInfo itemUseCountInfo = ItemUseCountInfo.GetInstance(useItems); AnalyticsEventParam analyticsEventParam = new AnalyticsEventParam() .AddParam("Score", updateScore) .AddParam("Coin", getCoin) .AddParam("Item_Recycle", itemUseCountInfo.GetCount(ItemType.TRASH)) .AddParam("Item_Hammer", itemUseCountInfo.GetCount(ItemType.BREAK)) .AddParam("Item_Rewind", itemUseCountInfo.GetCount(ItemType.UNDO));; AnalyticsManager.Instance.EventLog(GameConstants.EVENTLOG_BASICMODE_RESULT, analyticsEventParam); DeletePlayData(); SaveUserDataFile(); }