public PlayedCharacter(Bot bot, CharacterBaseInformations informations)
        {
            InformationLevel = MessageLevel.All;// MessageLevel.Warning | MessageLevel.Error;

            if (informations == null)
            {
                throw new ArgumentNullException("informations");
            }

            Bot = bot;

            Id    = informations.id;
            Level = informations.level;
            Name  = informations.name;
            Breed = new Breeds.Breed(ObjectDataManager.Instance.Get <Breed>(informations.breed));
            Look  = informations.entityLook;
            Sex   = informations.sex;

            Inventory        = new Inventory(this);
            Stats            = new Stats.PlayerStats(this);
            SpellsBook       = new SpellsBook(this);
            SpellShortcuts   = new SpellShortcutBar(this);
            GeneralShortcuts = new GeneralShortcutBar(this);

            m_jobs           = new ObservableCollectionMT <Job>();
            m_readOnlyJobs   = new ReadOnlyObservableCollectionMT <Job>(m_jobs);
            m_emotes         = new ObservableCollectionMT <Emoticon>();
            m_readOnlyEmotes = new ReadOnlyObservableCollectionMT <Emoticon>(m_emotes);
        }
        public void Update(GameFightCharacterInformations msg)
        {
            if (msg == null) throw new ArgumentNullException("msg");
            //Id = msg.contextualId;
            //Look = msg.look;
            //Map = Fight.Map;
            //Update(msg.disposition);
            //IsAlive = msg.alive;
            Alignment = new AlignmentInformations(msg.alignmentInfos);
            Name = msg.name;
            Level = msg.level;
            if (Breed == null || Breed.Id != msg.breed)
                Breed = new Breeds.Breed(ObjectDataManager.Instance.Get<Breed>(msg.breed, true));

            Stats.Update(msg.stats);
        }
        public void Update(GameFightCharacterInformations msg)
        {
            if (msg == null)
            {
                throw new ArgumentNullException("msg");
            }
            //Id = msg.contextualId;
            //Look = msg.look;
            //Map = Fight.Map;
            //Update(msg.disposition);
            //IsAlive = msg.alive;
            Alignment = new AlignmentInformations(msg.alignmentInfos);
            Name      = msg.name;
            Level     = msg.level;
            if (Breed == null || Breed.Id != msg.breed)
            {
                Breed = new Breeds.Breed(ObjectDataManager.Instance.Get <Breed>(msg.breed, true));
            }

            Stats.Update(msg.stats);
        }
        public PlayedCharacter(Bot bot, CharacterBaseInformations informations)
        {
            InformationLevel = MessageLevel.All;// MessageLevel.Warning | MessageLevel.Error;

            if (informations == null) throw new ArgumentNullException("informations");

            Bot = bot;

            Id = informations.id;
            Level = informations.level;
            Name = informations.name;
            Breed = new Breeds.Breed(ObjectDataManager.Instance.Get<Breed>(informations.breed));
            Look = informations.entityLook;
            Sex = informations.sex;

            Inventory = new Inventory(this);
            Stats = new Stats.PlayerStats(this);
            SpellsBook = new SpellsBook(this);
            SpellShortcuts = new SpellShortcutBar(this);
            GeneralShortcuts = new GeneralShortcutBar(this);

            m_jobs = new ObservableCollectionMT<Job>();
            m_readOnlyJobs = new ReadOnlyObservableCollectionMT<Job>(m_jobs);
            m_emotes = new ObservableCollectionMT<Emoticon>();
            m_readOnlyEmotes = new ReadOnlyObservableCollectionMT<Emoticon>(m_emotes);
        }
 public CharacterFighter(GameFightCharacterInformations msg, Fight fight) : base(msg, fight)
 {
     Alignment = new AlignmentInformations(msg.alignmentInfos);
     Breed     = new Breeds.Breed(ObjectDataManager.Instance.Get <Breed>(msg.breed, true));
 }
 public CharacterFighter(GameFightCharacterInformations msg, Fight fight) : base (msg, fight)
 {
     Alignment = new AlignmentInformations(msg.alignmentInfos);
     Breed = new Breeds.Breed(ObjectDataManager.Instance.Get<Breed>(msg.breed, true));            
 }