コード例 #1
0
        public static PlayerEnhancementAccountEntry FindPlayerEnhancementAccountEntry(PlayerMobile player)
        {
            if (player == null)
            {
                return(null);
            }
            if (player.Account == null)
            {
                return(null);
            }

            string accountName = player.Account.Username;

            PlayerEnhancementAccountEntry playerEnhancementAccountEntry = null;

            foreach (PlayerEnhancementAccountEntry entry in m_PlayerEnhancementAccountEntries)
            {
                if (entry.m_AccountUsername == accountName)
                {
                    playerEnhancementAccountEntry = entry;
                    break;
                }
            }

            return(playerEnhancementAccountEntry);
        }
コード例 #2
0
        public static void CheckAndCreatePlayerEnhancementAccountEntry(PlayerMobile player)
        {
            if (player == null)
            {
                return;
            }
            if (player.Account == null)
            {
                return;
            }

            string accountName = player.Account.Username;

            PlayerEnhancementAccountEntry playerEnhancementAccountEntry = null;

            bool foundPlayerEnhancementEntry = false;

            foreach (PlayerEnhancementAccountEntry entry in m_PlayerEnhancementAccountEntries)
            {
                if (entry.m_AccountUsername == accountName)
                {
                    player.m_PlayerEnhancementAccountEntry = entry;
                    foundPlayerEnhancementEntry            = true;

                    return;
                }
            }

            if (!foundPlayerEnhancementEntry)
            {
                PlayerEnhancementAccountEntry newEntry = new PlayerEnhancementAccountEntry(accountName);
                m_PlayerEnhancementAccountEntries.Add(newEntry);

                Account account = player.Account as Account;

                for (int i = 0; i < (account.Length - 1); i++)
                {
                    Mobile mobile = account.accountMobiles[i] as Mobile;

                    if (mobile != null)
                    {
                        PlayerMobile pm_Mobile = mobile as PlayerMobile;

                        if (pm_Mobile != null)
                        {
                            pm_Mobile.m_PlayerEnhancementAccountEntry = newEntry;
                        }
                    }
                }
            }
        }
コード例 #3
0
        public static void Deserialize(GenericReader reader)
        {
            int version = reader.ReadEncodedInt();

            m_PlayerEnhancementAccountEntries = new List <PlayerEnhancementAccountEntry>();

            if (version >= 0)
            {
                Enabled = reader.ReadBool();

                int playerEnhancementAccountEntries = reader.ReadInt();
                for (int a = 0; a < playerEnhancementAccountEntries; ++a)
                {
                    PlayerEnhancementAccountEntry entry = reader.ReadItem() as PlayerEnhancementAccountEntry;

                    if (entry != null)
                    {
                        m_PlayerEnhancementAccountEntries.Add(entry);
                    }
                }
            }
        }