Exemplo n.º 1
0
        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;
            }
        }
Exemplo n.º 2
0
        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();
        }
Exemplo n.º 3
0
        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;
        }
Exemplo n.º 4
0
 protected override void Finish()
 {
     Logger.Log("Construct.Finish");
     Owner.Map.AddEntity(ResourceMasterList.GetDefaultClone(Name), Site);
     Completed = true;
 }