Example #1
0
    public bool InitPlayerDataFromStr(string jsonStr)
    {
        PlayerPersistentInfoData newPlayerData;

        try
        {
            newPlayerData = JsonMapper.ToObject <PlayerPersistentInfoData>(jsonStr);
        }

        catch (JsonException e)
        {
            Debug.LogError("JSON exception caught: " + e.Message);

            return(false);
        }

        // fix daily rewards
        // which can be corrupted just after new account was created
        newPlayerData.DailyRewards = newPlayerData.DailyRewards ?? new PPIDailyRewards();
        newPlayerData.DailyRewards.Fix();

        PlayerData = newPlayerData;

        return(true);
    }
Example #2
0
    //..........................................................................................................................
    static List <Item> HarvestStatistics(PlayerPersistentInfoData inPlayerData, List <FriendInfo> inFriendsData)
    {
        List <Item> statistics = new List <Item>();

        statistics.Add(Get_Experiance(TEXT_ID_EXPERIENCE, inPlayerData, inFriendsData));
//		statistics.Add( Get_Money	        (TEXT_ID_MONEY                  , inPlayerData, inFriendsData) );
//		statistics.Add( Get_Gold            (TEXT_ID_GOLD					, inPlayerData, inFriendsData) );
        statistics.Add(Get_Kills(TEXT_ID_KILLS, inPlayerData, inFriendsData));
        statistics.Add(Get_Deaths(TEXT_ID_DEATHS, inPlayerData, inFriendsData));
//		statistics.Add( Get_HeadShots       (TEXT_ID_HEADSHOTS				, inPlayerData, inFriendsData) );
//		statistics.Add( Get_Carnages        (TEXT_ID_CARNAGES				, inPlayerData, inFriendsData) );
//		statistics.Add( Get_Limbs			(TEXT_ID_LIMBS					, inPlayerData, inFriendsData) );
//		statistics.Add( Get_PlayedMissions	(TEXT_ID_MISSIONS_PLAYED		, inPlayerData, inFriendsData) );
//		statistics.Add( Get_MissionSuccess	(TEXT_ID_SUCCESSED_MISSIONS		, inPlayerData, inFriendsData) );
        statistics.Add(Get_GameTime(TEXT_ID_TOTAL_TIME, inPlayerData, inFriendsData, E_Better.Bigger));

        /*
         * // Specific statistics for 1. Arena
         * string arena1_name       = TextDatabase.instance[TEXT_ID_ARENA_1];
         * string arena1_HighScore = TextDatabase.instance[TEXT_ID_ARENA_1_HIGH_SCORE]	.Replace("<ARENA_1_NAME>", arena1_name);
         * string arena1_TotalTime = TextDatabase.instance[TEXT_ID_ARENA_1_TOTAL_TIME]	.Replace("<ARENA_1_NAME>", arena1_name);
         * string arena1_Played     = TextDatabase.instance[TEXT_ID_ARENA_1_PLAYED]		.Replace("<ARENA_1_NAME>", arena1_name);
         *
         * statistics.Add( Get_Arena1_HighScore(arena1_HighScore				, inPlayerData, inFriendsData) );
         * statistics.Add( Get_Arena1_GameTime	(arena1_TotalTime				, inPlayerData, inFriendsData, E_Better.Bigger) );
         * statistics.Add( Get_Arena1_Played	(arena1_Played					, inPlayerData, inFriendsData) );
         */
        return(statistics);
    }
Example #3
0
    public void ResetPlayerData()
    {
        PlayerData = new PlayerPersistentInfoData();

        IsValid           = false;
        PlayerDataChanged = false;
    }
Example #4
0
    public void CopyFrom(PlayerPersistantInfo otherPPI)
    {
        Team      = otherPPI.Team;
        ZoneIndex = otherPPI.ZoneIndex;
        //	Score = otherPPI.Score;

        PlayerData = otherPPI.PlayerData;
    }
Example #5
0
    static Item _GetIntItem(int inItemNameTextID,
                            PlayerPersistentInfoData inPlayerData,
                            List <FriendInfo> inFriendsData,
                            E_Better inBetter,
                            IntExtractor inExtractor)
    {
        IntItem item = new IntItem();

        item.m_NameIndex = inItemNameTextID;

        return(_GetIntItem(item, inPlayerData, inFriendsData, inBetter, inExtractor));
    }
Example #6
0
    static Item Get_GameTime(int inItemNameTextID,
                             PlayerPersistentInfoData inPlayerData,
                             List <FriendInfo> inFriendsData,
                             E_Better inBetter)
    {
        StringItem item = new StringItem();

        item.m_NameIndex   = inItemNameTextID;
        item.m_PlayerValue = "??:??";
        item.m_SecondValue = "??:??";
        return(item);

        /*
         * StringItem item    = new StringItem();
         * item.m_NameIndex   = inItemNameTextID;
         *
         * float playersTime = inPlayerData.Params.GameTime;
         * float friendsTime = -1;
         *
         * foreach(FriendInfo fi in inFriendsData)
         * {
         *      float friendValue = fi.m_PPIData.Params.GameTime;
         *      if(friendValue > friendsTime)
         *      {
         *              friendsTime                  = friendValue;
         *              item.m_SecondValueFriendName = fi.m_Name;
         *      }
         * }
         *
         * if(inBetter != E_Better.None && inFriendsData.Count > 0)
         * {
         *      item.m_HighlightPlayer = (inBetter == E_Better.Bigger  && playersTime > friendsTime) ||
         *                                                       (inBetter == E_Better.Smaller && playersTime < friendsTime);
         *      item.m_HighlightFriend = (inBetter == E_Better.Bigger  && playersTime < friendsTime) ||
         *                                                       (inBetter == E_Better.Smaller && playersTime > friendsTime);
         * }
         *
         * System.TimeSpan duration = System.TimeSpan.FromSeconds( playersTime );
         *
         *
         * //item.m_PlayerValue = string.Format("{0,3}:{1,2}", (int )duration.TotalHours, (int )duration.Minutes );
         * item.m_PlayerValue = ((int )duration.TotalHours).ToString("00") +":"+((int )duration.Minutes).ToString("00");
         * duration            = System.TimeSpan.FromSeconds( friendsTime );
         * //item.m_SecondValue = string.Format("{0,3}:{1,2}", (int )duration.TotalHours, (int )duration.Minutes );
         * item.m_SecondValue = ((int )duration.TotalHours).ToString("00") +":"+((int )duration.Minutes).ToString("00");
         *
         * return item;
         */
    }
Example #7
0
    static Item _GetIntItem(IntItem inItem,
                            PlayerPersistentInfoData inPlayerData,
                            List <FriendInfo> inFriendsData,
                            E_Better inBetter,
                            IntExtractor inExtractor)
    {
        IntItem item = inItem;

        item.m_PlayerValue = -1;
        item.m_SecondValue = -1;
        return(item);

        /*
         * IntItem item        = inItem;
         * item.m_PlayerValue = inExtractor(inPlayerData);
         * item.m_SecondValue = -1;
         *
         * foreach(FriendInfo fi in inFriendsData)
         * {
         *      int friendValue = inExtractor(fi.m_PPIData);
         *      if(friendValue > item.m_SecondValue)
         *      {
         *              item.m_SecondValue           = friendValue;
         *              item.m_SecondValueFriendName = fi.m_Name;
         *      }
         * }
         *
         * if(inBetter != E_Better.None && inFriendsData.Count > 0)
         * {
         *      item.m_HighlightPlayer = (inBetter == E_Better.Bigger  && item.m_PlayerValue > item.m_SecondValue) ||
         *                                                       (inBetter == E_Better.Smaller && item.m_PlayerValue < item.m_SecondValue);
         *      item.m_HighlightFriend = (inBetter == E_Better.Bigger  && item.m_PlayerValue < item.m_SecondValue) ||
         *                                                       (inBetter == E_Better.Smaller && item.m_PlayerValue > item.m_SecondValue);
         * }
         *
         * return item;
         */
    }
Example #8
0
 public void CopyPlayerData(PlayerPersistantInfo otherPPI)
 {
     PlayerData = otherPPI.PlayerData;
 }
Example #9
0
 //..........................................................................................................................
 static Item Get_Deaths(int inItemNameTextID, PlayerPersistentInfoData inPlayerData, List <FriendInfo> inFriendsData)
 {
     return(_GetIntItem(inItemNameTextID, inPlayerData, inFriendsData, E_Better.Smaller, val => val.Stats.GetDeaths()));
 }
Example #10
0
 //..........................................................................................................................
 static Item Get_Experiance(int inItemNameTextID, PlayerPersistentInfoData inPlayerData, List <FriendInfo> inFriendsData)
 {
     return(_GetIntItem(inItemNameTextID, inPlayerData, inFriendsData, E_Better.Bigger, val => val.Params.Experience));
 }