public Craft(string itemName) { Name = itemName; var craftable = ResourceMasterList.GetDefault(itemName).GetTag("craftable"); ResourceTags = craftable.GetTag("resources").SubTags; WorkRequired = craftable.GetTag("workrequired").Value.GetDouble(); try { var station = craftable.GetTag("station").Value.GetString(); foreach (var e in GameManager.ActiveMap.Entities) { if (e.Name != station) { continue; } Site = e.Pos; break; } } catch (Exception) { CraftAtLocation = true; } }
public Build(Point location, string buildingName) { Name = buildingName; Site = location; var buildable = ResourceMasterList.GetDefault(buildingName).GetTag("buildable"); ResourceTags = buildable.GetTag("resources").SubTags; WorkRequired = buildable.GetTag("workrequired").Value.GetDouble(); }
protected override void Finish() { Owner.Map.RemoveEntityById(Resource.Id); var yield = Resource.GetTag("harvestable.yield").SubTags; foreach (var y in yield) { for (var i = y.GetTag("amount").Value.GetDouble(); i > 0; i--) { Owner.Map.AddEntity(ResourceMasterList.GetDefaultClone(y.GetTag("name").Value.GetString()), Resource.Pos); } } Completed = true; }
protected override void Finish() { Logger.Log("Construct.Finish"); Owner.Map.AddEntity(ResourceMasterList.GetDefaultClone(Name), Site); Completed = true; }