short ServoMgr::Exists(char * szId) { int iIdx; iIdx = GetById(szId); if (iIdx == -1) return 0; return 1; }
short ServoMgr::ContinuousStop(char * szId) { int iIdx; iIdx = GetById(szId); if (iIdx == -1) return -1; aServos[iIdx].bIsContinuousMoving = 0; return aServos[iIdx].fContinuousStop(aServos[iIdx].pUserData); }
short ServoMgr::IsContinuous(char * szId) { int iIdx; iIdx = GetById(szId); if (iIdx == -1) return -1; return aServos[iIdx].fIsContinuous(aServos[iIdx].pUserData); }
short ServoMgr::GetPosition(char * szId) { int iIdx; iIdx = GetById(szId); if (iIdx == -1) return -1; return aServos[iIdx].fGetPosition(aServos[iIdx].pUserData); }
int ServoMgr::SetPosition(char * szId, short sAngle, short sSpeed) { int iIdx; iIdx = GetById(szId); if (iIdx == -1) return -1; aServos[iIdx].sLastAngleSet = sAngle; aServos[iIdx].fSetPosition(sAngle, sSpeed, aServos[iIdx].pUserData); return 0; }
short ServoMgr::IsMoving(char * szId) { int iIdx; iIdx = GetById(szId); if (iIdx == -1) return -1; if ((aServos[iIdx].sLastAngleSet != GetPosition(szId)) || (aServos[iIdx].bIsContinuousMoving)) return 1; else return 0; }
BOOL KDoodadMgr::NotifyRemoveFromScene( DWORD dwId ) { BOOL bResult = FALSE; KDoodad* pstDoodad = NULL; #ifdef GAME_SERVER PROCESS_ERROR(pstDoodad = GetById(dwId)); if (pstDoodad->m_eState == emKDOODADSTATE_OPING) { pstDoodad->CancelDialog(pstDoodad->m_pCurrPlayer); } // 同步需要取场景,必须放在Uninit之前 g_cPlayerBaseProcess.DoSyncLeave(*pstDoodad, TRUE); #endif bResult = TRUE; #ifdef GAME_SERVER EXIT0: #endif return bResult; }
bool IsValidIndex(int32_t index) const { return index >= 0 && index < Num() && GetById(index) != nullptr; }
cCursor * cCursorManager::Get( const std::string& name ) { return GetById( String::Hash( name ) ); }