public bool Update() { switch (state) { case 0: if (currentAction.Update()) { currentAction.End(); state = 1; currentAction = new PickDropAction(player); } return(false); case 1: if (currentAction.Update()) { currentAction.End(); state = 2; ClientPlateStation deliverStation = ComponentUtil .GetClosestComponent <ClientPlateStation>(player.transform.position); Logger.Log($"Current pos: {Logger.FormatPosition(player.transform.position)}, " + $"station pos: {Logger.FormatPosition(deliverStation.transform.position)}"); currentAction = new PathFindAction(player, deliverStation); } return(false); case 2: if (currentAction.Update()) { currentAction.End(); state = 3; currentAction = new PickDropAction(player); } return(false); case 3: if (currentAction.Update()) { currentAction.End(); return(true); } return(false); default: return(false); } }
public bool Update() { switch (state) { case 0: state = 1; currentAction = new GetRawIngredientAction(player, ingredient); return(false); case 1: if (currentAction.Update()) { currentAction.End(); state = 2; currentAction = new ProcessIngredientAction(player); } return(false); case 2: if (currentAction.Update()) { currentAction.End(); state = 3; if (orderData.plate == null) { orderData.plate = ComponentUtil.GetClosestComponent <ClientPlate>(player.transform.position); } currentAction = new PlateHoldingAction(player, orderData.plate); } return(false); case 3: if (currentAction.Update()) { currentAction.End(); return(true); } return(false); default: return(false); } }