public IPlayer Create(string user, CharClass cc, int xp, int coins) { ICharClass icc = charClassConverter.Convert(cc, xp); Dictionary <EquipSlot, IEquipment> dic = new Dictionary <EquipSlot, IEquipment>(); IList <IItem> items = new List <IItem>(); LegacyItemEquipmentConverter ef = new LegacyItemEquipmentConverter(); cc.myItems.ForEach(item => { IEquipment e = ef.Convert(item); if (e != null) { if (item.isActive) { dic.Add(e.EquipSlot, e); } else { items.Add(e); } } }); IPlayer player = new Player(user, icc, coins, cc.lastDailyGroupFinder, items, dic); foreach (var o in observers) { player.AddObserver(o); } return(player); }
public IPlayer Create(IPlayer player, CharClassType type) { ICharClass icc = charClassRepository.GetById(type.ID); icc.AddXp(player.CharClass.PlayerLevelInfo.XP); return(new Player(player.Name, icc, player.Coins, player.LastDailyGroupFinder, new List <IItem>(), new Dictionary <EquipSlot, IEquipment>())); }
public Player(string name, int levelCap) { this.Name = name; this.charClass = new DeprivedCharClass(levelCap); this.coins = 0; this.LastDailyGroupFinder = DateTime.Now; this.items = new List <IItem>(); this.StatusEffects = new HashSet <IStatusable>(); this.Equipped = new Equipped(this); this.levelObservers = new List <ILevelObserver>(); }
public Player(string name, ICharClass charClass, int coins, DateTime lastDailyGroupFinder, IList <IItem> items, IDictionary <EquipSlot, IEquipment> equipped) { this.Name = name; this.charClass = charClass; this.coins = coins; this.LastDailyGroupFinder = lastDailyGroupFinder; this.items = items; this.StatusEffects = new HashSet <IStatusable>(); this.Equipped = new Equipped(this, equipped); this.levelObservers = new List <ILevelObserver>(); }
public KeyValuePair <CharClass, int> Convert(ICharClass icc) { CharClass cc = new CharClass(); cc.classType = LEGACY_CLASS_TYPE.Single(kv => kv.Value.Equals(icc.CharClassType)).Key; cc.coinBonus = icc.CoinBonus; cc.itemFind = icc.ItemFind; cc.myPets = new List <Pet>(icc.MyPets); cc.prestige = icc.Prestige; cc.preventDeathBonus = icc.PreventDeathBonus; cc.successChance = icc.SuccessChance; cc.xpBonus = icc.XpBonus; LevelFactory lf = new LevelFactory(); return(new KeyValuePair <CharClass, int>(cc, lf.createFromLevel(levelCap, icc.Level).XP)); }
private PlayerDTO Convert(IPlayer player) { PlayerDTO.CharClassDTO ccdto = new PlayerDTO.CharClassDTO(); ICharClass icc = player.CharClass; ccdto.Type = icc.CharClassType; ccdto.CoinBonus = icc.CoinBonus; ccdto.ItemFind = icc.ItemFind; ccdto.Pets = icc.MyPets; ccdto.Prestige = icc.Prestige; ccdto.PreventDeathBonus = icc.PreventDeathBonus; ccdto.SuccessChance = icc.SuccessChance; ccdto.XpBonus = icc.XpBonus; ccdto.Xp = icc.PlayerLevelInfo.XP; IList <long> items = new List <long>(); foreach (var item in player.Items) { items.Add(item.ID); } var equipment = new Dictionary <EquipSlot, long>(); foreach (var slot in player.Equipped.GetEquipped()) { equipment.Add(slot.Key, slot.Value.ID); } PlayerDTO dto = new PlayerDTO(); dto.ID = player.ID; dto.Name = player.Name; dto.CharClass = ccdto; dto.Coins = player.Coins; dto.LastDailyGroupFinder = player.LastDailyGroupFinder; dto.Items = items; dto.Equipment = equipment; return(dto); }