package com.zy.acs.common.enums; import com.zy.acs.common.domain.protocol.IActionBody; import com.zy.acs.common.domain.protocol.action.*; /** * 直行后退分巷道 * * */ public enum AgvActionCmdType { STRAIGHT_AHEAD_TURNABLE(0x12, "直行前进", StraightAheadTurnableAction.class), STRAIGHT_AHEAD_UNTURNABLE(0x14, "巷道直行前进", StraightAheadUnturnableAction.class), STRAIGHT_BACK_TURNABLE(0x15, "直行后退", StraightBackTurnableAction.class), STRAIGHT_BACK_UNTURNABLE(0x17, "巷道直行后退", StraightBackUnturnableAction.class), TURN_CORNER(0x20, "转弯", TurnCornerAction.class), DOCKING_CHARGE(0x30, "对接充电桩", DockingChargeAction.class), READY_TAKE_FROM_AGV_SITE(0x75, "准备从AGV暂存货位取货", ReadyTakeFromAgvSite.class), READY_RELEASE_FROM_AGV_SITE(0x76, "准备从AGV暂存货位放货", ReadyReleaseToAgvSite.class), READY_TAKE_FROM_SHELVES_LOC(0x77, "准备从货架取货", ReadyTakeFromShelvesLoc.class), READY_RELEASE_FROM_SHELVES_LOC(0x78, "准备往货架放货", ReadyReleaseToShelvesLoc.class), FINISH_PATH(0xFF, "整个路径结束", FinishPathAction.class), ; public int actionCode; public String desc; public Class cls; AgvActionCmdType(int actionCode, String desc, Class cls) { this.actionCode = actionCode; this.desc = desc; this.cls = cls; } public static AgvActionCmdType find(Class cls) { for (AgvActionCmdType value : AgvActionCmdType.values()) { if (value.cls.equals(cls)) { return value; } } return null; } }