Пример #1
0
 private TaskState Construct(Dwarf d, float dt, double dtd)
 {
     // TODO: WorldObject is currently constructed instantly because of this code line. This should change in the future
     d.GetActionWorldObject().CraftOnObject(d.GetActionWorldObject().CraftPointsNeeded);
     DwarfConsole.WriteLine("Placed Worldobject: " + d.GetActionWorldObject().ElementType +" " + d.GetActionWorldObject().Level, ConsoleColor.Blue);
     d.RemoveHoldingWorldObject();
     return TaskState.Success;
 }
        private TaskState Deposit(Dwarf d, float dt, double dtd)
        {
            //DwarfConsole.WriteLine("DepositeInBuilding: " + d.GetActionbuilding().BuildingType + " " + d.GetActionbuilding().Id + ", " + d.GetHoldingWorldObject().ElementType + " " + d.GetHoldingWorldObject().Level, ConsoleColor.Green);
            WorldObject m = d.RemoveHoldingWorldObject();

            if (m == null)
                throw new Exception("The dwarf was not carrying any item, and failed to deposit");
                //return TaskState.Fail;

            d.GetActionbuilding().DepositWorldObject(m);

            return TaskState.Success;
        }
Пример #3
0
        private TaskState Consume(Dwarf d, float dt, double dtd)
        {
            if (d.GetHoldingWorldObject() == null)
                throw new Exception("Dwarf does not carry any tool");
            if (d.GetHoldingWorldObject().GetType().IsSubclassOf(typeof(Tool)) == false)
                throw new Exception("Dwarf tried to consume something that was not tool");

            Tool tool = (Tool)d.RemoveHoldingWorldObject();

            d.ConsumeTool(tool);

            return TaskState.PersonalSuccess;
        }