bool RedundantDataPath::IsAValidConfiguration( U32 &errorString ){ // the connection # check if( (GetChildCount() > 2) || (GetChildCount() < 1 ) ){ errorString = CTS_SSAPI_CM_INVALID_CONN_COUNT_FOR_RDP; return false; } // must belong to the same host HostManager *pHM = (HostManager *)GetObjectManager( GetManager(), SSAPI_MANAGER_CLASS_TYPE_HOST_MANAGER ); if( !pHM->DoConnectionsBelongToSameHost( m_children ) ){ errorString = CTS_SSAPI_CM_CONN_MUST_BELONG_2_SAME_HOST; return false; } // must map to a single primary/fail-over IOP pair if( GetChildCount() == 2 ){ DeviceManager *pDM = (DeviceManager *)GetObjectManager(GetManager(), SSAPI_MANAGER_CLASS_TYPE_DEVICE_MANAGER ); ConnectionManager *pCM = (ConnectionManager *)GetManager(); DesignatorId id1 = GetChildIdAt( 0 ), id2 = GetChildIdAt( 1 ); id1 = ((ConnectionBase *)pCM->GetManagedObject( &id1 ))->GetGeminiPortId(); id2 = ((ConnectionBase *)pCM->GetManagedObject( &id2 ))->GetGeminiPortId(); if( !pDM->AreThesePortsOnPartneredNacs( id1, id2 ) ){ errorString = CTS_SSAPI_CM_CONN_MUST_BE_ON_PARTNER_NACS; return false; } } // we made it to here? Gee, it's good then!!! return true; }
void Player::CheckArrivalTriggers() { //first check for objects within 40K - only need to check these every 2 seconds if (m_MovementID%20) // NB movement ID in this func will always be a multiple of 5 { GetObjectManager()->SetObjectsAtRange(this, TRIGGER_RANGE_1, m_NavRange_1, 0); GetObjectManager()->SetObjectsAtRange(this, TRIGGER_RANGE_2, m_NavRange_2, m_NavRange_1); GetObjectManager()->SetObjectsAtRange(this, TRIGGER_RANGE_3, m_NavRange_3, m_NavRange_2); } }
uint8 object_manager_get_loaded_object_entry_index(const void * loadedObject) { IObjectManager * objectManager = GetObjectManager(); const Object * object = static_cast<const Object *>(loadedObject); uint8 entryIndex = objectManager->GetLoadedObjectEntryIndex(object); return entryIndex; }
void object_manager_unload_all_objects() { IObjectManager * objectManager = GetObjectManager(); if (objectManager != nullptr) { objectManager->UnloadAll(); } }
void GameServer::AddSpawn(SpawnData data, eOBJTYPE type) { sGU_OBJECT_CREATE sPacket; memset(&sPacket, 0, sizeof(sGU_OBJECT_CREATE)); sPacket.wOpCode = GU_OBJECT_CREATE; sPacket.handle = AcquireSerialID(); switch (type) { case OBJTYPE_NPC: sPacket.sObjectInfo.objType = OBJTYPE_NPC; sPacket.sObjectInfo.npcBrief.tblidx = data.mob_Tblidx; sPacket.sObjectInfo.npcBrief.wCurLP = 100; sPacket.sObjectInfo.npcBrief.wMaxLP = 100; sPacket.sObjectInfo.npcBrief.fLastWalkingSpeed = 3.0f; sPacket.sObjectInfo.npcBrief.fLastRunningSpeed = 7.0f; sPacket.sObjectInfo.npcState.sCharStateBase.byStateID = CHARSTATE_SPAWNING; sPacket.sObjectInfo.npcState.sCharStateBase.bFightMode = FALSE; sPacket.sObjectInfo.npcState.sCharStateBase.vCurLoc.x = data.vSpawn_Loc.x; sPacket.sObjectInfo.npcState.sCharStateBase.vCurLoc.y = data.vSpawn_Loc.y; sPacket.sObjectInfo.npcState.sCharStateBase.vCurLoc.z = data.vSpawn_Loc.z; sPacket.sObjectInfo.npcState.sCharStateBase.vCurDir.x = data.vSpawn_Dir.x; sPacket.sObjectInfo.npcState.sCharStateBase.vCurDir.y = data.vSpawn_Dir.y; sPacket.sObjectInfo.npcState.sCharStateBase.vCurDir.z = data.vSpawn_Dir.z; break; case OBJTYPE_MOB: sPacket.sObjectInfo.objType = OBJTYPE_MOB; sPacket.sObjectInfo.mobBrief.tblidx = data.mob_Tblidx; sPacket.sObjectInfo.mobBrief.wCurLP = 100; sPacket.sObjectInfo.mobBrief.wMaxLP = 100; sPacket.sObjectInfo.mobBrief.fLastWalkingSpeed = 3.0f; sPacket.sObjectInfo.mobBrief.fLastRunningSpeed = 7.0f; sPacket.sObjectInfo.mobState.sCharStateBase.byStateID = CHARSTATE_SPAWNING; sPacket.sObjectInfo.mobState.sCharStateBase.bFightMode = FALSE; sPacket.sObjectInfo.mobState.sCharStateBase.vCurLoc.x = data.vSpawn_Loc.x + (float)(rand() % data.bySpawn_Loc_Range); sPacket.sObjectInfo.mobState.sCharStateBase.vCurLoc.y = data.vSpawn_Loc.y; sPacket.sObjectInfo.mobState.sCharStateBase.vCurLoc.z = data.vSpawn_Loc.z + (float)(rand() % data.bySpawn_Loc_Range); sPacket.sObjectInfo.mobState.sCharStateBase.vCurDir.x = data.vSpawn_Dir.x; sPacket.sObjectInfo.mobState.sCharStateBase.vCurDir.y = data.vSpawn_Dir.y; sPacket.sObjectInfo.mobState.sCharStateBase.vCurDir.z = data.vSpawn_Dir.z; break; } GetObjectManager()->AddObject(sPacket); }
void object_manager_unload_objects(const rct_object_entry * entries, size_t count) { IObjectManager * objectManager = GetObjectManager(); objectManager->UnloadObjects(entries, count); }
void * object_manager_load_object(const rct_object_entry * entry) { IObjectManager * objectManager = GetObjectManager(); Object * loadedObject = objectManager->LoadObject(entry); return (void *)loadedObject; }
void * object_manager_get_loaded_object_by_index(size_t index) { IObjectManager * objectManager = GetObjectManager(); Object * loadedObject = objectManager->GetLoadedObject(index); return (void *)loadedObject; }