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

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

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

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

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

示例1: JustDied

 void JustDied(Unit* /*killer*/) {     if (CAST_SUM(me))         if (Creature* pSummoner = CAST_CRE(CAST_SUM(me)->GetSummoner()))             if (pSummoner->AI())                 pSummoner->AI()->DoAction(ACTION_FLESH_TENTACLE_KILLED); }
开发者ID:kmishima,项目名称:DarkCore,代码行数:7,


示例2: UpdateAI

            void UpdateAI(const uint32 diff)            {                events.Update(diff);                if (events.ExecuteEvent() == EVENT_CHECK_SUMMON_AURA)                {                    std::list<Creature*> tigers;                    GetCreatureListWithEntryInGrid(tigers, me, NPC_TIGER_VEHICLE, 15.0f);                    if (!tigers.empty())                    {                        for (std::list<Creature*>::iterator itr = tigers.begin(); itr != tigers.end(); ++itr)                        {                            if (Unit* summoner = CAST_SUM(*itr)->GetSummoner())                                if (!summoner->HasAura(SPELL_NO_SUMMON_AURA) && !summoner->HasAura(SPELL_SUMMON_ZENTABRA_TRIGGER)                                    && !summoner->isInCombat())                                {                                    me->AddAura(SPELL_NO_SUMMON_AURA, summoner);                                    me->AddAura(SPELL_DETECT_INVIS, summoner);                                    summoner->CastSpell(summoner, SPELL_SUMMON_MATRIARCH, true);                                    Talk(SAY_MATRIARCH_AGGRO, summoner->GetGUID());                                }                        }                    }                    events.ScheduleEvent(EVENT_CHECK_SUMMON_AURA, 5000);                }            }
开发者ID:Rochet-2,项目名称:MythCore-OverWoW,代码行数:27,


示例3: SetDataSummoner

        void SetDataSummoner() {            if (!me->isSummon())                return;            if (Unit* pSummon = CAST_SUM(me)->GetSummoner())                CAST_CRE(pSummon)->AI()->SetData(2, 1);        }
开发者ID:814077430,项目名称:ArkCORE,代码行数:7,


示例4: JustDied

        void JustDied(Unit* /*pKiller*/) {            if (!me->isSummon())                return;            if (Unit* pSummon = CAST_SUM(me)->GetSummoner())                CAST_CRE(pSummon)->AI()->SetData(2, 2);        }
开发者ID:814077430,项目名称:ArkCORE,代码行数:7,


示例5: EnterEvadeMode

 void EnterEvadeMode() {     if (m_creature->isSummon())         if (Creature* pSummoner = CAST_CRE(CAST_SUM(m_creature)->GetSummoner()))             if (npc_gurgthockAI* pAI = CAST_AI(npc_gurgthockAI,pSummoner->AI()))                 pAI->RemoveSummons(); }
开发者ID:Ickybad,项目名称:diamondcore2,代码行数:7,


示例6: MoveToSummoner

 void MoveToSummoner() {     if (me->isSummon())         if (Unit* pSummoner = CAST_SUM(me)->GetSummoner())             if (pSummoner)                 me->GetMotionMaster()->MovePoint(0,pSummoner->GetPositionX(),pSummoner->GetPositionY(),pSummoner->GetPositionZ()); }
开发者ID:GameOn,项目名称:gameon,代码行数:7,


示例7: JustDied

 void JustDied(Unit * /*killer*/) {     if (me->isSummon())     {         if (Unit *owner = CAST_SUM(me)->GetSummoner())             CombatAI::JustDied(owner);     } }
开发者ID:Drethek,项目名称:Darkpeninsula-Cata-Old,代码行数:8,


示例8: UpdateAI

        void UpdateAI(const uint32 /*diff*/)        {            if (Unit* pSummoner = CAST_SUM(me)->GetSummoner())                WrapTargetGUID = pSummoner->GetGUID();            Unit* temp = Unit::GetUnit((*me), WrapTargetGUID);            if ((temp && temp->isAlive() && !temp->HasAura(SPELL_SNAKE_WRAP_STUN)) || !temp)                me->DealDamage(me, me->GetHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false);        }
开发者ID:St3ve,项目名称:TrinityCore,代码行数:9,


示例9: JustDied

    void JustDied(Unit* pKiller)    {        if (m_creature->isSummon())            if (Creature* pSummoner = CAST_CRE(CAST_SUM(m_creature)->GetSummoner()))                if (npc_gurgthockAI* pAI = CAST_AI(npc_gurgthockAI,pSummoner->AI()))                    pAI->bEventInProgress = false;        if (pKiller->GetTypeId() == TYPEID_PLAYER)           CAST_PLR(pKiller)->GroupEventHappens(QUEST_AMPHITHEATER_ANGUISH_MAGNATAUR, CAST_PLR(pKiller));    }
开发者ID:Ickybad,项目名称:diamondcore2,代码行数:10,


示例10: JustDied

 void JustDied(Unit* pKiller) {     if (me->isSummon())     {         if (Unit* pSummoner = CAST_SUM(me)->GetSummoner())         {             if (pSummoner && pSummoner->isAlive())                 CAST_CRE(pSummoner)->AI()->SetData(1, 0);         }     } }
开发者ID:Drethek,项目名称:Darkpeninsula-Cata-Old,代码行数:11,


示例11: InitScriptData

        void InitScriptData() {            Player* pPlayer = NULL;            if (me->isSummon())                if (Unit* summoner = CAST_SUM(me)->GetSummoner())                    if (summoner->GetTypeId() == TYPEID_PLAYER)                        pPlayer = CAST_PLR(summoner);            if (!pPlayer)                return;            me->SetUnitMovementFlags(MOVEMENTFLAG_WALKING);            Start(false, false, pPlayer->GetGUID());        }
开发者ID:814077430,项目名称:ArkCORE,代码行数:13,


示例12: EnterEvadeMode

    void EnterEvadeMode()    {        me->DisappearAndDie();        if (me->isSummon())        {            if (Unit* pSummoner = CAST_SUM(me)->GetSummoner())            {                if (pSummoner && pSummoner->isAlive())                    CAST_CRE(pSummoner)->DisappearAndDie();            }        }    }
开发者ID:LolJK,项目名称:PhantomCore,代码行数:13,


示例13: EnterCombat

    void EnterCombat(Unit* pWho)    {        DoScriptText(SAY_MARZON_2, me);        if (me->isSummon())        {            if (Unit* pSummoner = CAST_SUM(me)->GetSummoner())            {                if (pSummoner && pSummoner->isAlive() && !pSummoner->isInCombat())                    CAST_CRE(pSummoner)->AI()->AttackStart(pWho);            }        }    }
开发者ID:LolJK,项目名称:PhantomCore,代码行数:13,


示例14: UpdateAI

        void UpdateAI(const uint32 diff)        {            if (FlyBackTimer <= diff)            {                Player *plr = NULL;                if (me->isSummon())                    if (Unit *summoner = CAST_SUM(me)->GetSummoner())                        if (summoner->GetTypeId() == TYPEID_PLAYER)                            plr = CAST_PLR(summoner);                if (!plr)                    phase = 3;                switch(phase)                {                    case 0:                        me->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING);                        me->HandleEmoteCommand(EMOTE_STATE_FLYGRABCLOSED);                        FlyBackTimer = 500;                        break;                    case 1:                        plr->GetClosePoint(x, y, z, me->GetObjectSize());                        z += 2.5; x -= 2; y -= 1.5;                        me->GetMotionMaster()->MovePoint(0, x, y, z);                        me->SetUInt64Value(UNIT_FIELD_TARGET, plr->GetGUID());                        me->SetVisible(true);                        FlyBackTimer = 4500;                        break;                    case 2:                        if (!plr->isRessurectRequested())                        {                            me->HandleEmoteCommand(EMOTE_ONESHOT_CUSTOMSPELL01);                            DoCast(plr, SPELL_REVIVE, true);                            me->MonsterWhisper(VALK_WHISPER, plr->GetGUID());                        }                        FlyBackTimer = 5000;                        break;                    case 3:                        me->SetVisible(false);                        FlyBackTimer = 3000;                        break;                    case 4:                        me->DisappearAndDie();                        break;                    default:                        //Nothing To DO                        break;                }                ++phase;            } else FlyBackTimer-=diff;        }
开发者ID:Bootz,项目名称:SkyFireEMU_420,代码行数:51,


示例15: KilledUnit

            void KilledUnit(Unit* victim)            {                if (victim->GetTypeId() != TYPEID_UNIT)                    return;                if (Unit* vehSummoner = CAST_SUM(victim)->GetSummoner())                {                    vehSummoner->RemoveAurasDueToSpell(SPELL_NO_SUMMON_AURA);                    vehSummoner->RemoveAurasDueToSpell(SPELL_DETECT_INVIS);                    vehSummoner->RemoveAurasDueToSpell(SPELL_SPIRIT_OF_THE_TIGER_RIDER);                    vehSummoner->RemoveAurasDueToSpell(SPELL_SUMMON_ZENTABRA_TRIGGER);                }                me->ForcedDespawn();            }
开发者ID:Rochet-2,项目名称:MythCore-OverWoW,代码行数:14,


示例16: MovementInform

        void MovementInform(uint32 uiType, uint32 /*uiId*/)        {            if (uiType != POINT_MOTION_TYPE)                return;            if (me->isSummon())            {                if (Unit* pSummoner = CAST_SUM(me)->GetSummoner())                {                    CAST_AI(npc_lord_gregor_lescovar::npc_lord_gregor_lescovarAI, CAST_CRE(pSummoner)->AI())->uiTimer = 2000;                    CAST_AI(npc_lord_gregor_lescovar::npc_lord_gregor_lescovarAI, CAST_CRE(pSummoner)->AI())->uiPhase = 5;                    //me->ChangeOrient(0.0f, pSummoner);                }            }        }
开发者ID:Drethek,项目名称:Darkpeninsula-Cata-Old,代码行数:15,


示例17: WaypointReached

        void WaypointReached(uint32 i) {            Player* pPlayer = NULL;            if (me->isSummon())                if (Unit* summoner = CAST_SUM(me)->GetSummoner())                    if (summoner->GetTypeId() == TYPEID_PLAYER)                        pPlayer = CAST_PLR(summoner);            if (!pPlayer)                return;            switch (i) {            case 26:                me->ForcedDespawn();                break;            }        }
开发者ID:814077430,项目名称:ArkCORE,代码行数:16,


示例18: MovementInform

    void MovementInform(uint32 uiType, uint32 /*uiId*/)    {        if (uiType != POINT_MOTION_TYPE)            return;        if (me->isSummon())        {            if (Creature* pSummoner = CAST_CRE(CAST_SUM(me)->GetSummoner()))            {				if (npc_lord_gregor_lescovarAI* pAI = CAST_AI(npc_lord_gregor_lescovarAI,pSummoner->AI()))				{					pAI->uiTimer = 2000;					pAI->uiPhase = 5;				}                //me->ChangeOrient(0.0f, pSummoner);            }        }    }
开发者ID:LolJK,项目名称:PhantomCore,代码行数:18,


示例19: DamageTaken

 void DamageTaken(Unit* attacker, uint32& damage) {    if (HealthBelowPct(20))    {         damage = 0;         me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);         if (Unit* vehSummoner = CAST_SUM(attacker)->GetSummoner())         {             vehSummoner->AddAura(SPELL_SUMMON_ZENTABRA_TRIGGER, vehSummoner);             vehSummoner->CastSpell(vehSummoner, SPELL_SUMMON_ZENTABRA, true);             attacker->CastSpell(attacker, SPELL_EJECT_PASSENGERS, true);             vehSummoner->RemoveAurasDueToSpell(SPELL_NO_SUMMON_AURA);             vehSummoner->RemoveAurasDueToSpell(SPELL_DETECT_INVIS);             vehSummoner->RemoveAurasDueToSpell(SPELL_SPIRIT_OF_THE_TIGER_RIDER);             vehSummoner->RemoveAurasDueToSpell(SPELL_SUMMON_ZENTABRA_TRIGGER);         }         me->ForcedDespawn();     } }
开发者ID:Rochet-2,项目名称:MythCore-OverWoW,代码行数:19,


示例20: while

void SummonList::DespawnAll(){    while(!empty())    {        Creature *summon = Unit::GetCreature(*m_creature, *begin());        if (!summon)            erase(begin());        else        {            erase(begin());            if (summon->isSummon())            {                summon->DestroyForNearbyPlayers();                CAST_SUM(summon)->UnSummon();            }            else                summon->DisappearAndDie();        }    }}
开发者ID:Ickybad,项目名称:diamondcore2,代码行数:20,



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


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