コード例 #1
0
ファイル: ObjectAccessor.cpp プロジェクト: Attractivee/dfteam
void
ObjectAccessor::_buildUpdateObject(Object *obj, UpdateDataMapType &update_players)
{
    bool build_for_all = true;
    Player *pl = NULL;
    if( obj->isType(TYPEMASK_ITEM) )
    {
        Item *item = static_cast<Item *>(obj);
        pl = item->GetOwner();
        build_for_all = false;
    }

    if( pl != NULL )
        _buildPacket(pl, obj, update_players);

    // Capt: okey for all those fools who think its a real fix
    //       THIS IS A TEMP FIX
    if( build_for_all )
    {
        WorldObject * temp = dynamic_cast<WorldObject*>(obj);

        //assert(dynamic_cast<WorldObject*>(obj)!=NULL);
        if (temp)
            _buildChangeObjectForPlayer(temp, update_players);
        else
            sLog.outDebug("ObjectAccessor: Ln 405 Temp bug fix");
    }
}
コード例 #2
0
void
ObjectAccessor::_buildUpdateObject(Object *obj, UpdateDataMapType &update_players)
{
    if(obj->isType(TYPEMASK_ITEM))
    {
        if(Player *owner = ((Item*)obj)->GetOwner())
           _buildPacket(owner, obj, update_players);
    }
    else
        _buildChangeObjectForPlayer((WorldObject*)obj, update_players);
}
コード例 #3
0
void
ObjectAccessor::_buildUpdateObject(Object *obj, UpdateDataMapType &update_players)
{
    if(obj->isType(TYPEMASK_ITEM))
    {
        Item *item = static_cast<Item *>(obj);
        if (Player* pl = item->GetOwner())
            _buildPacket(pl, obj, update_players);
    }
    else
         _buildChangeObjectForPlayer(static_cast<WorldObject*>(obj), update_players);
}