示例#1
0
    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();
    }
示例#2
0
 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;
 }
示例#3
0
    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);
    }
示例#4
0
    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();
    }
示例#5
0
    /// <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());
        }
    }
示例#6
0
    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();
    }