コード例 #1
0
ファイル: TROPUSR.cs プロジェクト: jhonathanc/TROPHYParser
        public void UnlockTrophy(int id, DateTime dt)
        {
            TrophyTimeInfo tti = trophyTimeInfoTable[id];

            tti.Time = dt;
            if (!tti.IsGet)
            {
                trophyListInfo.GetTrophyNumber = trophyListInfo.GetTrophyNumber + 1;
                unknowType7.TrophyCount        = unknowType7.TrophyCount + 1;
            }
            trophyListInfo.AchievementRate[id / 32] |= (uint)(1 << id).ChangeEndian();
            AchievementRate[id / 32] |= (uint)(1 << id);
            tti.IsGet               = true;
            tti.SyncState           = (int)TropSyncState.NotSync; //  0x100100 表示已同步
            trophyTimeInfoTable[id] = tti;
            if (dt > trophyListInfo.ListLastGetTrophyTime)
            {
                trophyListInfo.ListLastGetTrophyTime = dt;
            }
        }
コード例 #2
0
        public void LockTrophy(int id)
        {
            TrophyTimeInfo tti = trophyTimeInfoTable[id];

            if (tti.SyncState == 0x100100)
            {
                throw new Exception("此獎杯已同步過,無法上鎖或修改");
            }

            tti.Time = new DateTime(0);
            if (tti.IsGet)
            {
                trophyListInfo.GetTrophyNumber = trophyListInfo.GetTrophyNumber - 1;
                unknowType7.TrophyCount        = unknowType7.TrophyCount - 1;
            }
            trophyListInfo.AchievementRate[id / 32] &= 0xFFFFFFFF ^ (uint)(1 << id).ChangeEndian();
            AchievementRate[id / 32] &= 0xFFFFFFFF ^ (uint)(1 << id);
            tti.IsGet               = false;
            tti.SyncState           = 0;
            trophyTimeInfoTable[id] = tti;
        }