// ==================================================================================================== // Register / Unregister Entity // ==================================================================================================== int World::RegisterEntity(Entity* ent) { if (IsEntityRegistered(ent)) return -1; // Search free slot for (int index = 0; index < g_pConfig->EntityLimit(); index++) { if (!IsEntityRegistered(index)) { mEntityList[index] = ent; return index; } } // oh crap // entity list full printf("[World] Warning! Entity List is full!\n"); return -1; }
bool CAutoAimManager::RegisterAutoaimTargetObject(const EntityId targetObjectId, const SAutoaimTargetRegisterParams& registerParams) { if (IsEntityRegistered(targetObjectId)) { GameWarning("Trying to register entity more than once in auto aim manager!"); return false; } if (!IsSpaceAvailable()) { GameWarning("Maximum number of entities reached for auto aim manager (%d)!", kMaxAutoaimTargets); return false; } RegisterObjectTargetInfo(targetObjectId, registerParams); return true; }
bool CAutoAimManager::RegisterAutoaimTargetActor(const CActor& targetActor, const SAutoaimTargetRegisterParams& registerParams) { if (IsEntityRegistered(targetActor.GetEntityId())) { GameWarning("Trying to register entity more than once in auto aim manager!"); return false; } if (!IsSpaceAvailable()) { if (gEnv->IsEditor() == false) { GameWarning("Maximum number of entities reached for auto aim manager (%d)!", kMaxAutoaimTargets); } return false; } RegisterCharacterTargetInfo(targetActor, registerParams); return true; }