private void OnItemCraft(ItemCrafterStartEvent craftEvent) { #region Checks if (craftEvent == null) { return; } if (craftEvent.Cancelled) { return; } if (craftEvent.Entity == null) { return; } #endregion var amount = craftEvent.Crafter.QuantityEstimated; var name = craftEvent.Crafter.Product.Name; if (name.EqualsIgnoreCase("Charcoal") && amount > 1000000) { return; } var time = craftEvent.Crafter.Duration; var security = craftEvent.Entity.TryGet <ISecurable>(); if (security == null) { if (!craftEvent.Entity.IsPlayer) { return; } var player = craftEvent.Entity.Owner; PlayerCraftingData data; if (!Data.PlayerCraftingData.TryGetValue(player.Id, out data)) { data = new PlayerCraftingData(); Data.Add(craftEvent.Entity.OwnerId, data); } data.SetCrafting(player.Id, amount, name, time); } else { var objectGUID = security.ObjectGUID; StationCraftingData data; if (!Data.StationCraftingData.TryGetValue(objectGUID, out data)) { data = new StationCraftingData(craftEvent.Entity.name); Data.Add(objectGUID, data); } data.SetCrafting(amount, name, time); } SaveData(); }
private void OnPlayerInteract(InteractEvent interactEvent) { #region Checks if (interactEvent == null) { return; } if (interactEvent.Cancelled) { return; } if (interactEvent.Entity == null) { return; } if (interactEvent.ControllerEntity == null) { return; } if (!interactEvent.ControllerEntity.IsPlayer) { return; } #endregion var player = interactEvent.ControllerEntity.Owner; var security = interactEvent.Entity.TryGet <ISecurable>(); if (security == null) { return; } var objectGUID = security.ObjectGUID; StationCraftingData data; if (!Data.StationCraftingData.TryGetValue(objectGUID, out data)) { data = new StationCraftingData(interactEvent.Entity.name); Data.Add(objectGUID, data); } data.SetInteraction(player.Id); SaveData(); }
public void Add(uint objectGUID, StationCraftingData data) { StationCraftingData.Add(objectGUID, data); }