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

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

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

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

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

示例1: MakePlayerAlreadyMember

void Channel::Join(uint64 p, const char *pass){    WorldPacket data;        std::string worldChatChannelName = sWorld->GetWorldChatChannelName();    uint64 worldChatOwnerGuid = sWorld->GetWorldChatOwnerGuid();    uint64 worldChatIdleGuid = sWorld->GetWorldChatIdleGuid();        if (IsOn(p))    {        if ( m_name != worldChatChannelName )        {            if (!IsConstant())            {                MakePlayerAlreadyMember(&data, p);                SendToOne(&data, p);            }            return;        }    }    if (IsBanned(p))    {        MakeBanned(&data);        SendToOne(&data, p);        return;    }    if (m_password.length() > 0 && strcmp(pass, m_password.c_str()))    {        MakeWrongPassword(&data);        SendToOne(&data, p);        return;    }    Player* player = ObjectAccessor::FindPlayer(p);    if (player)    {        if (HasFlag(CHANNEL_FLAG_LFG) &&            sWorld->getBoolConfig(CONFIG_RESTRICTED_LFG_CHANNEL) && AccountMgr::IsPlayerAccount(player->GetSession()->GetSecurity()) && player->GetGroup())        {            MakeNotInLfg(&data);            SendToOne(&data, p);            return;        }        player->JoinedChannel(this);    }    if (m_announce && (!player || !AccountMgr::IsGMAccount(player->GetSession()->GetSecurity()) || !sWorld->getBoolConfig(CONFIG_SILENTLY_GM_JOIN_TO_CHANNEL)))    {        MakeJoined(&data, p);        SendToAll(&data);    }    data.clear();    PlayerInfo pinfo;    pinfo.player = p;    pinfo.flags = MEMBER_FLAG_NONE;    players[p] = pinfo;    MakeYouJoined(&data);    SendToOne(&data, p);    JoinNotify(p);    if ( m_name != worldChatChannelName )    {        if (!IsConstant() && !m_ownerGUID)        {            SetOwner(p, (players.size() > 1 ? true : false));            players[p].SetModerator(true);        }    }     else     {        if ( p == worldChatOwnerGuid )        {            SetOwner(worldChatOwnerGuid, true);            players[worldChatOwnerGuid].SetModerator(true);        }        else         {            SetOwner(worldChatIdleGuid, true);            players[worldChatIdleGuid].SetModerator(true);        }    }}
开发者ID:Anonymus123,项目名称:AtomicCore-3.3.5a,代码行数:90,


示例2: MakeNotMember

void Channel::Leave(uint64 p, bool send){    std::string worldChatChannelName = sWorld->GetWorldChatChannelName();    uint64 worldChatOwnerGuid = sWorld->GetWorldChatOwnerGuid();    uint64 worldChatIdleGuid = sWorld->GetWorldChatIdleGuid();        if (!IsOn(p))    {        if (send)        {            WorldPacket data;            MakeNotMember(&data);            SendToOne(&data, p);        }    }    else    {        Player* player = ObjectAccessor::FindPlayer(p);        if (send)        {            WorldPacket data;            MakeYouLeft(&data);            SendToOne(&data, p);            if (player)                player->LeftChannel(this);            data.clear();        }        bool changeowner = players[p].IsOwner();        players.erase(p);        if (m_announce && (!player || !AccountMgr::IsGMAccount(player->GetSession()->GetSecurity()) || !sWorld->getBoolConfig(CONFIG_SILENTLY_GM_JOIN_TO_CHANNEL)))        {            WorldPacket data;            MakeLeft(&data, p);            SendToAll(&data);        }        LeaveNotify(p);        if (!IsConstant())        {            // Update last_used timestamp in db            UpdateChannelUseageInDB();            // If the channel owner left and there are still players inside, pick a new owner            if (changeowner && m_ownership && !players.empty())            {                if ( m_name != worldChatChannelName )                {                    uint64 newowner = !players.empty() ? players.begin()->second.player : 0;                    players[newowner].SetModerator(true);                    SetOwner(newowner);                }                else                {                    if ( IsOn(worldChatOwnerGuid) )                     {                         uint64 newowner = worldChatOwnerGuid;                        players[newowner].SetModerator(true);                        SetOwner(newowner);                    }                    else                    {                        uint64 newowner = worldChatIdleGuid;                        players[newowner].SetModerator(true);                        SetOwner(newowner);                    }                }            }        }    }}
开发者ID:Anonymus123,项目名称:AtomicCore-3.3.5a,代码行数:74,


示例3: MakeNotMember

void Channel::LeaveChannel(Player* player, bool send){    uint64 guid = player->GetGUID();    if (!IsOn(guid))    {        if (send)        {            WorldPacket data;            MakeNotMember(&data);            SendToOne(&data, guid);        }        return;    }    if (send)    {        WorldPacket data;        MakeYouLeft(&data);        SendToOne(&data, guid);        player->LeftChannel(this);        data.clear();    }    bool changeowner = playersStore[guid].IsOwner();    playersStore.erase(guid);    if (_announce && (!AccountMgr::IsGMAccount(player->GetSession()->GetSecurity()) ||                       !sWorld->getBoolConfig(CONFIG_SILENTLY_GM_JOIN_TO_CHANNEL)))    {        WorldPacket data;        MakeLeft(&data, guid);        SendToAll(&data);    }    RemoveWatching(player);    LeaveNotify(player);    if (!IsConstant())    {        // Update last_used timestamp in db        UpdateChannelUseageInDB();        // If the channel owner left and there are still playersStore inside, pick a new owner        if (changeowner && _ownership)        {            if (!playersStore.empty())            {                uint64 newowner = 0;                for (Channel::PlayerContainer::const_iterator itr = playersStore.begin(); itr != playersStore.end(); ++itr)                {                    newowner = itr->second.player;                    if (!itr->second.plrPtr->GetSession()->GetSecurity())                        break;                }                SetOwner(newowner);            }            else                SetOwner(0);        }    }}
开发者ID:Keader,项目名称:Sunwell,代码行数:61,


示例4: MakePlayerAlreadyMember

void Channel::Join(ObjectGuid p, const char *pass){    WorldPacket data;    if (IsOn(p))    {        if(!IsConstant())                                   // non send error message for built-in channels        {            MakePlayerAlreadyMember(&data, p);            SendToOne(&data, p);        }        return;    }    if (IsBanned(p))    {        MakeBanned(&data);        SendToOne(&data, p);        return;    }    if(m_password.length() > 0 && strcmp(pass, m_password.c_str()))    {        MakeWrongPassword(&data);        SendToOne(&data, p);        return;    }    Player *plr = sObjectMgr.GetPlayer(p);    if(plr)    {        if(HasFlag(CHANNEL_FLAG_LFG) && sWorld.getConfig(CONFIG_BOOL_RESTRICTED_LFG_CHANNEL) && plr->GetSession()->GetSecurity() <= SEC_CURATOR )        {            MakeNotInLfg(&data);            SendToOne(&data, p);            return;        }        if(plr->GetGuildId() && (GetFlags() == 0x38))            return;        plr->JoinedChannel(this);    }    if(m_announce && (!plr || plr->GetSession()->GetSecurity() < SEC_GAMEMASTER || !sWorld.getConfig(CONFIG_BOOL_SILENTLY_GM_JOIN_TO_CHANNEL) ))    {        MakeJoined(&data, p);        SendToAll(&data);    }    data.clear();    PlayerInfo& pinfo = m_players[p];    pinfo.player = p;    pinfo.flags = 0;    MakeYouJoined(&data);    SendToOne(&data, p);    JoinNotify(p);    // if no owner first logged will become    if(!IsConstant() && !m_ownerGuid)    {        SetOwner(p, (m_players.size() > 1 ? true : false));        m_players[p].SetModerator(true);    }}
开发者ID:Calixa,项目名称:murlocs_434,代码行数:68,


示例5: MakePlayerAlreadyMember

void Channel::JoinChannel(Player* player, std::string const& pass){    ObjectGuid const& guid = player->GetGUID();    if (IsOn(guid))    {        // Do not send error message for built-in channels        if (!IsConstant())        {            WorldPackets::Channel::ChannelNotify notify;            MakePlayerAlreadyMember(notify, guid);            player->SendDirectMessage(notify.Write());        }        return;    }    if (IsBanned(guid))    {        WorldPackets::Channel::ChannelNotify notify;        MakeBanned(notify);        player->SendDirectMessage(notify.Write());        return;    }    if (!_password.empty() && pass != _password)    {        WorldPackets::Channel::ChannelNotify notify;        MakeWrongPassword(notify);        player->SendDirectMessage(notify.Write());        return;    }    if (HasFlag(CHANNEL_FLAG_LFG) &&        sWorld->getBoolConfig(CONFIG_RESTRICTED_LFG_CHANNEL) &&        AccountMgr::IsPlayerAccount(player->GetSession()->GetSecurity()) && //FIXME: Move to RBAC        player->GetGroup())    {        WorldPackets::Channel::ChannelNotify notify;        MakeNotInLfg(notify);        player->SendDirectMessage(notify.Write());        return;    }    player->JoinedChannel(this);    if (_announce && !player->GetSession()->HasPermission(rbac::RBAC_PERM_SILENTLY_JOIN_CHANNEL))    {        WorldPackets::Channel::ChannelNotify notify;        MakeJoined(notify, guid);        SendToAll(notify.Write());    }    PlayerInfo playerInfo;    playerInfo.PlayerGuid = guid;    _playersStore[guid] = playerInfo;    /*    WorldPackets::Channel::ChannelNotify notify;    MakeYouJoined(notify);    player->SendDirectMessage(notify.Write());    */    WorldPackets::Channel::ChannelNotifyJoined notify;    //notify.ChannelWelcomeMsg = "";    notify.ChatChannelID = _channelId;    //notify.InstanceID = 0;    notify._ChannelFlags = _flags;    notify._Channel = _name;    player->SendDirectMessage(notify.Write());    JoinNotify(player);    // Custom channel handling    if (!IsConstant())    {        // Update last_used timestamp in db        if (!_playersStore.empty())            UpdateChannelUseageInDB();        // If the channel has no owner yet and ownership is allowed, set the new owner.        if (_ownerGUID.IsEmpty() && _ownership)        {            SetOwner(guid, _playersStore.size() > 1);            _playersStore[guid].SetModerator(true);        }    }}
开发者ID:Rastrian,项目名称:DeathCore_6.x-1,代码行数:86,


示例6: GetSel

void CTWScriptEdit::FormatTextRange(int nStart, int nEnd){	if (nStart >= nEnd)		return;	m_bInForcedChange = TRUE;	CHARRANGE crOldSel;	GetSel(crOldSel);	LockWindowUpdate();	HideSelection(TRUE, FALSE);	WCHAR *pBuffer = NULL;	try {		SetSel(nStart, nEnd);		//pBuffer = new WCHAR[nEnd - nStart + 1];		CHAR* pBuffer2 = new CHAR[nEnd - nStart + 1];		long nLen = GetSelText(pBuffer2);		pBuffer = GetUnicode(pBuffer2);		ASSERT(nLen <= nEnd - nStart);		pBuffer[nLen] = 0;		WCHAR *pStart, *pPtr;		pStart = pPtr = pBuffer;		WCHAR* pSymbolStart = NULL;		SymbolColor ic;		while (*pPtr != 0) {			WCHAR ch = *pPtr;			if (ch == m_chComment && (m_chComment2 == 0 || pPtr[1] == m_chComment2)) {				pSymbolStart = pPtr;				do {					ch = *(++pPtr);				} while (ch != 0 && ch != '/r');				ic = m_icComment;			} else if (IsStringQuote(ch)) { // Process strings				pSymbolStart = pPtr;				WCHAR ch1 = ch;				do {					ch = *(++pPtr);				} while (ch != 0 && ch != ch1 && ch != '/r');				if (ch == ch1) pPtr++;				ic = m_icString;			} else if (_istdigit(ch)) { // Process numbers				pSymbolStart = pPtr;				wcstod(pSymbolStart, &pPtr);				ic = m_icNumber;			} else if (_istalpha(ch) || ch == '_') { // Process keywords				pSymbolStart = pPtr;				do {					ch = *(++pPtr);				} while (_istalnum(ch) || ch == '_');				*pPtr = 0;				int nPos = IsKeyword(pSymbolStart);				if (nPos >= 0) {					ChangeCase(nStart + pSymbolStart - pBuffer, nStart + pPtr - pBuffer, 								m_strKeywords.Mid(nPos+1, pPtr - pSymbolStart));					if (wcsicmp(m_strComment, pSymbolStart) == 0) {						*pPtr = ch;						*pSymbolStart = m_chComment;						if (pSymbolStart[1] != 0 && m_chComment2 != 0)							pSymbolStart[1] = m_chComment2;						pPtr = pSymbolStart;						pSymbolStart = NULL;						continue;					}					ic = m_icKeyword;				} else {					nPos = IsConstant(pSymbolStart);					if (nPos >= 0) {							ChangeCase(nStart + pSymbolStart - pBuffer, nStart + pPtr - pBuffer, 										m_strConstants.Mid(nPos+1, pPtr - pSymbolStart));						ic = m_icConstant;					} else {						pSymbolStart = NULL;					}				}				*pPtr = ch;			} else {				pPtr++;			}			if (pSymbolStart != NULL) {				ASSERT(pSymbolStart < pPtr);				SetFormatRange(nStart + pStart - pBuffer, nStart + pSymbolStart - pBuffer, FALSE, RGB(0,0,0));				SetFormatRange(nStart + pSymbolStart - pBuffer, nStart + pPtr - pBuffer, ic.bBold, ic.clrColor);				pStart = pPtr;				pSymbolStart = 0;			} else if (*pPtr == 0)				SetFormatRange(nStart + pStart - pBuffer, nStart + pPtr - pBuffer, FALSE, RGB(0,0,0));		}	} catch(...){}	//delete [] pBuffer;//.........这里部分代码省略.........
开发者ID:gitrider,项目名称:wxsj2,代码行数:101,


示例7: MakePlayerAlreadyMember

void Channel::JoinChannel(Player* player, std::string const& pass){    uint64 guid = player->GetGUID();    if (IsOn(guid))    {        // Do not send error message for built-in channels        if (!IsConstant())        {            WorldPacket data;            MakePlayerAlreadyMember(&data, guid);            SendToOne(&data, guid);        }        return;    }    if (IsBanned(guid))    {        WorldPacket data;        MakeBanned(&data);        SendToOne(&data, guid);        return;    }    if (!_password.empty() && pass != _password)    {        WorldPacket data;        MakeWrongPassword(&data);        SendToOne(&data, guid);        return;    }    if (HasFlag(CHANNEL_FLAG_LFG) &&        sWorld->getBoolConfig(CONFIG_RESTRICTED_LFG_CHANNEL) &&        AccountMgr::IsPlayerAccount(player->GetSession()->GetSecurity()) && //FIXME: Move to RBAC        player->GetGroup())    {        WorldPacket data;        MakeNotInLfg(&data);        SendToOne(&data, guid);        return;    }    player->JoinedChannel(this);    if (_announce && !player->GetSession()->HasPermission(rbac::RBAC_PERM_SILENTLY_JOIN_CHANNEL))    {        WorldPacket data;        MakeJoined(&data, guid);        SendToAll(&data);    }    PlayerInfo pinfo;    pinfo.player = guid;    pinfo.flags = MEMBER_FLAG_NONE;    playersStore[guid] = pinfo;    WorldPacket data;    MakeYouJoined(&data);    SendToOne(&data, guid);    JoinNotify(guid);    // Custom channel handling    if (!IsConstant())    {        // Update last_used timestamp in db        if (!playersStore.empty())            UpdateChannelUseageInDB();        // If the channel has no owner yet and ownership is allowed, set the new owner.        if (!_ownerGUID && _ownership)        {            SetOwner(guid, playersStore.size() > 1);            playersStore[guid].SetModerator(true);        }    }}
开发者ID:Ayik0,项目名称:DeathCore_5.4.8,代码行数:77,


示例8: IsConstant

bool UNiagaraNodeInput::IsExposedConstant()const{	return bExposeWhenConstant && IsConstant();}
开发者ID:RandomDeveloperM,项目名称:UE4_Hairworks,代码行数:4,


示例9: MakePlayerAlreadyMember

void Channel::Join(Player* player, const char* password){    ObjectGuid guid = player->GetObjectGuid();    WorldPacket data;    if (IsOn(guid))    {        if (!IsConstant())                                  // non send error message for built-in channels        {            MakePlayerAlreadyMember(&data, guid);            SendToOne(&data, guid);        }        return;    }    if (IsBanned(guid))    {        MakeBanned(&data);        SendToOne(&data, guid);        return;    }    if (m_password.length() > 0 && strcmp(password, m_password.c_str()))    {        MakeWrongPassword(&data);        SendToOne(&data, guid);        return;    }    if (HasFlag(CHANNEL_FLAG_LFG) && sWorld.getConfig(CONFIG_BOOL_RESTRICTED_LFG_CHANNEL) && player->GetSession()->GetSecurity() == SEC_PLAYER &&            (player->GetGroup() || player->m_lookingForGroup.Empty()))    {        MakeNotInLfg(&data);        SendToOne(&data, guid);        return;    }    if (player->GetGuildId() && (GetFlags() == 0x38))        return;    // join channel    player->JoinedChannel(this);    if (m_announce && (player->GetSession()->GetSecurity() < SEC_GAMEMASTER || !sWorld.getConfig(CONFIG_BOOL_SILENTLY_GM_JOIN_TO_CHANNEL)))    {        MakeJoined(&data, guid);        SendToAll(&data);    }    data.clear();    PlayerInfo& pinfo = m_players[guid];    pinfo.player = guid;    pinfo.flags = MEMBER_FLAG_NONE;    MakeYouJoined(&data);    SendToOne(&data, guid);    JoinNotify(guid);    // if no owner first logged will become    if (!IsConstant() && !m_ownerGuid)    {        SetOwner(guid, (m_players.size() > 1 ? true : false));        m_players[guid].SetModerator(true);    }}
开发者ID:249CAAFE40,项目名称:mangos-tbc,代码行数:67,


示例10: if

/** Saves the first derivative of the sequence starting at Iter in the back *this *  /param Iter: Iterator to function to differentiate. *  /param Var: Variable to differentiate with respect to. *  /param Trigonemetry: Differentiate trigonometric functions as radians og degrees. *  /param Level: Indicates the number os times the function has been called recursive. To prevent infinite loops. *  /throw EFuncError: Thrown if differentiation fails. */void TFuncData::AddDif(TConstIterator Iter, const TElem &Var, TTrigonometry Trigonometry, unsigned Level){  if(*Iter == Var)    Data.push_back(TElem(CodeNumber, 1));  else if(Iter->Ident == CodeRand)		throw EFuncError(ecNotDifAble, L"rand");  else if(IsConstant(*Iter))    Data.push_back(TElem(CodeNumber, 0.0));	else	{		if(!ContainsElem(Iter, Var))		{			Data.push_back(TElem(CodeNumber, 0.0));			return;		}		switch(Iter->Ident)		{			case CodeIf:			case CodeIfSeq:			{				//f(x)=if(a1,b1,a2,b2, ... , an,bn [,c])				//f'(x)=if(a1,b1',a2,b2', ... , an, bn' [,c'])				Data.push_back(*Iter); //CodeIf with same number of arguments				unsigned Arguments = FunctionArguments(*Iter);				++Iter;				for(unsigned I = 0; I < Arguments-1; I++)				{					TConstIterator End = FindEnd(Iter);					if(I % 2)						AddDif(Iter, Var, Trigonometry, Level);					else						Data.insert(Data.end(), Iter, End);					Iter = End;				}				AddDif(Iter, Var, Trigonometry, Level);				break;			}			case CodeMin:			case CodeMax:			{				//f(x)=min(a1,a2,a3, ... , an) f'(x)=if(a1<a2 and a1<a3 ...,a1', a2<a1 and a2<a3 ...,a2',				unsigned Arguments = Iter->Arguments;				Data.push_back(TElem(CodeIf, 2*Arguments-1, 0));				TConstIterator Param = Iter + 1;				for(unsigned I = 0; I < Arguments-1; I++)				{					TConstIterator End = FindEnd(Param);					for(unsigned J = 0; J < Arguments-2; J++)						Data.push_back(CodeAnd);					TConstIterator Param2 = Iter+1;					for(unsigned J = 0; J < Arguments; J++)					{						if(J != I)						{							Data.push_back(TElem(Iter->Ident == CodeMin ? cmLess : cmGreater));							Data.insert(Data.end(), Param, End);							Data.insert(Data.end(), Param2, FindEnd(Param2));						}						Param2 = FindEnd(Param2);					}					AddDif(Param, Var, Trigonometry, Level);					Param = End;				}				AddDif(Param, Var, Trigonometry, Level);				break;			}			case CodeCustom:			{				if(Level > MaxDifLevel)					throw EFuncError(ecRecursiveDif);				boost::shared_ptr<TBaseCustomFunc> Func = boost::any_cast<boost::shared_ptr<TBaseCustomFunc> >(Iter->Value);				if(Func)					AddDif(Func->GetFuncData()->Data.begin(), Var, Trigonometry, Level + 1);				else					throw EFuncError(ecSymbolNotFound, Iter->Text);				break;			}			case CodeDNorm:			{				std::vector<std::wstring> ArgNames;				ArgNames.push_back(L"x");				ArgNames.push_back(L"x2");				ArgNames.push_back(L"x3");				TFuncData Temp(FunctionDefinition(CodeDNorm), ArgNames);				TFuncData Temp2;				std::vector<std::vector<TElem> > Args(3);				CopyReplaceArgs(Args.front(), Iter + 1, std::vector<std::vector<TElem> >());				if(Iter->Arguments > 2)				{//.........这里部分代码省略.........
开发者ID:q2apro,项目名称:graph-padowan,代码行数:101,


示例11: builder

void Channel::LeaveChannel(Player* player, bool send){    ObjectGuid const& guid = player->GetGUID();    if (!IsOn(guid))    {        if (send)        {            NotMemberAppend appender;            ChannelNameBuilder<NotMemberAppend> builder(this, appender);            SendToOne(builder, guid);        }        return;    }    player->LeftChannel(this);    if (send)    {        /*        YouLeftAppend appender;        ChannelNameBuilder<YouLeftAppend> builder(this, appender);        SendToOne(builder, guid);        */        auto builder = [&](LocaleConstant locale)        {            LocaleConstant localeIdx = sWorld->GetAvailableDbcLocale(locale);            WorldPackets::Channel::ChannelNotifyLeft* notify = new WorldPackets::Channel::ChannelNotifyLeft();            notify->Channel = GetName(localeIdx);            notify->ChatChannelID = 0;            //notify->Suspended = false;            return notify;        };        SendToOne(builder, guid);    }    PlayerInfo& info = _playersStore.at(guid);    bool changeowner = info.IsOwner();    _playersStore.erase(guid);    if (_announceEnabled && !player->GetSession()->HasPermission(rbac::RBAC_PERM_SILENTLY_JOIN_CHANNEL))    {        LeftAppend appender(guid);        ChannelNameBuilder<LeftAppend> builder(this, appender);        SendToAll(builder);    }    LeaveNotify(player);    if (!IsConstant())    {        // Update last_used timestamp in db        UpdateChannelUseageInDB();        // If the channel owner left and there are still playersStore inside, pick a new owner        // do not pick invisible gm owner unless there are only invisible gms in that channel (rare)        if (changeowner && _ownershipEnabled && !_playersStore.empty())        {            PlayerContainer::iterator itr;            for (itr = _playersStore.begin(); itr != _playersStore.end(); ++itr)            {                if (!itr->second.IsInvisible())                    break;            }            if (itr == _playersStore.end())                itr = _playersStore.begin();            ObjectGuid const& newowner = itr->first;            itr->second.SetModerator(true);            SetOwner(newowner);            // if the new owner is invisible gm, set flag to automatically choose a new owner            if (itr->second.IsInvisible())                _isOwnerInvisible = true;        }    }}
开发者ID:Lyill,项目名称:TrinityCore,代码行数:81,


示例12: appender

void Channel::JoinChannel(Player* player, std::string const& pass){    ObjectGuid const& guid = player->GetGUID();    if (IsOn(guid))    {        // Do not send error message for built-in channels        if (!IsConstant())        {            PlayerAlreadyMemberAppend appender(guid);            ChannelNameBuilder<PlayerAlreadyMemberAppend> builder(this, appender);            SendToOne(builder, guid);        }        return;    }    if (IsBanned(guid))    {        BannedAppend appender;        ChannelNameBuilder<BannedAppend> builder(this, appender);        SendToOne(builder, guid);        return;    }    if (!_channelPassword.empty() && pass != _channelPassword)    {        WrongPasswordAppend appender;        ChannelNameBuilder<WrongPasswordAppend> builder(this, appender);        SendToOne(builder, guid);        return;    }    if (HasFlag(CHANNEL_FLAG_LFG) &&        sWorld->getBoolConfig(CONFIG_RESTRICTED_LFG_CHANNEL) &&        AccountMgr::IsPlayerAccount(player->GetSession()->GetSecurity()) && //FIXME: Move to RBAC        player->GetGroup())    {        NotInLFGAppend appender;        ChannelNameBuilder<NotInLFGAppend> builder(this, appender);        SendToOne(builder, guid);        return;    }    player->JoinedChannel(this);    if (_announceEnabled && !player->GetSession()->HasPermission(rbac::RBAC_PERM_SILENTLY_JOIN_CHANNEL))    {        JoinedAppend appender(guid);        ChannelNameBuilder<JoinedAppend> builder(this, appender);        SendToAll(builder);    }    bool newChannel = _playersStore.empty();    PlayerInfo& playerInfo = _playersStore[guid];    playerInfo.SetInvisible(!player->isGMVisible());    /*    YouJoinedAppend appender;    ChannelNameBuilder<YouJoinedAppend> builder(this, appender);    SendToOne(builder, guid);    */    auto builder = [&](LocaleConstant /*locale*/)    {        WorldPackets::Channel::ChannelNotifyJoined* notify = new WorldPackets::Channel::ChannelNotifyJoined();        //notify->ChannelWelcomeMsg = "";        notify->ChatChannelID = _channelId;        //notify->InstanceID = 0;        notify->_ChannelFlags = _channelFlags;        notify->_Channel = _channelName;        return notify;    };    SendToOne(builder, guid);    JoinNotify(player);    // Custom channel handling    if (!IsConstant())    {        // Update last_used timestamp in db        if (!_playersStore.empty())            UpdateChannelUseageInDB();        // If the channel has no owner yet and ownership is allowed, set the new owner.        // or if the owner was a GM with .gm visible off        // don't do this if the new player is, too, an invis GM, unless the channel was empty        if (_ownershipEnabled && (newChannel || !playerInfo.IsInvisible()) && (_ownerGuid.IsEmpty() || _isOwnerInvisible))        {            _isOwnerInvisible = playerInfo.IsInvisible();            SetOwner(guid, !newChannel && !_isOwnerInvisible);            playerInfo.SetModerator(true);        }    }}
开发者ID:Lyill,项目名称:TrinityCore,代码行数:96,


示例13: MakePlayerAlreadyMember

void Channel::Join(uint64 p, const char *pass){    WorldPacket data;    if(IsOn(p))    {        if(!IsConstant())                                   // non send error message for built-in channels        {            MakePlayerAlreadyMember(&data, p);            SendToOne(&data, p);        }        return;    }    if(IsBanned(p))    {        MakeBanned(&data);        SendToOne(&data, p);        return;    }    if(m_password.length() > 0 && strcmp(pass, m_password.c_str()))    {        MakeWrongPassword(&data);        SendToOne(&data, p);        return;    }    Player *plr = objmgr.GetPlayer(p);    if(plr)    {        if(HasFlag(CHANNEL_FLAG_LFG) &&            sWorld.getConfig(CONFIG_RESTRICTED_LFG_CHANNEL) && plr->GetSession()->GetSecurity() == SEC_PLAYER &&            (plr->GetGroup() || plr->m_lookingForGroup.Empty()) )        {            MakeNotInLfg(&data);            SendToOne(&data, p);            return;        }        if(plr->GetGuildId() && (GetFlags() == 0x38))            return;        plr->JoinedChannel(this);    }    if(m_announce && (!plr || plr->GetSession()->GetSecurity() < SEC_GAMEMASTER || !sWorld.getConfig(CONFIG_SILENTLY_GM_JOIN_TO_CHANNEL) ))    {        MakeJoined(&data, p);        SendToAll(&data);    }    data.clear();    PlayerInfo pinfo;    pinfo.player = p;    pinfo.flags = MEMBER_FLAG_NONE;    players[p] = pinfo;    MakeYouJoined(&data);    SendToOne(&data, p);    JoinNotify(p);    // if no owner first logged will become    if(!IsConstant() && !m_ownerGUID)    {        SetOwner(p, (players.size() > 1 ? true : false));        players[p].SetModerator(true);            }    /*    else if(!IsConstant() && m_ownerGUID && plr && m_ownerGUID == plr->GetGUID() ))    {        SetOwner(p, (players.size() > 1 ? true : false));        players[p].SetModerator(true);    }*/}
开发者ID:pfchrono,项目名称:mangos-mods,代码行数:77,


示例14: MakePlayerAlreadyMember

void Channel::Join(uint64 p, const char *pass){    WorldPacket data;    if (IsOn(p))    {        if (!IsConstant())                                   // non send error message for built-in channels        {            MakePlayerAlreadyMember(&data, p);            SendToOne(&data, p);        }        return;    }    Player *plr = sObjectMgr.GetPlayer(p);    if ((!plr || !plr->isGameMaster()) && !IsConstant() && m_name != "world" && m_name != "engworld" && m_name != "handel")    {        uint32 limitCount = sWorld.getConfig(CONFIG_PRIVATE_CHANNEL_LIMIT);        if (limitCount && players.size() > limitCount)        {            MakeInvalidName(&data);            SendToOne(&data, p);            return;        }    }    if (!m_ownerGUID && (!plr || !plr->CanSpeak())) // muted players can't create new channels    {        MakeBanned(&data);//no idea what to send        SendToOne(&data, p);        return;    }    if (IsBanned(p) && (!plr || !plr->isGameMaster()))    {        MakeBanned(&data);        SendToOne(&data, p);        return;    }    if (m_password.length() > 0 && strcmp(pass, m_password.c_str()) && (!plr || !plr->isGameMaster()))    {        MakeWrongPassword(&data);        SendToOne(&data, p);        return;    }    if (plr)    {        if (IsLFG() &&            sWorld.getConfig(CONFIG_RESTRICTED_LFG_CHANNEL) && !plr->GetSession()->HasPermissions(PERM_GMT) &&            plr->m_lookingForGroup.Empty())        {            MakeNotInLfg(&data);            SendToOne(&data, p);            return;        }        if (plr->GetGuildId() && (GetFlags() == 0x38))            return;        plr->JoinedChannel(this);    }    if (m_announce && (!plr || !plr->GetSession()->HasPermissions(PERM_GMT) || !sWorld.getConfig(CONFIG_SILENTLY_GM_JOIN_TO_CHANNEL)))    {        //MakeJoined(&data, p);        //SendToAll(&data);    }    data.clear();    PlayerInfo pinfo;    pinfo.player = p;    pinfo.flags = 0;    players[p] = pinfo;    MakeYouJoined(&data);    SendToOne(&data, p);    JoinNotify(p);    // if no owner first logged will become    if (!IsConstant() && !m_ownerGUID)    {        SetOwner(p, (players.size() > 1 ? true : false));        players[p].SetModerator(true);    }}
开发者ID:Blumfield,项目名称:ptc2,代码行数:90,


示例15: lock

JSBoolXPCNativeMember::Resolve(XPCCallContext& ccx, XPCNativeInterface* iface){    if(IsConstant())    {        const nsXPTConstant* constant;        if(NS_FAILED(iface->GetInterfaceInfo()->GetConstant(mIndex, &constant)))            return JS_FALSE;        const nsXPTCMiniVariant& mv = *constant->GetValue();        // XXX Big Hack!        nsXPTCVariant v;        v.flags = 0;        v.type = constant->GetType();        memcpy(&v.val, &mv.val, sizeof(mv.val));        jsval resultVal;        if(!XPCConvert::NativeData2JS(ccx, &resultVal, &v.val, v.type,                                      nsnull, nsnull, nsnull))            return JS_FALSE;        {   // scoped lock            XPCAutoLock lock(ccx.GetRuntime()->GetMapLock());            mVal = resultVal;            mFlags |= RESOLVED;        }        return JS_TRUE;    }    // else...    // This is a method or attribute - we'll be needing a function object    intN argc;    intN flags;    JSNative callback;    if(IsMethod())    {        const nsXPTMethodInfo* info;        if(NS_FAILED(iface->GetInterfaceInfo()->GetMethodInfo(mIndex, &info)))            return JS_FALSE;        // Note: ASSUMES that retval is last arg.        argc = (intN) info->GetParamCount();        if(argc && info->GetParam((uint8)(argc-1)).IsRetval())            argc-- ;        flags = 0;        callback = XPC_WN_CallMethod;    }    else    {        if(IsWritableAttribute())            flags = JSFUN_GETTER | JSFUN_SETTER;        else            flags = JSFUN_GETTER;        argc = 0;        callback = XPC_WN_GetterSetter;    }    // We need to use the safe context for this thread because we don't want    // to parent the new (and cached forever!) function object to the current    // JSContext's global object. That would be bad!    JSContext* cx = ccx.GetSafeJSContext();    if(!cx)        return JS_FALSE;    const char *memberName = iface->GetMemberName(ccx, this);    jsrefcount suspendDepth = 0;    if(cx != ccx) {        // Switching contexts, suspend the old and enter the new request.        suspendDepth = JS_SuspendRequest(ccx);        JS_BeginRequest(cx);    }    JSFunction *fun = JS_NewFunction(cx, callback, argc, flags, nsnull,                                     memberName);    if(suspendDepth) {        JS_EndRequest(cx);        JS_ResumeRequest(ccx, suspendDepth);    }    if(!fun)        return JS_FALSE;    JSObject* funobj = JS_GetFunctionObject(fun);    if(!funobj)        return JS_FALSE;    AUTO_MARK_JSVAL(ccx, OBJECT_TO_JSVAL(funobj));    STOBJ_CLEAR_PARENT(funobj);    STOBJ_CLEAR_PROTO(funobj);//.........这里部分代码省略.........
开发者ID:jdahlin,项目名称:jslint,代码行数:101,


示例16: SimplifyData

/** Optimizes the data elements starting from Iter, which points into list. *  /param List: Elements to optimize. *  /param Iter: Element to start optimization at. If Iter is erased, Iter is updated to point to the element that is replacing it. *  /return An iterator to the element following Iter, jumping over parameters. */std::list<TElem>::iterator SimplifyData(std::list<TElem> &List, std::list<TElem>::iterator &Iter){  std::list<TElem>::iterator Begin1 = Iter;  ++Begin1;  if(IsConstant(*Iter))    return Begin1;  std::list<TElem>::iterator End;  std::list<TElem>::iterator Begin2 = SimplifyData(List, Begin1);  if(IsFunction1P(*Iter))    End = Begin2;  else if(IsFunction2P(*Iter))    End = SimplifyData(List, Begin2);  else if(IsFunction3P(*Iter))  {    std::list<TElem>::iterator Begin3 = SimplifyData(List, Begin2);    End = SimplifyData(List, Begin3);  }  else if(IsFunctionVariableP(*Iter))  {    End = Begin1;    for(unsigned I = 0; I < Iter->Arguments; I++)      End = SimplifyData(List, End);   //Simplify each argument    return End;  }  else    throw EFuncError(ecInternalError);  for(unsigned I = 0; I < TableSize; I++)  {    const TSimplify &Entry = SimplifyTable(I);    if(*Iter == Entry.Function && (Entry.Par1 == CodeIgnore || *Begin1 == Entry.Par1) &&      (Entry.Par2 == CodeIgnore || *Begin2 == Entry.Par2 ||      (Entry.Par2 == CodePar1 && IsEqual(Begin1, Begin2))))    {      bool RemovePar1 = true;      bool RemovePar2 = true;      std::list<TElem>::iterator Pos = Begin1;      for(int N = 0; N < 4; N++)        switch(Entry.Result[N].Ident)        {          case CodePar1:            RemovePar1 = false;            Pos = Begin2;            break;          case CodePar2:            RemovePar2 = false;            break;          case CodePar1Par:            List.erase(Begin1++);            RemovePar1 = false;            Pos = Begin2;            break;          case CodePar2Par:            List.erase(Begin2++);            RemovePar2 = false;            break;          case CodeNull:            break;          default:            List.insert(Pos, Entry.Result[N]);        }      if(RemovePar1)        List.erase(Begin1, Begin2);      if(RemovePar2)        List.erase(Begin2, End);      List.erase(Iter++);      return End;    } }  if(Iter->Ident == CodeSub && Begin1->Ident == CodeNumber && Begin2->Ident == CodeNumber)  {    *Iter = TElem(CodeNumber, boost::any_cast<long double>(Begin1->Value) - boost::any_cast<long double>(Begin2->Value));    List.erase(Begin1, End);  }  else if(Iter->Ident == CodeAdd && Begin1->Ident == CodeNumber && Begin2->Ident == CodeNumber)  {    *Iter = TElem(CodeNumber, boost::any_cast<long double>(Begin1->Value) + boost::any_cast<long double>(Begin2->Value));    List.erase(Begin1, End);  }  else if(Iter->Ident == CodeMul)  {    //5*2 = 10    if(Begin1->Ident == CodeNumber && Begin2->Ident == CodeNumber)    {      Begin1->Value = boost::any_cast<long double>(Begin1->Value) * boost::any_cast<long double>(Begin2->Value);      List.erase(Iter);//.........这里部分代码省略.........
开发者ID:q2apro,项目名称:graph-padowan,代码行数:101,


示例17: MakeNotifyPacket

// done 0x03void Channel::MakeYouLeft(WorldPacket *data){    MakeNotifyPacket(data, CHAT_YOU_LEFT_NOTICE);    *data << uint32(GetChannelId());    *data << uint8(IsConstant());}
开发者ID:hodobaj,项目名称:Darkcore,代码行数:7,


示例18: MakePlayerAlreadyMember

void Channel::JoinChannel(Player* player, std::string const& pass){    uint64 guid = player->GetGUID();    if (IsOn(guid))    {        // Do not send error message for built-in channels        if (!IsConstant())        {            WorldPacket data;            MakePlayerAlreadyMember(&data, guid);            SendToOne(&data, guid);        }        return;    }    if (IsBanned(guid))    {        WorldPacket data;        MakeBanned(&data);        SendToOne(&data, guid);        return;    }    if (!_password.empty() && pass != _password)    {        WorldPacket data;        MakeWrongPassword(&data);        SendToOne(&data, guid);        return;    }    if (HasFlag(CHANNEL_FLAG_LFG) &&        sWorld->getBoolConfig(CONFIG_RESTRICTED_LFG_CHANNEL) &&        AccountMgr::IsPlayerAccount(player->GetSession()->GetSecurity()) &&        player->GetGroup())    {        WorldPacket data;        MakeNotInLfg(&data);        SendToOne(&data, guid);        return;    }    player->JoinedChannel(this);    if (_announce && (!AccountMgr::IsGMAccount(player->GetSession()->GetSecurity()) ||                       !sWorld->getBoolConfig(CONFIG_SILENTLY_GM_JOIN_TO_CHANNEL)))    {        WorldPacket data;        MakeJoined(&data, guid);        SendToAll(&data);    }    PlayerInfo pinfo;    pinfo.player = guid;    pinfo.flags = MEMBER_FLAG_NONE;    pinfo.lastSpeakTime = 0;    pinfo.plrPtr = player;    playersStore[guid] = pinfo;    if (_channelRights.joinMessage.length())        ChatHandler(player->GetSession()).PSendSysMessage("%s", _channelRights.joinMessage.c_str());    WorldPacket data;    MakeYouJoined(&data);    SendToOne(&data, guid);    JoinNotify(player);    // Custom channel handling    if (!IsConstant())    {        // Update last_used timestamp in db        if (!playersStore.empty())            UpdateChannelUseageInDB();        if (_channelRights.moderators.find(player->GetSession()->GetAccountId()) != _channelRights.moderators.end())        {            playersStore[guid].SetModerator(true);            FlagsNotify(player);        }        // If the channel has no owner yet and ownership is allowed, set the new owner.        if (!_ownerGUID && _ownership)            SetOwner(guid, false);        if (_channelRights.flags & CHANNEL_RIGHT_CANT_SPEAK)            playersStore[guid].SetMuted(true);    }}
开发者ID:Keader,项目名称:Sunwell,代码行数:90,


示例19: MakePlayerAlreadyMember

void Channel::Join(uint64 p, const char *pass){    WorldPacket data;    if (IsOn(p))    {        if (!IsConstant())                                   // non send error message for built-in channels        {            MakePlayerAlreadyMember(&data, p);            SendToOne(&data, p);        }        return;    }    if (IsBanned(p))    {        MakeBanned(&data);        SendToOne(&data, p);        return;    }    if (m_password.length() > 0 && strcmp(pass, m_password.c_str()))    {        MakeWrongPassword(&data);        SendToOne(&data, p);        return;    }    Player *plr = sObjectMgr->GetPlayer(p);    if (plr)    {        if (HasFlag(CHANNEL_FLAG_LFG) &&            sWorld->getBoolConfig(CONFIG_RESTRICTED_LFG_CHANNEL) && plr->GetSession()->GetSecurity() == SEC_PLAYER && plr->GetGroup())        {            MakeNotInLfg(&data);            SendToOne(&data, p);            return;        }        plr->JoinedChannel(this);    }    if (m_announce && (!plr || plr->GetSession()->GetSecurity() < SEC_GAMEMASTER || !sWorld->getBoolConfig(CONFIG_SILENTLY_GM_JOIN_TO_CHANNEL)))    {        MakeJoined(&data, p);        SendToAll(&data);    }    data.clear();    PlayerInfo pinfo;    pinfo.player = p;    pinfo.flags = MEMBER_FLAG_NONE;    players[p] = pinfo;    MakeYouJoined(&data);    SendToOne(&data, p);    JoinNotify(p);    // Custom channel handling    if (!IsConstant())    {        // Update last_used timestamp in db        if(!players.empty())            UpdateChannelUseageInDB();        // If the channel has no owner yet and ownership is allowed, set the new owner.        if ( !m_ownerGUID && m_ownership)        {            SetOwner(p, (players.size() > 1 ? true : false));            players[p].SetModerator(true);        }    }}
开发者ID:Bootz,项目名称:Singularity,代码行数:75,



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


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