コード例 #1
0
        private static void ApplyCache(List <CheckPlayer> players, RaidOrgaPlusCache playerCache, Raid r)
        {
            foreach (var p in players)
            {
                if (p.Player.Type != PlayerType.MEMBER)
                {
                    var becomesID = playerCache.Get(r.RaidID, p.Player.AccountName);
                    switch (becomesID)
                    {
                    case -1:     //Not in cache
                        break;

                    case 1:     //LFG
                        p.BecomesAccount = null;
                        p.BecomesType    = PlayerType.LFG;
                        break;

                    default:     //Knowen Account
                        if (r.IsMember(becomesID))
                        {
                            p.BecomesAccount = r.GetMember(becomesID);
                            p.BecomesType    = PlayerType.MEMBER;
                        }
                        else if (r.IsInviteable(becomesID))
                        {
                            p.BecomesAccount = r.GetInviteable(becomesID);
                            p.BecomesType    = PlayerType.INVITEABLE;
                        }
                        else if (r.IsHelper(becomesID))
                        {
                            p.BecomesAccount = r.GetHelper(becomesID);
                            p.BecomesType    = PlayerType.HELPER;
                        }
                        break;
                    }
                }
            }
        }