您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ GetBase函数代码示例

51自学网 2021-06-01 21:04:11
  C++
这篇教程C++ GetBase函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中GetBase函数的典型用法代码示例。如果您正苦于以下问题:C++ GetBase函数的具体用法?C++ GetBase怎么用?C++ GetBase使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了GetBase函数的23个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: GetSeatIteratorForPassenger

void Vehicle::RemovePassenger(Unit* unit){    if (unit->GetVehicle() != this)        return;    SeatMap::iterator seat = GetSeatIteratorForPassenger(unit);    ASSERT(seat != Seats.end());    sLog->outDebug(LOG_FILTER_VEHICLES, "Unit %s exit vehicle entry %u id %u dbguid %u seat %d",        unit->GetName().c_str(), _me->GetEntry(), _vehicleInfo->m_ID, _me->GetGUIDLow(), (int32)seat->first);    seat->second.Passenger = 0;    if (seat->second.SeatInfo->CanEnterOrExit() && ++UsableSeatNum)        _me->SetFlag(UNIT_NPC_FLAGS, (_me->GetTypeId() == TYPEID_PLAYER ? UNIT_NPC_FLAG_PLAYER_VEHICLE : UNIT_NPC_FLAG_SPELLCLICK));    unit->ClearUnitState(UNIT_STATE_ONVEHICLE);    if (_me->GetTypeId() == TYPEID_UNIT && unit->GetTypeId() == TYPEID_PLAYER && seat->second.SeatInfo->m_flags & VEHICLE_SEAT_FLAG_CAN_CONTROL)        _me->RemoveCharmedBy(unit);    if (_me->IsInWorld())    {        unit->m_movementInfo.t_pos.Relocate(0.0f, 0.0f, 0.0f, 0.0f);        unit->m_movementInfo.t_time = 0;        unit->m_movementInfo.t_seat = 0;    }    // only for flyable vehicles    if (unit->IsFlying())        _me->CastSpell(unit, VEHICLE_SPELL_PARACHUTE, true);    if (_me->GetTypeId() == TYPEID_UNIT && _me->ToCreature()->IsAIEnabled)        _me->ToCreature()->AI()->PassengerBoarded(unit, seat->first, false);    if (GetBase()->GetTypeId() == TYPEID_UNIT)        sScriptMgr->OnRemovePassenger(this, unit);}
开发者ID:Carbinfibre,项目名称:ArcPro,代码行数:37,


示例2: Invalidate

void SrtmTile::Init(string const & dir, ms::LatLon const & coord){  Invalidate();  string const base = GetBase(coord);  string const cont = dir + base + ".SRTMGL1.hgt.zip";  string file = base + ".hgt";  UnzipMemDelegate delegate(m_data);  try  {    ZipFileReader::UnzipFile(cont, file, delegate);  }  catch (ZipFileReader::LocateZipException const & e)  {    // Sometimes packed file has different name. See N39E051 measure.    file = base + ".SRTMGL1.hgt";    ZipFileReader::UnzipFile(cont, file, delegate);  }  if (!delegate.m_completed)  {    LOG(LWARNING, ("Can't decompress SRTM file:", cont));    Invalidate();    return;  }  if (m_data.size() != kSrtmTileSize)  {    LOG(LWARNING, ("Bad decompressed SRTM file size:", cont, m_data.size()));    Invalidate();    return;  }  m_valid = true;}
开发者ID:65apps,项目名称:omim,代码行数:37,


示例3: _ASSERTE

/* * Handle UDN_DELTAPOS notification. */void MySpinCtrl::OnDeltaPos(NMHDR* pNMHDR, LRESULT* pResult){    _ASSERTE(! (UDS_SETBUDDYINT & GetStyle())  &&  "'Auto Buddy Int' style *MUST* be unchecked");//  _ASSERTE(  (UDS_AUTOBUDDY   & GetStyle())  &&  "'Auto Buddy' style *MUST* be checked");    _ASSERTE(  (UDS_NOTHOUSANDS & GetStyle())  &&  "'No Thousands' style *MUST* be checked");    NM_UPDOWN* pNMUpDown = (NM_UPDOWN*)pNMHDR;    /* grab value from buddy ctrl */    ASSERT(GetBuddy() != NULL);    CString buddyStr;    GetBuddy()->GetWindowText(buddyStr);    long buddyVal, proposedVal;    if (!ConvLong(buddyStr, &buddyVal))        goto bail;      // bad string    proposedVal = buddyVal - pNMUpDown->iDelta;    /* peg at the end */    if (proposedVal < fLow)        proposedVal = fLow;    if (proposedVal > fHigh)        proposedVal = fHigh;    if (proposedVal != buddyVal) {        /* set buddy control to new value */        if (GetBase() == 10)            buddyStr.Format(L"%d", proposedVal);        else            buddyStr.Format(L"%X", proposedVal);        GetBuddy()->SetWindowText(buddyStr);    }    bail:    *pResult = 0;}
开发者ID:HankG,项目名称:ciderpress,代码行数:40,


示例4: GetEvasion

uint16 GetEvasion(CMobEntity* PMob){    uint8 evaRank = PMob->evaRank;    // Mob evasion is based on job    // but occasionally war mobs    // might have a different rank    switch (PMob->GetMJob())    {        case JOB_THF:        case JOB_NIN:            evaRank = 1;        break;        case JOB_MNK:        case JOB_DNC:        case JOB_SAM:        case JOB_PUP:        case JOB_RUN:            evaRank = 2;        break;        case JOB_RDM:        case JOB_BRD:        case JOB_GEO:        case JOB_COR:            evaRank = 4;        break;        case JOB_WHM:        case JOB_SCH:        case JOB_RNG:        case JOB_SMN:        case JOB_BLM:            evaRank = 5;        break;    }    return GetBase(PMob, evaRank);}
开发者ID:Sacshop,项目名称:darkstar,代码行数:37,


示例5: ASSERT

void Vehicle::RelocatePassengers(){    ASSERT(_me->GetMap());    std::vector<std::pair<Unit*, Position>> seatRelocation;    seatRelocation.reserve(Seats.size());    // not sure that absolute position calculation is correct, it must depend on vehicle pitch angle    for (SeatMap::const_iterator itr = Seats.begin(); itr != Seats.end(); ++itr)    {        if (Unit* passenger = ObjectAccessor::GetUnit(*GetBase(), itr->second.Passenger.Guid))        {            ASSERT(passenger->IsInWorld());            float px, py, pz, po;            passenger->m_movementInfo.transport.pos.GetPosition(px, py, pz, po);            CalculatePassengerPosition(px, py, pz, &po);            seatRelocation.emplace_back(passenger, Position(px, py, pz, po));        }    }    for (auto const& pair : seatRelocation)        pair.first->UpdatePosition(pair.second);}
开发者ID:Refuge89,项目名称:TrinityCore,代码行数:24,


示例6: GetBase

void BookCtrlBaseTestCase::Selection(){    wxBookCtrlBase * const base = GetBase();    base->SetSelection(0);    CPPUNIT_ASSERT_EQUAL(0, base->GetSelection());    CPPUNIT_ASSERT_EQUAL(wxStaticCast(m_panel1, wxWindow), base->GetCurrentPage());    base->AdvanceSelection(false);    CPPUNIT_ASSERT_EQUAL(2, base->GetSelection());    CPPUNIT_ASSERT_EQUAL(wxStaticCast(m_panel3, wxWindow), base->GetCurrentPage());    base->AdvanceSelection();    CPPUNIT_ASSERT_EQUAL(0, base->GetSelection());    CPPUNIT_ASSERT_EQUAL(wxStaticCast(m_panel1, wxWindow), base->GetCurrentPage());    base->ChangeSelection(1);    CPPUNIT_ASSERT_EQUAL(1, base->GetSelection());    CPPUNIT_ASSERT_EQUAL(wxStaticCast(m_panel2, wxWindow), base->GetCurrentPage());}
开发者ID:enachb,项目名称:freetel-code,代码行数:24,


示例7: TransportBase

VehicleKit::VehicleKit(Unit* base, VehicleEntry const* entry)     :  TransportBase(base), m_vehicleEntry(entry), m_uiNumFreeSeats(0), m_isInitialized(false){    for (uint32 i = 0; i < MAX_VEHICLE_SEAT; ++i)    {        uint32 seatId = GetEntry()->m_seatID[i];        if (!seatId)            continue;        if (VehicleSeatEntry const *seatInfo = sVehicleSeatStore.LookupEntry(seatId))        {            m_Seats.insert(std::make_pair(i, VehicleSeat(seatInfo)));            if (seatInfo->IsUsable())                ++m_uiNumFreeSeats;        }    }    if (base)    {        if (GetEntry()->m_flags & VEHICLE_FLAG_NO_STRAFE)            GetBase()->m_movementInfo.AddMovementFlag2(MOVEFLAG2_NO_STRAFE);        if (GetEntry()->m_flags & VEHICLE_FLAG_NO_JUMPING)            GetBase()->m_movementInfo.AddMovementFlag2(MOVEFLAG2_NO_JUMPING);        if (GetEntry()->m_flags & VEHICLE_FLAG_FULLSPEEDTURNING)            GetBase()->m_movementInfo.AddMovementFlag2(MOVEFLAG2_FULLSPEEDTURNING);        if (GetEntry()->m_flags & VEHICLE_FLAG_ALLOW_PITCHING)            GetBase()->m_movementInfo.AddMovementFlag2(MOVEFLAG2_ALLOW_PITCHING);        if (GetEntry()->m_flags & VEHICLE_FLAG_FULLSPEEDPITCHING)        {            GetBase()->m_movementInfo.AddMovementFlag2(MOVEFLAG2_ALLOW_PITCHING);            GetBase()->m_movementInfo.AddMovementFlag2(MOVEFLAG2_FULLSPEEDPITCHING);        }    }    SetDestination();}
开发者ID:mynew3,项目名称:mangos,代码行数:43,


示例8: ASSERT

//.........这里部分代码省略.........    SeatMap::iterator seat;    if (seatId < 0) // no specific seat requirement    {        for (seat = m_Seats.begin(); seat != m_Seats.end(); ++seat)            if (!seat->second.passenger                    && ((!byAura && seat->second.seatInfo->CanEnterOrExit())                            || (byAura                                    && seat->second.seatInfo->IsUsableByAura()))) break;        if (seat == m_Seats.end()) // no available seat        return false;    }    else    {        seat = m_Seats.find(seatId);        if (seat == m_Seats.end()) return false;        if (seat->second.passenger) seat->second.passenger->ExitVehicle();        else seat->second.passenger = NULL;        ASSERT(!seat->second.passenger);    }    sLog->outDebug(LOG_FILTER_VEHICLES,            "Unit %s enter vehicle entry %u id %u dbguid %u seat %d",            unit->GetName(), me->GetEntry(), m_vehicleInfo->m_ID,            me->GetGUIDLow(), (int32) seat->first);    seat->second.passenger = unit;    if (seat->second.seatInfo->CanEnterOrExit())    {        ASSERT(m_usableSeatNum);        --m_usableSeatNum;        if (!m_usableSeatNum)        {            if (me->GetTypeId() == TYPEID_PLAYER) me->RemoveFlag(UNIT_NPC_FLAGS,                    UNIT_NPC_FLAG_PLAYER_VEHICLE);            else me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_SPELLCLICK);        }    }    if (seat->second.seatInfo->m_flags            && !(seat->second.seatInfo->m_flags & VEHICLE_SEAT_FLAG_UNK11)) unit->AddUnitState(            UNIT_STAT_ONVEHICLE);    unit->AddUnitMovementFlag(MOVEMENTFLAG_ONTRANSPORT | MOVEMENTFLAG_ROOT);    VehicleSeatEntry const *veSeat = seat->second.seatInfo;    unit->m_movementInfo.t_pos.m_positionX = veSeat->m_attachmentOffsetX;    unit->m_movementInfo.t_pos.m_positionY = veSeat->m_attachmentOffsetY;    unit->m_movementInfo.t_pos.m_positionZ = veSeat->m_attachmentOffsetZ;    unit->m_movementInfo.t_pos.m_orientation = 0;    unit->m_movementInfo.t_time = 0; // 1 for player    unit->m_movementInfo.t_seat = seat->first;    if (me->GetTypeId() == TYPEID_UNIT && unit->GetTypeId() == TYPEID_PLAYER            && seat->first == 0            && seat->second.seatInfo->m_flags & VEHICLE_SEAT_FLAG_CAN_CONTROL)    {        if (!me->SetCharmedBy(unit, CHARM_TYPE_VEHICLE))        ASSERT(false);        if (VehicleScalingInfo const *scalingInfo = sObjectMgr->GetVehicleScalingInfo(m_vehicleInfo->m_ID))        {            Player *plr = unit->ToPlayer();            float averageItemLevel = plr->GetAverageItemLevel();            if (averageItemLevel < scalingInfo->baseItemLevel) averageItemLevel =                    scalingInfo->baseItemLevel;            averageItemLevel -= scalingInfo->baseItemLevel;            m_bonusHP = uint32(                    me->GetMaxHealth()                            * (averageItemLevel * scalingInfo->scalingFactor));            me->SetMaxHealth(me->GetMaxHealth() + m_bonusHP);            me->SetHealth(me->GetHealth() + m_bonusHP);        }    }    if (me->IsInWorld())    {        unit->SendMonsterMoveTransport(me);        if (me->GetTypeId() == TYPEID_UNIT)        {            if (me->ToCreature()->IsAIEnabled) me->ToCreature()->AI()->PassengerBoarded(                    unit, seat->first, true);            // update all passenger's positions            RelocatePassengers(me->GetPositionX(), me->GetPositionY(),                    me->GetPositionZ(), me->GetOrientation());        }    }    unit->DestroyForNearbyPlayers();    unit->UpdateObjectVisibility(false);    if (GetBase()->GetTypeId() == TYPEID_UNIT)    sScriptMgr->OnAddPassenger(this, unit, seatId);    return true;}
开发者ID:BlueSellafield,项目名称:ArkCORE,代码行数:101,


示例9: passenger

Vehicle::~Vehicle(){    for (SeatMap::const_iterator itr = Seats.begin(); itr != Seats.end(); ++itr)    {        if (itr->second.Passenger)            sLog->outError("Vehicle::~Vehicle() | passenger (%s), Base (%s), BaseEntry (%u), MapId (%u)", ObjectAccessor::GetUnit(*GetBase(), itr->second.Passenger) ? ObjectAccessor::GetUnit(*GetBase(), itr->second.Passenger)->GetName() : "n/a", GetBase()->GetName(), GetBase()->GetEntry(), GetBase()->GetMapId());        ASSERT(!itr->second.Passenger);    }}
开发者ID:Firearm,项目名称:TrinityCore,代码行数:10,


示例10: GM_ASSERT

// RAGE AGAINST THE VIRTUAL MACHINE =)gmThread::State gmThread::Sys_Execute(gmVariable * a_return){  register union  {    const gmuint8 * instruction;    const gmuint32 * instruction32;  };  register gmVariable * top;  gmVariable * base;  gmVariable * operand;  const gmuint8 * code;  if(m_state != RUNNING) return m_state;#if GMDEBUG_SUPPORT  if(m_debugFlags && m_machine->GetDebugMode() && m_machine->m_isBroken)  {    if(m_machine->m_isBroken(this))       return RUNNING;  }#endif // GMDEBUG_SUPPORT  // make sure we have a stack frame  GM_ASSERT(m_frame);  GM_ASSERT(GetFunction()->m_type == GM_FUNCTION);  // cache our "registers"  gmFunctionObject * fn = (gmFunctionObject *) GM_MOBJECT(m_machine, GetFunction()->m_value.m_ref);  code = (const gmuint8 *) fn->GetByteCode();  if(m_instruction == NULL) instruction = code;  else instruction = m_instruction;  top = GetTop();  base = GetBase();  //  // start byte code execution  //  for(;;)  {#ifdef GM_CHECK_USER_BREAK_CALLBACK // This may be defined in gmConfig_p.h    // Check external source to break execution with exception eg. Check for CTRL-BREAK    // Endless loop protection could be implemented with this, or in a similar manner.    if( gmMachine::s_userBreakCallback && gmMachine::s_userBreakCallback(this) )    {      GMTHREAD_LOG("User break. Execution halted.");      goto LabelException;    }#endif //GM_CHECK_USER_BREAK_CALLBACK     switch(*(instruction32++))    {      //      // unary operator      //#if GM_USE_INCDECOPERATORS      case BC_OP_INC :      case BC_OP_DEC :#endif      case BC_BIT_INV :      case BC_OP_NEG :      case BC_OP_POS :      case BC_OP_NOT :      {        operand = top - 1;         gmOperatorFunction op = OPERATOR(operand->m_type, (gmOperator) instruction32[-1]);         if(op)         {           op(this, operand);         }         else if((fn = CALLOPERATOR(operand->m_type, (gmOperator) instruction32[-1])))         {           operand[2] = operand[0];           operand[0] = gmVariable(GM_NULL, 0);           operand[1] = gmVariable(GM_FUNCTION, fn->GetRef());           SetTop(operand + 3);           State res = PushStackFrame(1, &instruction, &code);           top = GetTop();          base = GetBase();          if(res == RUNNING) break;          if(res == SYS_YIELD) return RUNNING;          if(res == SYS_EXCEPTION) goto LabelException;          if(res == KILLED) { m_machine->Sys_SwitchState(this, KILLED); GM_ASSERT(0); } // operator should not kill a thread          return res;        }         else         {           GMTHREAD_LOG("unary operator %s undefined for type %s", gmGetOperatorName((gmOperator) instruction32[-1]), m_machine->GetTypeName(operand->m_type));           goto LabelException;         }         break;      }      //      // operator      ////.........这里部分代码省略.........
开发者ID:cgbystrom,项目名称:scriptorium,代码行数:101,


示例11: InstallAllAccessories

void VehicleKit::Initialize(uint32 creatureEntry){    InstallAllAccessories(creatureEntry ? creatureEntry : GetBase()->GetEntry());    UpdateFreeSeatCount();    m_isInitialized = true;}
开发者ID:mynew3,项目名称:mangos,代码行数:6,


示例12: Reset

VehicleKit::~VehicleKit(){    Reset();    GetBase()->RemoveSpellsCausingAura(SPELL_AURA_CONTROL_VEHICLE);}
开发者ID:mynew3,项目名称:mangos,代码行数:5,


示例13: UnBoardPassenger

void VehicleKit::RemovePassenger(Unit* passenger, bool dismount){    SeatMap::iterator seat;    for (seat = m_Seats.begin(); seat != m_Seats.end(); ++seat)        if (seat->second.passenger == passenger->GetObjectGuid())            break;    if (seat == m_Seats.end())        return;    seat->second.passenger.Clear();    passenger->clearUnitState(UNIT_STAT_ON_VEHICLE);    UnBoardPassenger(passenger);                            // Use TransportBase to remove the passenger from storage list    passenger->m_movementInfo.ClearTransportData();    passenger->m_movementInfo.RemoveMovementFlag(MOVEFLAG_ONTRANSPORT);    if (seat->second.IsProtectPassenger())        if (passenger->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE))            passenger->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);    if (seat->second.seatInfo->m_flags & SEAT_FLAG_CAN_CONTROL)    {        passenger->SetCharm(NULL);        passenger->RemoveSpellsCausingAura(SPELL_AURA_CONTROL_VEHICLE);        GetBase()->SetCharmerGuid(ObjectGuid());        GetBase()->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_PLAYER_CONTROLLED);        GetBase()->clearUnitState(UNIT_STAT_CONTROLLED);        if (passenger->GetTypeId() == TYPEID_PLAYER)        {            Player* player = (Player*)passenger;            player->SetClientControl(GetBase(), 0);            player->RemovePetActionBar();        }        if(!(((Creature*)GetBase())->GetCreatureInfo()->flags_extra & CREATURE_FLAG_EXTRA_KEEP_AI))            ((Creature*)GetBase())->AIM_Initialize();    }    if (passenger->GetTypeId() == TYPEID_PLAYER)    {        Player* player = (Player*)passenger;        player->SetViewPoint(NULL);        passenger->SetRoot(false);        player->SetMover(player);        player->m_movementInfo.RemoveMovementFlag(MOVEFLAG_ROOT);        if ((GetBase()->HasAuraType(SPELL_AURA_FLY) || GetBase()->HasAuraType(SPELL_AURA_MOD_FLIGHT_SPEED)) &&            (!player->HasAuraType(SPELL_AURA_FLY) && !player->HasAuraType(SPELL_AURA_MOD_FLIGHT_SPEED)))        {            WorldPacket data;            data.Initialize(SMSG_MOVE_UNSET_CAN_FLY, 12);            data << player->GetPackGUID();            data << (uint32)(0);            GetBase()->SendMessageToSet(&data,false);            player->m_movementInfo.RemoveMovementFlag(MOVEFLAG_FLYING);            player->m_movementInfo.RemoveMovementFlag(MOVEFLAG_CAN_FLY);        }    }    UpdateFreeSeatCount();    if (GetBase()->GetTypeId() == TYPEID_UNIT)    {        if (((Creature*)GetBase())->AI())            ((Creature*)GetBase())->AI()->PassengerBoarded(passenger, seat->first, false);    }    if (passenger->GetTypeId() == TYPEID_UNIT)    {        if (((Creature*)passenger)->AI())            ((Creature*)passenger)->AI()->EnteredVehicle(GetBase(), seat->first, false);    }    if (dismount && seat->second.b_dismount)    {        Dismount(passenger, seat->second.seatInfo);        // only for flyable vehicles        if (GetBase()->m_movementInfo.HasMovementFlag(MOVEFLAG_FLYING))            GetBase()->CastSpell(passenger, 45472, true);    // Parachute    }}
开发者ID:mynew3,项目名称:mangos,代码行数:86,


示例14: Assert

bool CMemoryStack::Init( unsigned maxSize, unsigned commitSize, unsigned initialCommit, unsigned alignment ){	Assert( !m_pBase );#ifdef _X360	m_bPhysical = false;#endif	m_maxSize = maxSize;	m_alignment = AlignValue( alignment, 4 );	Assert( m_alignment == alignment );	Assert( m_maxSize > 0 );#if defined(_WIN32)	if ( commitSize != 0 )	{		m_commitSize = commitSize;	}	unsigned pageSize;#ifndef _X360	SYSTEM_INFO sysInfo;	GetSystemInfo( &sysInfo );	Assert( !( sysInfo.dwPageSize & (sysInfo.dwPageSize-1)) );	pageSize = sysInfo.dwPageSize;#else	pageSize = 64*1024;#endif	if ( m_commitSize == 0 )	{		m_commitSize = pageSize;	}	else	{		m_commitSize = AlignValue( m_commitSize, pageSize );	}	m_maxSize = AlignValue( m_maxSize, m_commitSize );		Assert( m_maxSize % pageSize == 0 && m_commitSize % pageSize == 0 && m_commitSize <= m_maxSize );	m_pBase = (unsigned char *)VirtualAlloc( NULL, m_maxSize, VA_RESERVE_FLAGS, PAGE_NOACCESS );	Assert( m_pBase );	m_pCommitLimit = m_pNextAlloc = m_pBase;	if ( initialCommit )	{		initialCommit = AlignValue( initialCommit, m_commitSize );		Assert( initialCommit < m_maxSize );		if ( !VirtualAlloc( m_pCommitLimit, initialCommit, VA_COMMIT_FLAGS, PAGE_READWRITE ) )			return false;		m_minCommit = initialCommit;		m_pCommitLimit += initialCommit;		MemAlloc_RegisterExternalAllocation( CMemoryStack, GetBase(), GetSize() );	}#else	m_pBase = (byte *)MemAlloc_AllocAligned( m_maxSize, alignment ? alignment : 1 );	m_pNextAlloc = m_pBase;	m_pCommitLimit = m_pBase + m_maxSize;#endif	m_pAllocLimit = m_pBase + m_maxSize;	return ( m_pBase != NULL );}
开发者ID:Adidasman1,项目名称:source-sdk-2013,代码行数:69,


示例15: GetBase

bool VehicleKit::AddPassenger(Unit *passenger, int8 seatId){    SeatMap::iterator seat;    if (seatId < 0) // no specific seat requirement    {        for (seat = m_Seats.begin(); seat != m_Seats.end(); ++seat)        {            if (!seat->second.passenger && (seat->second.seatInfo->IsUsable() || (seat->second.seatInfo->m_flags & SEAT_FLAG_UNCONTROLLED)))                break;        }        if (seat == m_Seats.end()) // no available seat            return false;    }    else    {        seat = m_Seats.find(seatId);        if (seat == m_Seats.end())            return false;        if (seat->second.passenger)            return false;    }    VehicleSeatEntry const* seatInfo = seat->second.seatInfo;    seat->second.passenger = passenger;    if (!(seatInfo->m_flags & SEAT_FLAG_FREE_ACTION))        passenger->addUnitState(UNIT_STAT_ON_VEHICLE);    m_pBase->SetPhaseMask(passenger->GetPhaseMask(), true);    passenger->m_movementInfo.ClearTransportData();    passenger->m_movementInfo.AddMovementFlag(MOVEFLAG_ONTRANSPORT);    if (GetBase()->m_movementInfo.HasMovementFlag(MOVEFLAG_ONTRANSPORT))    {            passenger->m_movementInfo.SetTransportData(GetBase()->m_movementInfo.GetTransportGuid(),//            passenger->m_movementInfo.SetTransportData(GetBase()->GetObjectGuid(),            seatInfo->m_attachmentOffsetX + GetBase()->m_movementInfo.GetTransportPos()->x,            seatInfo->m_attachmentOffsetY + GetBase()->m_movementInfo.GetTransportPos()->y,            seatInfo->m_attachmentOffsetZ + GetBase()->m_movementInfo.GetTransportPos()->z,            seatInfo->m_passengerYaw + GetBase()->m_movementInfo.GetTransportPos()->o,            WorldTimer::getMSTime(), seat->first, seatInfo);            DEBUG_LOG("VehicleKit::AddPassenger passenger %s transport offset on %s setted to %f %f %f %f (parent - %s)",            passenger->GetObjectGuid().GetString().c_str(),            passenger->m_movementInfo.GetTransportGuid().GetString().c_str(),            passenger->m_movementInfo.GetTransportPos()->x,            passenger->m_movementInfo.GetTransportPos()->y,            passenger->m_movementInfo.GetTransportPos()->z,            passenger->m_movementInfo.GetTransportPos()->o,            GetBase()->m_movementInfo.GetTransportGuid().GetString().c_str());    }    else if (passenger->GetTypeId() == TYPEID_UNIT && b_dstSet)    {        passenger->m_movementInfo.SetTransportData(m_pBase->GetObjectGuid(),        seatInfo->m_attachmentOffsetX + m_dst_x, seatInfo->m_attachmentOffsetY + m_dst_y, seatInfo->m_attachmentOffsetZ + m_dst_z,        seatInfo->m_passengerYaw + m_dst_o, WorldTimer::getMSTime(), seat->first, seatInfo);    }    else    {        passenger->m_movementInfo.SetTransportData(m_pBase->GetObjectGuid(),        seatInfo->m_attachmentOffsetX, seatInfo->m_attachmentOffsetY, seatInfo->m_attachmentOffsetZ,        seatInfo->m_passengerYaw, WorldTimer::getMSTime(), seat->first, seatInfo);    }    if (passenger->GetTypeId() == TYPEID_PLAYER)    {        ((Player*)passenger)->GetCamera().SetView(m_pBase);        WorldPacket data(SMSG_FORCE_MOVE_ROOT, 8+4);        data << passenger->GetPackGUID();        data << uint32((passenger->m_movementInfo.GetVehicleSeatFlags() & SEAT_FLAG_CAN_CAST) ? 2 : 0);        passenger->SendMessageToSet(&data, true);    }    if (seat->second.IsProtectPassenger())    {        switch (m_pBase->GetEntry())        {            case 33651:                                     // VX 001            case 33432:                                     // Leviathan MX            case 33118:                                     // Ignis (Ulduar)            case 32934:                                     // Kologarn Right Arm (Ulduar)            case 30234:                                     // Nexus Lord's Hover Disk (Eye of Eternity, Malygos Encounter)            case 30248:                                     // Scion's of Eternity Hover Disk (Eye of Eternity, Malygos Encounter)                break;            case 28817:            default:                passenger->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);                break;        }        passenger->RemoveSpellsCausingAura(SPELL_AURA_MOD_SHAPESHIFT);    }    if (seatInfo->m_flags & SEAT_FLAG_CAN_CONTROL)    {        if (!(m_pBase->GetVehicleInfo()->GetEntry()->m_flags & (VEHICLE_FLAG_ACCESSORY)))//.........这里部分代码省略.........
开发者ID:X-src,项目名称:VektorEmu_3.3.5a_mangos,代码行数:101,


示例16: ASSERT

bool Vehicle::AddPassenger(Unit *unit, int8 seatId){    if (unit->GetVehicle() != this)        return false;    SeatMap::iterator seat;    if (seatId < 0) // no specific seat requirement    {        for (seat = m_Seats.begin(); seat != m_Seats.end(); ++seat)            if (!seat->second.passenger && (seat->second.seatInfo->CanEnterOrExit() || seat->second.seatInfo->IsUsableByOverride()))                break;        if (seat == m_Seats.end()) // no available seat            return false;    }    else    {        seat = m_Seats.find(seatId);        if (seat == m_Seats.end())            return false;        if (seat->second.passenger)        {            if (Unit* passenger = ObjectAccessor::GetUnit(*GetBase(), seat->second.passenger))                passenger->ExitVehicle();            else                seat->second.passenger = NULL;        }        ASSERT(!seat->second.passenger);    }    sLog->outDebug(LOG_FILTER_VEHICLES, "Unit %s enter vehicle entry %u id %u dbguid %u seat %d", unit->GetName(), me->GetEntry(), m_vehicleInfo->m_ID, me->GetGUIDLow(), (int32)seat->first);    seat->second.passenger = unit->GetGUID();    if (seat->second.seatInfo->CanEnterOrExit())    {        ASSERT(m_usableSeatNum);        --m_usableSeatNum;        if (!m_usableSeatNum)        {            if (me->GetTypeId() == TYPEID_PLAYER)                me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_PLAYER_VEHICLE);            else                me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_SPELLCLICK);        }    }    if (seat->second.seatInfo->m_flags && !(seat->second.seatInfo->m_flags & VEHICLE_SEAT_FLAG_UNK11))        unit->AddUnitState(UNIT_STAT_ONVEHICLE);    unit->AddUnitMovementFlag(MOVEMENTFLAG_ONTRANSPORT);    VehicleSeatEntry const *veSeat = seat->second.seatInfo;    unit->m_movementInfo.t_pos.m_positionX = veSeat->m_attachmentOffsetX;    unit->m_movementInfo.t_pos.m_positionY = veSeat->m_attachmentOffsetY;    unit->m_movementInfo.t_pos.m_positionZ = veSeat->m_attachmentOffsetZ;    unit->m_movementInfo.t_pos.m_orientation = 0;    unit->m_movementInfo.t_time = 0; // 1 for player    unit->m_movementInfo.t_seat = seat->first;    if (me->GetTypeId() == TYPEID_UNIT        && unit->GetTypeId() == TYPEID_PLAYER        && seat->first == 0 && seat->second.seatInfo->m_flags & VEHICLE_SEAT_FLAG_CAN_CONTROL)    {        if (!me->SetCharmedBy(unit, CHARM_TYPE_VEHICLE))            ASSERT(false);        // hack: should be done by aura system        if (VehicleScalingInfo const *scalingInfo = sObjectMgr->GetVehicleScalingInfo(m_vehicleInfo->m_ID))        {            Player *plr = unit->ToPlayer();            float averageItemLevel = plr->GetAverageItemLevel();            if (averageItemLevel < scalingInfo->baseItemLevel)                averageItemLevel = scalingInfo->baseItemLevel;            averageItemLevel -= scalingInfo->baseItemLevel;            float currentHealthPct = float(me->GetHealth() / me->GetMaxHealth());            m_bonusHP = uint32(me->GetMaxHealth() * (averageItemLevel * scalingInfo->scalingFactor));            me->SetMaxHealth(me->GetMaxHealth() + m_bonusHP);            me->SetHealth(uint32((me->GetHealth() + m_bonusHP) * currentHealthPct));        }    }    if (me->IsInWorld())    {        unit->SendClearTarget();                                // SMSG_BREAK_TARGET        unit->SetControlled(true, UNIT_STAT_ROOT);              // SMSG_FORCE_ROOT - In some cases we send SMSG_SPLINE_MOVE_ROOT here (for creatures)                                                                // also adds MOVEMENTFLAG_ROOT        unit->SendMonsterMoveTransport(me);                     // SMSG_MONSTER_MOVE_TRANSPORT        if (me->GetTypeId() == TYPEID_UNIT)        {            if (me->ToCreature()->IsAIEnabled)                me->ToCreature()->AI()->PassengerBoarded(unit, seat->first, true);            // update all passenger's positions            RelocatePassengers(me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), me->GetOrientation());        }    }//.........这里部分代码省略.........
开发者ID:Alindor,项目名称:TrinityCore,代码行数:101,


示例17: GetMagicEvasion

uint16 GetMagicEvasion(CMobEntity* PMob){    uint8 mEvaRank = 3;    return GetBase(PMob, mEvaRank);}
开发者ID:DerpStarProject,项目名称:darkstar,代码行数:6,


示例18: CalculateStats

//.........这里部分代码省略.........                {                    PMob->health.maxmp = (int32)(PMob->health.maxmp * 1.5f);                }            }        }        else        {            PMob->health.maxmp = PMob->MPmodifier;        }        if(isNM)        {            PMob->health.maxmp = (int32)(PMob->health.maxmp * map_config.nm_mp_multiplier);        }        else        {            PMob->health.maxmp = (int32)(PMob->health.maxmp * map_config.mob_mp_multiplier);        }    }    PMob->UpdateHealth();    PMob->health.tp = 0;    PMob->health.hp = PMob->GetMaxHP();    PMob->health.mp = PMob->GetMaxMP();    PMob->m_Weapons[SLOT_MAIN]->setDamage(GetWeaponDamage(PMob));    //reduce weapon delay of MNK    if(PMob->GetMJob()==JOB_MNK){        PMob->m_Weapons[SLOT_MAIN]->resetDelay();    }    uint16 fSTR = GetBaseToRank(PMob->strRank, mLvl);    uint16 fDEX = GetBaseToRank(PMob->dexRank, mLvl);    uint16 fVIT = GetBaseToRank(PMob->vitRank, mLvl);    uint16 fAGI = GetBaseToRank(PMob->agiRank, mLvl);    uint16 fINT = GetBaseToRank(PMob->intRank, mLvl);    uint16 fMND = GetBaseToRank(PMob->mndRank, mLvl);    uint16 fCHR = GetBaseToRank(PMob->chrRank, mLvl);    uint16 mSTR = GetBaseToRank(grade::GetJobGrade(PMob->GetMJob(),2), mLvl);    uint16 mDEX = GetBaseToRank(grade::GetJobGrade(PMob->GetMJob(),3), mLvl);    uint16 mVIT = GetBaseToRank(grade::GetJobGrade(PMob->GetMJob(),4), mLvl);    uint16 mAGI = GetBaseToRank(grade::GetJobGrade(PMob->GetMJob(),5), mLvl);    uint16 mINT = GetBaseToRank(grade::GetJobGrade(PMob->GetMJob(),6), mLvl);    uint16 mMND = GetBaseToRank(grade::GetJobGrade(PMob->GetMJob(),7), mLvl);    uint16 mCHR = GetBaseToRank(grade::GetJobGrade(PMob->GetMJob(),8), mLvl);    uint16 sSTR = GetBaseToRank(grade::GetJobGrade(PMob->GetSJob(),2), PMob->GetSLevel());    uint16 sDEX = GetBaseToRank(grade::GetJobGrade(PMob->GetSJob(),3), PMob->GetSLevel());    uint16 sVIT = GetBaseToRank(grade::GetJobGrade(PMob->GetSJob(),4), PMob->GetSLevel());    uint16 sAGI = GetBaseToRank(grade::GetJobGrade(PMob->GetSJob(),5), PMob->GetSLevel());    uint16 sINT = GetBaseToRank(grade::GetJobGrade(PMob->GetSJob(),6), PMob->GetSLevel());    uint16 sMND = GetBaseToRank(grade::GetJobGrade(PMob->GetSJob(),7), PMob->GetSLevel());    uint16 sCHR = GetBaseToRank(grade::GetJobGrade(PMob->GetSJob(),8), PMob->GetSLevel());    if(PMob->GetSLevel() > 15)    {        sSTR /= 2;        sDEX /= 2;        sAGI /= 2;        sINT /= 2;        sMND /= 2;        sCHR /= 2;        sVIT /= 2;
开发者ID:DerpStarProject,项目名称:darkstar,代码行数:67,


示例19: GetIndex

void CAOPNormal::UpdateOnRemove(void){    BaseClass::UpdateOnRemove();    pAdminOP.UnhookEnt(GetBase(), this, GetIndex());}
开发者ID:apaloma,项目名称:sourceop,代码行数:5,


示例20: ASSERT

bool Vehicle::AddPassenger(Unit* unit, int8 seatId){    if(unit->GetVehicle() != this)        return false;    SeatMap::iterator seat;    if(seatId < 0) // no specific seat requirement    {        for(seat = Seats.begin(); seat != Seats.end(); ++seat)            if(!seat->second.Passenger && (seat->second.SeatInfo->CanEnterOrExit() || seat->second.SeatInfo->IsUsableByOverride()))                break;        if(seat == Seats.end()) // no available seat            return false;    }    else    {        seat = Seats.find(seatId);        if(seat == Seats.end())            return false;        if(seat->second.Passenger)        {            if(Unit* passenger = ObjectAccessor::GetUnit(*GetBase(), seat->second.Passenger))                passenger->ExitVehicle();            else                seat->second.Passenger = 0;        }        ASSERT(!seat->second.Passenger);    }    sLog->outDebug(LOG_FILTER_VEHICLES, "Unit %s enter vehicle entry %u id %u dbguid %u seat %d", unit->GetName(), _me->GetEntry(), _vehicleInfo->m_ID, _me->GetGUIDLow(), (int32)seat->first);    seat->second.Passenger = unit->GetGUID();    if(seat->second.SeatInfo->CanEnterOrExit())    {        ASSERT(_usableSeatNum);        --_usableSeatNum;        if(!_usableSeatNum)        {            if(_me->GetTypeId() == TYPEID_PLAYER)                _me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_PLAYER_VEHICLE);            else                _me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_SPELLCLICK);        }    }    if(seat->second.SeatInfo->m_flags && !(seat->second.SeatInfo->m_flags & VEHICLE_SEAT_FLAG_UNK11))        unit->AddUnitState(UNIT_STAT_ONVEHICLE);    unit->AddUnitMovementFlag(MOVEMENTFLAG_ONTRANSPORT);    VehicleSeatEntry const* veSeat = seat->second.SeatInfo;    unit->m_movementInfo.t_pos.m_positionX = veSeat->m_attachmentOffsetX;    unit->m_movementInfo.t_pos.m_positionY = veSeat->m_attachmentOffsetY;    unit->m_movementInfo.t_pos.m_positionZ = veSeat->m_attachmentOffsetZ;    unit->m_movementInfo.t_pos.m_orientation = 0;    unit->m_movementInfo.t_time = 0; // 1 for player    unit->m_movementInfo.t_seat = seat->first;    if(_me->GetTypeId() == TYPEID_UNIT        && unit->GetTypeId() == TYPEID_PLAYER        && seat->first == 0 && seat->second.SeatInfo->m_flags & VEHICLE_SEAT_FLAG_CAN_CONTROL)    {        if(!_me->SetCharmedBy(unit, CHARM_TYPE_VEHICLE))            ASSERT(false);    }    if(_me->IsInWorld())    {        unit->SendClearTarget();                                // SMSG_BREAK_TARGET        unit->SetControlled(true, UNIT_STAT_ROOT);              // SMSG_FORCE_ROOT - In some cases we send SMSG_SPLINE_MOVE_ROOT here (for creatures)                                                                // also adds MOVEMENTFLAG_ROOT        unit->SendMonsterMoveTransport(_me);                    // SMSG_MONSTER_MOVE_TRANSPORT        if(_me->GetTypeId() == TYPEID_UNIT)        {            if(_me->ToCreature()->IsAIEnabled)                _me->ToCreature()->AI()->PassengerBoarded(unit, seat->first, true);            // update all passenger's positions            RelocatePassengers(_me->GetPositionX(), _me->GetPositionY(), _me->GetPositionZ(), _me->GetOrientation());        }    }    if(GetBase()->GetTypeId() == TYPEID_UNIT)        sScriptMgr->OnAddPassenger(this, unit, seatId);    return true;}
开发者ID:FreedomEmu,项目名称:FreedomEmu,代码行数:89,


示例21: CalculateStats

//.........这里部分代码省略.........		float scale = PMob->MPscale;		if(PMob->getMobMod(MOBMOD_MP_BASE))		{			scale = (float)PMob->getMobMod(MOBMOD_MP_BASE) / 100.0f;		}		if(PMob->MPmodifier == 0){			PMob->health.maxmp = (int16)(18.2 * pow(PMob->GetMLevel(),1.1075) * scale) + 10;			if(isNM){			PMob->health.maxmp *= 1.5;				if(PMob->GetMLevel()>75){					PMob->health.maxmp *= 1.5;				}			}		} else {			PMob->health.maxmp = PMob->MPmodifier;		}	}    PMob->UpdateHealth();	PMob->health.tp = 0;    PMob->health.hp = PMob->GetMaxHP();    PMob->health.mp = PMob->GetMaxMP();	PMob->m_Weapons[SLOT_MAIN]->setDamage(GetWeaponDamage(PMob));    //reduce weapon delay of MNK    if(PMob->GetMJob()==JOB_MNK){		PMob->m_Weapons[SLOT_MAIN]->resetDelay();    }	uint16 fSTR = GetBaseToRank(PMob->strRank, PMob->GetMLevel());	uint16 fDEX = GetBaseToRank(PMob->dexRank, PMob->GetMLevel());	uint16 fVIT = GetBaseToRank(PMob->vitRank, PMob->GetMLevel());	uint16 fAGI = GetBaseToRank(PMob->agiRank, PMob->GetMLevel());	uint16 fINT = GetBaseToRank(PMob->intRank, PMob->GetMLevel());	uint16 fMND = GetBaseToRank(PMob->mndRank, PMob->GetMLevel());	uint16 fCHR = GetBaseToRank(PMob->chrRank, PMob->GetMLevel());	uint16 mSTR = GetBaseToRank(grade::GetJobGrade(PMob->GetMJob(),2), PMob->GetMLevel());	uint16 mDEX = GetBaseToRank(grade::GetJobGrade(PMob->GetMJob(),3), PMob->GetMLevel());	uint16 mVIT = GetBaseToRank(grade::GetJobGrade(PMob->GetMJob(),4), PMob->GetMLevel());	uint16 mAGI = GetBaseToRank(grade::GetJobGrade(PMob->GetMJob(),5), PMob->GetMLevel());	uint16 mINT = GetBaseToRank(grade::GetJobGrade(PMob->GetMJob(),6), PMob->GetMLevel());	uint16 mMND = GetBaseToRank(grade::GetJobGrade(PMob->GetMJob(),7), PMob->GetMLevel());	uint16 mCHR = GetBaseToRank(grade::GetJobGrade(PMob->GetMJob(),8), PMob->GetMLevel());	uint16 sSTR = GetBaseToRank(grade::GetJobGrade(PMob->GetSJob(),2), PMob->GetSLevel());	uint16 sDEX = GetBaseToRank(grade::GetJobGrade(PMob->GetSJob(),3), PMob->GetSLevel());	uint16 sVIT = GetBaseToRank(grade::GetJobGrade(PMob->GetSJob(),4), PMob->GetSLevel());	uint16 sAGI = GetBaseToRank(grade::GetJobGrade(PMob->GetSJob(),5), PMob->GetSLevel());	uint16 sINT = GetBaseToRank(grade::GetJobGrade(PMob->GetSJob(),6), PMob->GetSLevel());	uint16 sMND = GetBaseToRank(grade::GetJobGrade(PMob->GetSJob(),7), PMob->GetSLevel());	uint16 sCHR = GetBaseToRank(grade::GetJobGrade(PMob->GetSJob(),8), PMob->GetSLevel());	if(PMob->GetSLevel() > 15)	{		sSTR /= 2;		sDEX /= 2;		sAGI /= 2;		sINT /= 2;		sMND /= 2;		sCHR /= 2;		sVIT /= 2;
开发者ID:SharXeniX,项目名称:darkstar,代码行数:67,


示例22: ASSERT

bool Vehicle::AddPassenger(Unit* unit, int8 seatId){	/// @Prevent adding passengers when vehicle is uninstalling. (Bad script in OnUninstall/OnRemovePassenger/PassengerBoarded hook.)	if (_status == STATUS_UNINSTALLING)	{		sLog->outDebug(LOG_FILTER_VEHICLES, "Passenger GuidLow: %u, Entry: %u, attempting to board vehicle GuidLow: %u, Entry: %u during uninstall! SeatId: %i",			unit->GetGUIDLow(), unit->GetEntry(), _me->GetGUIDLow(), _me->GetEntry(), (int32)seatId);		return false;	}	if (unit->GetVehicle() != this)		return false;	if (unit->GetTypeId() == TYPEID_PLAYER && unit->GetMap()->IsBattleArena())		return false;	SeatMap::iterator seat;	if (seatId < 0) // no specific seat requirement	{		for (seat = Seats.begin(); seat != Seats.end(); ++seat)			if (!seat->second.Passenger && (seat->second.SeatInfo->CanEnterOrExit() || seat->second.SeatInfo->IsUsableByOverride() || CheckCustomCanEnter()))				break;		if (seat == Seats.end()) // no available seat			return false;	}	else	{		seat = Seats.find(seatId);		if (seat == Seats.end())			return false;		if (seat->second.Passenger)		{			if (Unit* passenger = ObjectAccessor::GetUnit(*GetBase(), seat->second.Passenger))				passenger->ExitVehicle();			else				seat->second.Passenger = 0;		}		ASSERT(!seat->second.Passenger);	}	sLog->outDebug(LOG_FILTER_VEHICLES, "Unit %s enter vehicle entry %u id %u dbguid %u seat %d", unit->GetName(), _me->GetEntry(), _vehicleInfo->m_ID, _me->GetGUIDLow(), (int32)seat->first);	seat->second.Passenger = unit->GetGUID();	if (seat->second.SeatInfo->CanEnterOrExit())	{		ASSERT(_usableSeatNum);		--_usableSeatNum;		if (!_usableSeatNum)		{			if (_me->GetTypeId() == TYPEID_PLAYER)				_me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_PLAYER_VEHICLE);			else				_me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_SPELLCLICK);		}	}	if (seat->second.SeatInfo->m_flags && !(seat->second.SeatInfo->m_flags & VEHICLE_SEAT_FLAG_ALLOW_TURNING))		if (!(_me->ToCreature() && _me->ToCreature()->GetCreatureTemplate()->flags_extra & CREATURE_FLAG_EXTRA_VEHICLE_ATTACKABLE_PASSENGERS) &&			!(unit->ToCreature() && unit->ToCreature()->GetCreatureTemplate()->flags_extra & CREATURE_FLAG_EXTRA_VEHICLE_ATTACKABLE_PASSENGERS))			unit->AddUnitState(UNIT_STATE_ONVEHICLE);	VehicleSeatEntry const* veSeat = seat->second.SeatInfo;	unit->m_movementInfo.t_pos.m_positionX = veSeat->m_attachmentOffsetX;	unit->m_movementInfo.t_pos.m_positionY = veSeat->m_attachmentOffsetY;	unit->m_movementInfo.t_pos.m_positionZ = veSeat->m_attachmentOffsetZ;	unit->m_movementInfo.t_pos.SetOrientation(0);	unit->m_movementInfo.t_time = 0; // 1 for player	unit->m_movementInfo.t_seat = seat->first;	unit->m_movementInfo.t_guid = _me->GetGUID();	// Hackfix	switch (veSeat->m_ID)	{	case 10882:		unit->m_movementInfo.t_pos.m_positionX = 15.0f;		unit->m_movementInfo.t_pos.m_positionY = 0.0f;		unit->m_movementInfo.t_pos.m_positionZ = 30.0f;		break;	default:		break;	}	if (_me->GetTypeId() == TYPEID_UNIT && unit->GetTypeId() == TYPEID_PLAYER &&		seat->second.SeatInfo->m_flags & VEHICLE_SEAT_FLAG_CAN_CONTROL)		ASSERT(_me->SetCharmedBy(unit, CHARM_TYPE_VEHICLE))		if (_me->IsInWorld())		{			unit->SendClearTarget();                                 // SMSG_BREAK_TARGET			unit->SetControlled(true, UNIT_STATE_ROOT);              // SMSG_FORCE_ROOT - In some cases we send SMSG_SPLINE_MOVE_ROOT here (for creatures)			// also adds MOVEMENTFLAG_ROOT			Movement::MoveSplineInit init(*unit);			init.DisableTransportPathTransformations();			init.MoveTo(unit->m_movementInfo.t_pos.m_positionX, unit->m_movementInfo.t_pos.m_positionY, unit->m_movementInfo.t_pos.m_positionZ);			init.SetFacing(0.0f);			init.SetTransportEnter();			init.Launch();//.........这里部分代码省略.........
开发者ID:Mystiko,项目名称:MoPCore5.4.8,代码行数:101,


示例23: ASSERT

Vehicle::~Vehicle(){    /// @Uninstall must be called before this.    ASSERT(_status == STATUS_UNINSTALLING);    for (SeatMap::const_iterator itr = Seats.begin(); itr != Seats.end(); ++itr)    {        if (itr->second.Passenger.Guid)            TC_LOG_ERROR("entities.vehicle", "Vehicle::~Vehicle (Entry: %u) has passenger %u in seat %u during destroy.", GetBase()->GetEntry(), itr->second.Passenger, itr->first);        ASSERT(itr->second.IsEmpty()); // ASSERT(!itr->second.Passenger.Guid);    }}
开发者ID:DSlayerMan,项目名称:ArkCORE-NG,代码行数:12,



注:本文中的GetBase函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ GetBaseReputation函数代码示例
C++ GetBagSlot函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。