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)); } }
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)); }
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)); }
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)); }
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; }