private void GenerateNebulaElements(string template, int count, ConcurrentDictionary <string, ServerInventoryItem> newObjects) { if (string.IsNullOrEmpty(template)) { template = resource.PassiveBonuses.allData[Rand.Int(0, resource.PassiveBonuses.allData.Length - 1)].elementID; } NebulaElementObject obj = new NebulaElementObject(template, template); newObjects.TryAdd(obj.Id, new ServerInventoryItem(obj, count)); }
private ServerInventoryItem GiveNebulaElement(MmoActor player, ContractNebulaElementDataReward reward) { if (reward == null) { return(null); } var randomPassiveBonus = player.resource.PassiveBonuses.allData.ToList().AnyElement(); string nebulaElementId = randomPassiveBonus.elementID; NebulaElementObject nebulaElementObject = new NebulaElementObject(nebulaElementId, nebulaElementId); return(new ServerInventoryItem(nebulaElementObject, reward.count)); }
public void OnWasKilled() { s_Log.InfoFormat("MiningStation.OnWasKilled() call with = {0} damagers".Color(LogColor.orange), m_damagers.Count); if (currentCount > 0 && m_damagers.Count > 0) { NebulaElementObject nebObject = new NebulaElementObject(nebulaElementID, nebulaElementID); ServerInventoryItem serverInventoryItem = new ServerInventoryItem(nebObject, currentCount); List <ServerInventoryItem> itemsPerDamager = new List <ServerInventoryItem> { serverInventoryItem }; var chest = ObjectCreate.Chest(nebulaObject.world as MmoWorld, transform.position, 4 * 60, m_damagers, itemsPerDamager); chest.AddToWorld(); } }