string GetArrowStateString(IArrow arrow) { ArrowStateEngine.IState state = arrow.GetCurrentState(); string result = state.GetName(); IArrowReserve reserve = arrowReserveAdaptor.GetArrowReserve(); if (!(state is ArrowStateEngine.NockedState)) { if (state is ArrowStateEngine.FlightState) { result += ": " + reserve.GetIndexInFlight(arrow); } else { result += ": " + reserve.GetIndexInReserve(arrow); } } return(result); }