Example #1
0
        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);
        }
Example #2
0
        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>()));
        }
Example #3
0
 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>();
 }
Example #4
0
 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>();
 }
Example #5
0
        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));
        }
Example #6
0
        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);
        }