private TaskState Pickup(Dwarf d, float dt, double dtd) { WorldObject obj = d.GetActionPasture().WithdrawWorldObject(d.GetActionWorldObject()); d.CarryWorldObject(obj); return TaskState.Success; }
private TaskState Harvest(Dwarf d, float dt, double dtd) { d.DidSomeFarming(dt); CropBase crop = (CropBase)d.GetActionWorldObject(); d.CarryWorldObject(crop.TakeHarvest()); return TaskState.Success; }
private TaskState Pickup(Dwarf d, float dt, double dtd) { WorldObject me = d.GetActionWorldObject(); //if ((int)d.Position.X != me.Position.X || (int)d.Position.Y != me.Position.Y) // throw new Exception("Dwarf not in place"); Console.WriteLine("Pickup: " + d.Id + " - " + d.GetActionWorldObject().Position.X + ", " + d.GetActionWorldObject().Position.Y); d.GetActionMapElement().RemoveFromMap(); d.CarryWorldObject(d.GetActionWorldObject()); return TaskState.Success; }
private TaskState Pickup(Dwarf d, float dt, double dtd) { if (d.GetActionbuilding().GetCraftSlot() == null) { return TaskState.Absolete; throw new Exception("If this happes, it might be a bug. If it happens very rarely, just make the task fail. It might fail infinently.. That might be a problem"); } WorldObject m = d.GetActionbuilding().TakeCraftSlot(); d.CarryWorldObject(m); return TaskState.Success; }
private TaskState Pickup(Dwarf d, float dt, double dtd) { WorldObject tool = d.GetActionWorldObject(); d.GetActionbuilding().WithdrawWorldObject(tool); //if (WorldMap.Instance.GetDeposWithTool().Count == 0) // return TaskState.PersonalFail; //else // return TaskState.PersonalFailTryBehaviorAgain; d.CarryWorldObject(tool); return TaskState.Success; }
private TaskState Pickup(Dwarf d, float dt, double dtd) { WorldObject food = d.GetActionWorldObject(); d.GetActionbuilding().WithdrawWorldObject(food); //if (food == null) //{ // if (WorldMap.Instance.GetDeposWithFood().Count == 0) // return TaskState.PersonalFail; // return TaskState.PersonalFailTryBehaviorAgain; //} d.CarryWorldObject(food); return TaskState.Success; }
private TaskState Pickup(Dwarf d, float dt, double dtd) { WorldObject m = d.GetActionbuilding().WithdrawWorldObject(d.GetActionMapElementType(), d.GetActionLevel()); if (m == null) return TaskState.Fail; if (m.RegisteredForConsumption == true) { //throw new Exception(""); } if (m.ElementType == MapElementType.Plank) DwarfDebugInfo.PlanksPickedUp++; d.CarryWorldObject(m); d.SetActionBuilding(d.GetPrevActionBuilding()); return TaskState.Success; }