Exemple #1
0
        private void GenerateCraftResource(string template, int count, ConcurrentDictionary <string, ServerInventoryItem> newObjects)
        {
            if (string.IsNullOrEmpty(template))
            {
                template = resource.craftObjects.random.id;
            }
            var data = resource.craftObjects[template];

            if (data != null)
            {
                CraftResourceObject obj = new CraftResourceObject(data.id, data.color, false);
                newObjects.TryAdd(obj.Id, new ServerInventoryItem(obj, count));
            }
        }
Exemple #2
0
        private ServerInventoryItem GiveCraftResourceSpecial(MmoActor player, ContractCraftResourceSpecialReward reward)
        {
            if (reward == null)
            {
                return(null);
            }
            var data = player.resource.craftObjects[reward.id];

            if (data == null)
            {
                return(null);
            }
            CraftResourceObject obj = new CraftResourceObject(data.id, data.color);

            return(new ServerInventoryItem(obj, reward.count));
        }
Exemple #3
0
        private ServerInventoryItem GiveCraftResource(MmoActor player, ContractCraftResourceDataReward reward)
        {
            if (reward == null)
            {
                return(null);
            }
            var resourceList = player.resource.craftObjects.all; //.Where(o => o.color != ObjectColor.orange).ToList();

            if (resourceList.Count == 0)
            {
                return(null);
            }
            var craftResourceObject = resourceList.AnyElement();
            CraftResourceObject obj = new CraftResourceObject(craftResourceObject.id, craftResourceObject.color);

            return(new ServerInventoryItem(obj, reward.count));
        }
Exemple #4
0
        public Hashtable AddAllCraftResources()
        {
            var stationInventory = player.Station.StationInventory;

            foreach (var data in player.resource.craftObjects.all)
            {
                if (false == stationInventory.HasSlotsForItems(new List <string> {
                    data.id
                }))
                {
                    break;
                }
                else
                {
                    CraftResourceObject obj = new CraftResourceObject(data.id, data.color, false);
                    stationInventory.Add(obj, 10);
                }
            }
            player.EventOnStationHoldUpdated();
            return(CreateResponse(RPCErrorCode.Ok));
        }
Exemple #5
0
        public bool RemovePetInfo(string id)
        {
            var pet = pets.GetPet(id);
            if (pet != null) {

                bool success = pets.RemovePet(id);

                if(pet.color != PetColor.gray) {

                    if(m_Player) {

                        var stationInventory = m_Player.Station.StationInventory;

                        if(stationInventory.HasSlotsForItems(new List<string> { kCraftResourceForPetDeconstruction })) {

                            var craftData = resource.craftObjects[kCraftResourceForPetDeconstruction];

                            if(craftData != null ) {

                                CraftResourceObject craftResource = new CraftResourceObject(kCraftResourceForPetDeconstruction, craftData.color, false);
                                if(stationInventory.Add(craftResource, 1)) {
                                    m_Player.EventOnStationHoldUpdated();
                                }
                            }

                        }
                    }
                }

                if(success) {
                    if(m_Player) {
                        GetComponent<MmoMessageComponent>().ReceivePetsUpdate();
                    }
                }
                return success;
            }
            return false;
        }