public FlowerObject[] TulipsRanking()
        {
            FlowerObject[] list = new FlowerObject[100];
            int            i    = 0;

            foreach (FlowerObject flowerObject in ServerKernel.FlowerRankingDict.Values.OrderByDescending(x => x.Tulips))
            {
                list[i++] = flowerObject;
            }
            Array.Resize(ref list, i + 1);
            return(list);
        }
        public bool AddFlowers(FlowerType flower, uint dwAmount, uint idTarget)
        {
            FlowerObject obj;

            if (!ServerKernel.FlowerRankingDict.TryGetValue(idTarget, out obj))
            {
                Client target;
                if (!ServerKernel.Players.TryGetValue(idTarget, out target) || target.Character == null)
                {
                    return(false);
                }

                obj = new FlowerObject(idTarget, target.Character.Name);
                ServerKernel.FlowerRankingDict.TryAdd(idTarget, obj);
            }

            switch (flower)
            {
            case FlowerType.RED_ROSE:
            {
                obj.RedRoses      += dwAmount;
                obj.RedRosesToday += dwAmount;
                break;
            }

            case FlowerType.WHITE_ROSE:
            {
                obj.WhiteRoses      += dwAmount;
                obj.WhiteRosesToday += dwAmount;
                break;
            }

            case FlowerType.ORCHID:
            {
                obj.Orchids      += dwAmount;
                obj.OrchidsToday += dwAmount;
                break;
            }

            case FlowerType.TULIP:
            {
                obj.Tulips      += dwAmount;
                obj.TulipsToday += dwAmount;
                break;
            }
            }

            return(new FlowerRepository().SaveOrUpdate(obj.Database));
        }
Beispiel #3
0
    public void AddItem(FlowerObject flowerObj, int amountObj)
    {
        bool hasItem = false;

        for (int i = 0; i < Container.Count; i++)
        {
            if (Container[i]._flowerObject == flowerObj)
            {
                Container[i].AddAmount(amountObj);
                hasItem = true;
                break;
            }
        }
        if (!hasItem)
        {
            Container.Add(new InventorySlot(flowerObj, amountObj));
        }
    }
        public static void HandleRank(Character pUser, MsgRank pMsg)
        {
            switch (pMsg.Mode)
            {
            case 2:
            {
                if (pUser.Gender != 2)
                {
                    return;
                }

                FlowerObject obj = ServerKernel.FlowerRanking.FetchUser(pUser.Identity);
                if (obj == null)
                {
                    ServerKernel.FlowerRanking.AddFlowers(FlowerType.RED_ROSE, 0, pUser.Identity);
                    obj = ServerKernel.FlowerRanking.FetchUser(pUser.Identity);
                    if (obj == null)
                    {
                        return;
                    }
                }

                string szFlowers = string.Format("{0} {1} {2} {3} {4} {5} {6} {7}"
                                                 , pUser.RedRoses, obj.RedRosesToday
                                                 , pUser.WhiteRoses, obj.WhiteRosesToday
                                                 , pUser.Orchids, obj.OrchidsToday
                                                 , pUser.Tulips, obj.TulipsToday);
                pMsg.Mode = 1;
                pMsg.SetFlowers(szFlowers);
                pUser.Send(pMsg);
                break;
            }

            default:
                GamePacketHandler.Report(pMsg);
                break;
            }
        }
        public FlowerRanking()
        {
            var plrList = new CharacterRepository().FetchAll();
            var rank    = new FlowerRepository().FetchAll();

            foreach (var plr in rank)
            {
                var player = plrList.FirstOrDefault(x => x.Identity == plr.PlayerIdentity);
                if (player == null)
                {
                    continue;
                }
                FlowerObject obj = new FlowerObject(plr)
                {
                    PlayerName = plr.PlayerName,
                    RedRoses   = player.RedRoses,
                    WhiteRoses = player.WhiteRoses,
                    Orchids    = player.Orchids,
                    Tulips     = player.Tulips,
                };
                ServerKernel.FlowerRankingDict.TryAdd(player.Identity, obj);
            }
            ServerKernel.Log.SaveLog("Flower Ranking loaded...", true);
        }
Beispiel #6
0
 public InventorySlot(FlowerObject flowerObj, int amountObj)
 {
     _flowerObject   = flowerObj;
     _amountofObject = amountObj;
 }