public SpellsBook(PlayedCharacter owner) { if (owner == null) throw new ArgumentNullException("owner"); Character = owner; m_spells = new ObservableCollectionMT<Spell>(); m_readOnlySpells = new ReadOnlyObservableCollectionMT<Spell>(m_spells); }
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); }
private void HandleOption(HumanOption option) { if (option is HumanOptionEmote) { var emote = (HumanOptionEmote)option; Emote = emote.emoteId > 0 ? ObjectDataManager.Instance.Get <Emoticon>(emote.emoteId) : null; EmoteStartTime = emote.emoteStartTime > 0 ? new DateTime?(emote.emoteStartTime.UnixTimestampToDateTime()) : null; } else if (option is HumanOptionFollowers) { m_followingCharactersLook = new ObservableCollectionMT <IndexedEntityLook>(((HumanOptionFollowers)option).followingCharactersLook); } else if (option is HumanOptionGuild) { // todo : guild } else if (option is HumanOptionOrnament) { // todo } else if (option is HumanOptionTitle) { // todo } else { throw new Exception(string.Format("Unattempt HumanOption type {0}", option.GetType())); } }
public override void Dispose() { m_followingCharactersLook.Clear(); m_followingCharactersLook = null; base.Dispose(); }
public Inventory(PlayedCharacter owner) { if (owner == null) throw new ArgumentNullException("owner"); Owner = owner; m_items = new ObservableCollectionMT<Item>(); m_readOnlyItems = new ReadOnlyObservableCollectionMT<Item>(m_items); AutomaticallyDestroyItemsOnOverload = false; }
public SnifferViewModel(Bot bot) : base(bot) { m_messages = new ObservableCollectionMT <ObjectDumpNode>(); m_readOnlyMessages = new ReadOnlyObservableCollectionMT <ObjectDumpNode>(m_messages); IsPaused = DefaultPaused; OnTheFly = DefaultRecordOnTheFly; }
public ItemToSellInNpcShop(ObjectItemToSellInNpcShop item) : base(item.objectGID) { Effects = new ObservableCollectionMT<ObjectEffect>(item.effects); PowerRate = item.powerRate; OverMax = item.overMax; ObjectPrice = item.objectPrice; BuyCriterion = item.buyCriterion; }
public ItemNotInContainer(ObjectItemNotInContainer item) : base(item.objectGID) { Guid = item.objectUID; Effects = new ObservableCollectionMT <ObjectEffect>(item.effects); Quantity = item.quantity; PowerRate = item.powerRate; OverMax = item.overMax; }
public ItemToSellInNpcShop(ObjectItemToSellInNpcShop item) : base(item.objectGID) { Effects = new ObservableCollectionMT <ObjectEffect>(item.effects); PowerRate = item.powerRate; OverMax = item.overMax; ObjectPrice = item.objectPrice; BuyCriterion = item.buyCriterion; }
public ItemNotInContainer(ObjectItemNotInContainer item) : base(item.objectGID) { Guid = item.objectUID; Effects = new ObservableCollectionMT<ObjectEffect>(item.effects); Quantity = item.quantity; PowerRate = item.powerRate; OverMax = item.overMax; }
public ItemToSell(ObjectItemToSell item) : base(item.objectGID) { Guid = item.objectUID; Effects = new ObservableCollectionMT<ObjectEffect>(item.effects); Quantity = item.quantity; PowerRate = item.powerRate; OverMax = item.overMax; ObjectPrice = item.objectPrice; }
public ShortcutBar(PlayedCharacter character) { if (character == null) { throw new ArgumentNullException("character"); } Character = character; m_shortcuts = new ObservableCollectionMT <T>(); m_readOnlyShortcuts = new ReadOnlyObservableCollectionMT <T>(m_shortcuts); }
public ItemToSell(ObjectItemToSell item) : base(item.objectGID) { Guid = item.objectUID; Effects = new ObservableCollectionMT <ObjectEffect>(item.effects); Quantity = item.quantity; PowerRate = item.powerRate; OverMax = item.overMax; ObjectPrice = item.objectPrice; }
public SpellsBook(PlayedCharacter owner) { if (owner == null) { throw new ArgumentNullException("owner"); } Character = owner; m_spells = new ObservableCollectionMT <Spell>(); m_readOnlySpells = new ReadOnlyObservableCollectionMT <Spell>(m_spells); }
public Item(ObjectItem item) : base(item.objectGID) { Guid = item.objectUID; m_effects = new ObservableCollectionMT<EffectBase>(item.effects.Select(EffectBase.CreateInstance)); m_readOnlyEffects = new ReadOnlyObservableCollectionMT<EffectBase>(m_effects); Quantity = item.quantity; PowerRate = item.powerRate; OverMax = item.overMax; Position = (CharacterInventoryPositionEnum)item.position; }
public Inventory(PlayedCharacter owner) { if (owner == null) { throw new ArgumentNullException("owner"); } Owner = owner; m_items = new ObservableCollectionMT <Item>(); m_readOnlyItems = new ReadOnlyObservableCollectionMT <Item>(m_items); AutomaticallyDestroyItemsOnOverload = false; }
public Item(ObjectItem item) : base(item.objectGID) { Guid = item.objectUID; m_effects = new ObservableCollectionMT <EffectBase>(item.effects.Select(EffectBase.CreateInstance)); m_readOnlyEffects = new ReadOnlyObservableCollectionMT <EffectBase>(m_effects); Quantity = item.quantity; PowerRate = item.powerRate; OverMax = item.overMax; Position = (CharacterInventoryPositionEnum)item.position; }
public Map(int id, string decryptionKey) { // decryption key not used ? oO m_map = MapsManager.Instance.GetDlmMap(id, GenericDecryptionKey); m_position = ObjectDataManager.Instance.GetOrDefault <MapPosition>(id); IEnumerable <Cell> cells = m_map.Cells.Select(entry => new Cell(this, entry)); m_cells = new CellList(cells.ToArray()); InitializeElements(); LoadSubMaps(); m_interactives = new ObservableCollectionMT <InteractiveObject>(); m_readOnlyInteractives = new ReadOnlyObservableCollectionMT <InteractiveObject>(m_interactives); }
public InteractiveObject(Map map, InteractiveElement interactive) { if (map == null) throw new ArgumentNullException("map"); if (interactive == null) throw new ArgumentNullException("interactive"); Id = interactive.elementId; Type = interactive.elementTypeId > 0 ? ObjectDataManager.Instance.Get<Interactive>(interactive.elementTypeId) : null; Map = map; m_enabledSkills = new ObservableCollectionMT<InteractiveSkill>(interactive.enabledSkills.Select(x => new InteractiveSkill(this, x))); m_readOnlyEnabledSkills = new ReadOnlyObservableCollectionMT<InteractiveSkill>(m_enabledSkills); m_disabledSkills = new ObservableCollectionMT<InteractiveSkill>(interactive.disabledSkills.Select(x => new InteractiveSkill(this, x))); m_readOnlyDisabledSkills = new ReadOnlyObservableCollectionMT<InteractiveSkill>(m_disabledSkills); }
public InteractiveObject(Map map, InteractiveElement interactive) { if (map == null) { throw new ArgumentNullException("map"); } if (interactive == null) { throw new ArgumentNullException("interactive"); } Id = interactive.elementId; Type = interactive.elementTypeId > 0 ? ObjectDataManager.Instance.Get <Interactive>(interactive.elementTypeId) : null; Map = map; m_enabledSkills = new ObservableCollectionMT <InteractiveSkill>(interactive.enabledSkills.Select(x => new InteractiveSkill(this, x))); m_readOnlyEnabledSkills = new ReadOnlyObservableCollectionMT <InteractiveSkill>(m_enabledSkills); m_disabledSkills = new ObservableCollectionMT <InteractiveSkill>(interactive.disabledSkills.Select(x => new InteractiveSkill(this, x))); m_readOnlyDisabledSkills = new ReadOnlyObservableCollectionMT <InteractiveSkill>(m_disabledSkills); }
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 MapContext() { _collectionActors = new ObservableCollectionMT <T>(); _readOnlyActors = new ReadOnlyObservableCollectionMT <T>(_collectionActors); _trappedCells = new SortedList <int, SortedSet <short> >(); }
public PlayerStats() { Fields = new Dictionary<PlayerField, StatsRow> { {PlayerField.Initiative, new StatsRow(PlayerField.Initiative, x => OnPropertyChanged("Initiative"))}, {PlayerField.Prospecting, new StatsRow(PlayerField.Prospecting)}, {PlayerField.AP, new StatsRow(PlayerField.AP, x => { OnPropertyChanged("MaxAP"); OnPropertyChanged("AP"); }) }, { PlayerField.MP, new StatsRow(PlayerField.MP, x => { OnPropertyChanged("MaxMP"); OnPropertyChanged("MP"); }) }, {PlayerField.Strength, new StatsRow(PlayerField.Strength, x => OnPropertyChanged("Strength"))}, {PlayerField.Vitality, new StatsRow(PlayerField.Vitality, x => OnPropertyChanged("Vitality"))}, {PlayerField.Wisdom, new StatsRow(PlayerField.Wisdom, x => OnPropertyChanged("Wisdom"))}, {PlayerField.Chance, new StatsRow(PlayerField.Chance, x => OnPropertyChanged("Chance"))}, {PlayerField.Agility, new StatsRow(PlayerField.Agility, x => OnPropertyChanged("Agility"))}, {PlayerField.Intelligence, new StatsRow(PlayerField.Intelligence, x => OnPropertyChanged("Intelligence"))}, {PlayerField.Range, new StatsRow(PlayerField.Range, x => OnPropertyChanged("Range"))}, {PlayerField.SummonLimit, new StatsRow(PlayerField.SummonLimit)}, {PlayerField.DamageReflection, new StatsRow(PlayerField.DamageReflection)}, {PlayerField.CriticalHit, new StatsRow(PlayerField.CriticalHit)}, {PlayerField.CriticalMiss, new StatsRow(PlayerField.CriticalMiss)}, {PlayerField.HealBonus, new StatsRow(PlayerField.HealBonus)}, {PlayerField.DamageBonus, new StatsRow(PlayerField.DamageBonus)}, {PlayerField.WeaponDamageBonusPercent, new StatsRow(PlayerField.WeaponDamageBonusPercent)}, {PlayerField.DamageBonusPercent, new StatsRow(PlayerField.DamageBonusPercent)}, {PlayerField.TrapBonus, new StatsRow(PlayerField.TrapBonus)}, {PlayerField.TrapBonusPercent, new StatsRow(PlayerField.TrapBonusPercent)}, {PlayerField.PermanentDamagePercent, new StatsRow(PlayerField.PermanentDamagePercent, x => OnPropertyChanged("PermanentDamagePercent"))}, {PlayerField.TackleBlock, new StatsRow(PlayerField.TackleBlock, x => OnPropertyChanged("TackleBlock"))}, {PlayerField.TackleEvade, new StatsRow(PlayerField.TackleEvade, x => OnPropertyChanged("TackleEvade"))}, {PlayerField.APAttack, new StatsRow(PlayerField.APAttack)}, {PlayerField.MPAttack, new StatsRow(PlayerField.MPAttack)}, {PlayerField.PushDamageBonus, new StatsRow(PlayerField.PushDamageBonus)}, {PlayerField.CriticalDamageBonus, new StatsRow(PlayerField.CriticalDamageBonus)}, {PlayerField.NeutralDamageBonus, new StatsRow(PlayerField.NeutralDamageBonus)}, {PlayerField.EarthDamageBonus, new StatsRow(PlayerField.EarthDamageBonus)}, {PlayerField.WaterDamageBonus, new StatsRow(PlayerField.WaterDamageBonus)}, {PlayerField.AirDamageBonus, new StatsRow(PlayerField.AirDamageBonus)}, {PlayerField.FireDamageBonus, new StatsRow(PlayerField.FireDamageBonus)}, {PlayerField.DodgeAPProbability, new StatsRow(PlayerField.DodgeAPProbability, x => OnPropertyChanged("DodgeAPProbability"))}, {PlayerField.DodgeMPProbability, new StatsRow(PlayerField.DodgeMPProbability, x => OnPropertyChanged("DodgeMPProbability"))}, {PlayerField.NeutralResistPercent, new StatsRow(PlayerField.NeutralResistPercent, x => OnPropertyChanged("NeutralResistPercent"))}, {PlayerField.EarthResistPercent, new StatsRow(PlayerField.EarthResistPercent, x => OnPropertyChanged("EarthResistPercent"))}, {PlayerField.WaterResistPercent, new StatsRow(PlayerField.WaterResistPercent, x => OnPropertyChanged("WaterResistPercent"))}, {PlayerField.AirResistPercent, new StatsRow(PlayerField.AirResistPercent, x => OnPropertyChanged("AirResistPercent"))}, {PlayerField.FireResistPercent, new StatsRow(PlayerField.FireResistPercent, x => OnPropertyChanged("FireResistPercent"))}, {PlayerField.NeutralElementReduction, new StatsRow(PlayerField.NeutralElementReduction, x => OnPropertyChanged("NeutralElementReduction"))}, {PlayerField.EarthElementReduction, new StatsRow(PlayerField.EarthElementReduction, x => OnPropertyChanged("EarthElementReduction"))}, {PlayerField.WaterElementReduction, new StatsRow(PlayerField.WaterElementReduction, x => OnPropertyChanged("WaterElementReduction"))}, {PlayerField.AirElementReduction, new StatsRow(PlayerField.AirElementReduction, x => OnPropertyChanged("AirElementReduction"))}, {PlayerField.FireElementReduction, new StatsRow(PlayerField.FireElementReduction, x => OnPropertyChanged("FireElementReduction"))}, {PlayerField.PushDamageReduction, new StatsRow(PlayerField.PushDamageReduction)}, {PlayerField.CriticalDamageReduction, new StatsRow(PlayerField.CriticalDamageReduction)}, {PlayerField.PvpNeutralResistPercent, new StatsRow(PlayerField.PvpNeutralResistPercent, x => OnPropertyChanged("NeutralResistPercent"))}, {PlayerField.PvpEarthResistPercent, new StatsRow(PlayerField.PvpEarthResistPercent, x => OnPropertyChanged("EarthResistPercent"))}, {PlayerField.PvpWaterResistPercent, new StatsRow(PlayerField.PvpWaterResistPercent, x => OnPropertyChanged("WaterResistPercent"))}, {PlayerField.PvpAirResistPercent, new StatsRow(PlayerField.PvpAirResistPercent, x => OnPropertyChanged("AirResistPercent"))}, {PlayerField.PvpFireResistPercent, new StatsRow(PlayerField.PvpFireResistPercent, x => OnPropertyChanged("FireResistPercent"))}, {PlayerField.PvpNeutralElementReduction, new StatsRow(PlayerField.PvpNeutralElementReduction, x => OnPropertyChanged("NeutralElementReduction"))}, {PlayerField.PvpEarthElementReduction, new StatsRow(PlayerField.PvpEarthElementReduction, x => OnPropertyChanged("EarthElementReduction"))}, {PlayerField.PvpWaterElementReduction, new StatsRow(PlayerField.PvpWaterElementReduction, x => OnPropertyChanged("WaterElementReduction"))}, {PlayerField.PvpAirElementReduction, new StatsRow(PlayerField.PvpAirElementReduction, x => OnPropertyChanged("AirElementReduction"))}, {PlayerField.PvpFireElementReduction, new StatsRow(PlayerField.PvpFireElementReduction, x => OnPropertyChanged("FireElementReduction"))}, }; SpellsModifications = new ObservableCollectionMT<SpellModification>(); InvisibilityState = GameActionFightInvisibilityStateEnum.VISIBLE; }
public PlayerStats() { Fields = new Dictionary <PlayerField, StatsRow> { { PlayerField.Initiative, new StatsRow(PlayerField.Initiative, x => OnPropertyChanged("Initiative")) }, { PlayerField.Prospecting, new StatsRow(PlayerField.Prospecting) }, { PlayerField.AP, new StatsRow(PlayerField.AP, x => { OnPropertyChanged("MaxAP"); OnPropertyChanged("AP"); }) }, { PlayerField.MP, new StatsRow(PlayerField.MP, x => { OnPropertyChanged("MaxMP"); OnPropertyChanged("MP"); }) }, { PlayerField.Strength, new StatsRow(PlayerField.Strength, x => OnPropertyChanged("Strength")) }, { PlayerField.Vitality, new StatsRow(PlayerField.Vitality, x => OnPropertyChanged("Vitality")) }, { PlayerField.Wisdom, new StatsRow(PlayerField.Wisdom, x => OnPropertyChanged("Wisdom")) }, { PlayerField.Chance, new StatsRow(PlayerField.Chance, x => OnPropertyChanged("Chance")) }, { PlayerField.Agility, new StatsRow(PlayerField.Agility, x => OnPropertyChanged("Agility")) }, { PlayerField.Intelligence, new StatsRow(PlayerField.Intelligence, x => OnPropertyChanged("Intelligence")) }, { PlayerField.Range, new StatsRow(PlayerField.Range, x => OnPropertyChanged("Range")) }, { PlayerField.SummonLimit, new StatsRow(PlayerField.SummonLimit) }, { PlayerField.DamageReflection, new StatsRow(PlayerField.DamageReflection) }, { PlayerField.CriticalHit, new StatsRow(PlayerField.CriticalHit) }, { PlayerField.CriticalMiss, new StatsRow(PlayerField.CriticalMiss) }, { PlayerField.HealBonus, new StatsRow(PlayerField.HealBonus) }, { PlayerField.DamageBonus, new StatsRow(PlayerField.DamageBonus) }, { PlayerField.WeaponDamageBonusPercent, new StatsRow(PlayerField.WeaponDamageBonusPercent) }, { PlayerField.DamageBonusPercent, new StatsRow(PlayerField.DamageBonusPercent) }, { PlayerField.TrapBonus, new StatsRow(PlayerField.TrapBonus) }, { PlayerField.TrapBonusPercent, new StatsRow(PlayerField.TrapBonusPercent) }, { PlayerField.PermanentDamagePercent, new StatsRow(PlayerField.PermanentDamagePercent, x => OnPropertyChanged("PermanentDamagePercent")) }, { PlayerField.TackleBlock, new StatsRow(PlayerField.TackleBlock, x => OnPropertyChanged("TackleBlock")) }, { PlayerField.TackleEvade, new StatsRow(PlayerField.TackleEvade, x => OnPropertyChanged("TackleEvade")) }, { PlayerField.APAttack, new StatsRow(PlayerField.APAttack) }, { PlayerField.MPAttack, new StatsRow(PlayerField.MPAttack) }, { PlayerField.PushDamageBonus, new StatsRow(PlayerField.PushDamageBonus) }, { PlayerField.CriticalDamageBonus, new StatsRow(PlayerField.CriticalDamageBonus) }, { PlayerField.NeutralDamageBonus, new StatsRow(PlayerField.NeutralDamageBonus) }, { PlayerField.EarthDamageBonus, new StatsRow(PlayerField.EarthDamageBonus) }, { PlayerField.WaterDamageBonus, new StatsRow(PlayerField.WaterDamageBonus) }, { PlayerField.AirDamageBonus, new StatsRow(PlayerField.AirDamageBonus) }, { PlayerField.FireDamageBonus, new StatsRow(PlayerField.FireDamageBonus) }, { PlayerField.DodgeAPProbability, new StatsRow(PlayerField.DodgeAPProbability, x => OnPropertyChanged("DodgeAPProbability")) }, { PlayerField.DodgeMPProbability, new StatsRow(PlayerField.DodgeMPProbability, x => OnPropertyChanged("DodgeMPProbability")) }, { PlayerField.NeutralResistPercent, new StatsRow(PlayerField.NeutralResistPercent, x => OnPropertyChanged("NeutralResistPercent")) }, { PlayerField.EarthResistPercent, new StatsRow(PlayerField.EarthResistPercent, x => OnPropertyChanged("EarthResistPercent")) }, { PlayerField.WaterResistPercent, new StatsRow(PlayerField.WaterResistPercent, x => OnPropertyChanged("WaterResistPercent")) }, { PlayerField.AirResistPercent, new StatsRow(PlayerField.AirResistPercent, x => OnPropertyChanged("AirResistPercent")) }, { PlayerField.FireResistPercent, new StatsRow(PlayerField.FireResistPercent, x => OnPropertyChanged("FireResistPercent")) }, { PlayerField.NeutralElementReduction, new StatsRow(PlayerField.NeutralElementReduction, x => OnPropertyChanged("NeutralElementReduction")) }, { PlayerField.EarthElementReduction, new StatsRow(PlayerField.EarthElementReduction, x => OnPropertyChanged("EarthElementReduction")) }, { PlayerField.WaterElementReduction, new StatsRow(PlayerField.WaterElementReduction, x => OnPropertyChanged("WaterElementReduction")) }, { PlayerField.AirElementReduction, new StatsRow(PlayerField.AirElementReduction, x => OnPropertyChanged("AirElementReduction")) }, { PlayerField.FireElementReduction, new StatsRow(PlayerField.FireElementReduction, x => OnPropertyChanged("FireElementReduction")) }, { PlayerField.PushDamageReduction, new StatsRow(PlayerField.PushDamageReduction) }, { PlayerField.CriticalDamageReduction, new StatsRow(PlayerField.CriticalDamageReduction) }, { PlayerField.PvpNeutralResistPercent, new StatsRow(PlayerField.PvpNeutralResistPercent, x => OnPropertyChanged("NeutralResistPercent")) }, { PlayerField.PvpEarthResistPercent, new StatsRow(PlayerField.PvpEarthResistPercent, x => OnPropertyChanged("EarthResistPercent")) }, { PlayerField.PvpWaterResistPercent, new StatsRow(PlayerField.PvpWaterResistPercent, x => OnPropertyChanged("WaterResistPercent")) }, { PlayerField.PvpAirResistPercent, new StatsRow(PlayerField.PvpAirResistPercent, x => OnPropertyChanged("AirResistPercent")) }, { PlayerField.PvpFireResistPercent, new StatsRow(PlayerField.PvpFireResistPercent, x => OnPropertyChanged("FireResistPercent")) }, { PlayerField.PvpNeutralElementReduction, new StatsRow(PlayerField.PvpNeutralElementReduction, x => OnPropertyChanged("NeutralElementReduction")) }, { PlayerField.PvpEarthElementReduction, new StatsRow(PlayerField.PvpEarthElementReduction, x => OnPropertyChanged("EarthElementReduction")) }, { PlayerField.PvpWaterElementReduction, new StatsRow(PlayerField.PvpWaterElementReduction, x => OnPropertyChanged("WaterElementReduction")) }, { PlayerField.PvpAirElementReduction, new StatsRow(PlayerField.PvpAirElementReduction, x => OnPropertyChanged("AirElementReduction")) }, { PlayerField.PvpFireElementReduction, new StatsRow(PlayerField.PvpFireElementReduction, x => OnPropertyChanged("FireElementReduction")) }, }; SpellsModifications = new ObservableCollectionMT <SpellModification>(); InvisibilityState = GameActionFightInvisibilityStateEnum.VISIBLE; }
private void HandleOption(HumanOption option) { if (option is HumanOptionEmote) { var emote = (HumanOptionEmote)option; Emote = emote.emoteId > 0 ? ObjectDataManager.Instance.Get<Emoticon>(emote.emoteId) : null; EmoteStartTime = emote.emoteStartTime > 0 ? new DateTime?(emote.emoteStartTime.UnixTimestampToDateTime()) : null; } else if (option is HumanOptionFollowers) { m_followingCharactersLook = new ObservableCollectionMT<IndexedEntityLook>(( (HumanOptionFollowers)option ).followingCharactersLook); } else if (option is HumanOptionGuild) { // todo : guild } else if (option is HumanOptionOrnament) { // todo } else if (option is HumanOptionTitle) { // todo } else { throw new Exception(string.Format("Unattempt HumanOption type {0}", option.GetType())); } }