Пример #1
0
        public static CastBarState EnsureState(PlayerMobile user)
        {
            if (user == null)
            {
                return(null);
            }

            var o = States.GetValue(user);

            if (user.Deleted)
            {
                States.Remove(user);

                return(null);
            }

            if (o == null)
            {
                States[user] = o = new CastBarState();
            }

            return(o);
        }
Пример #2
0
        private static bool Deserialize(GenericReader reader)
        {
            var version = reader.GetVersion();

            switch (version)
            {
            case 1:
            {
                reader.ReadBlockDictionary(
                    r =>
                    {
                        var k = r.ReadMobile <PlayerMobile>();
                        var v = new CastBarState(r);

                        return(new KeyValuePair <PlayerMobile, CastBarState>(k, v));
                    },
                    States);
            }
            break;

            case 0:
            {
                reader.ReadBlockDictionary(
                    r =>
                    {
                        var k = r.ReadMobile <PlayerMobile>();
                        var v = new CastBarState(r.ReadBool(), new Point(r.ReadInt(), r.ReadInt()));

                        return(new KeyValuePair <PlayerMobile, CastBarState>(k, v));
                    },
                    States);
            }
            break;
            }

            return(true);
        }