Пример #1
0
void CGuildList::Remove(CGuild *a2)
{
    CGuild *i; // [sp+14h] [bp-4h]@1

    for(i = this->Unk0; i; i = this->Unk0)
    {
        if(i == a2)
            break;

        i->nextguild();
    }

    if(i)
    {
        if(i->prevguild())
            i->prevguild()->nextguild(i->nextguild());

        if(i->nextguild())
            i->nextguild()->prevguild(i->prevguild());

        if(i == this->Unk0)
            this->Unk0 = i->nextguild();

        i->prevguild(0);
        i->nextguild(0);

        --this->Unk4;
        if(i)
            delete i;
    }
}
Пример #2
0
void CGuildList::Reset(void)
{
    for(CGuild *i = this->Unk0; i; i = this->Unk0)
    {
        this->Unk0 = i->nextguild();
        i->DeleteAllChild();

        if(i)
            delete i;
    }

    this->Unk4 = 0;
}
Пример #3
0
CGuildMember *CGuildList::findmember(int a2)
{
    CGuildMember *v4; // [sp+14h] [bp-4h]@1

    v4 = 0;
    for(CGuild *i = this->Unk0; i; i = i->nextguild())
    {
        v4 = i->findmember(a2, 1);

        if(v4)
            return v4;
    }

    return v4;
}
Пример #4
0
CGuild *CGuildList::findguild(int a2)
{
    for(CGuild *i = this->Unk0; i; i = i->nextguild())
    {
        if(i->index() == a2)
            return i;

        if(i->leftchild())
        {
            if(i->leftchild()->index() == a2)
                return i->leftchild();

            if(i->leftchild()->leftchild())
            {
                if(i->leftchild()->leftchild()->index() == a2)
                    return i->leftchild()->leftchild();
            }

            if(i->leftchild()->rightchild())
            {
                if(i->leftchild()->rightchild()->index() == a2)
                    return i->leftchild()->rightchild();
            }
        }

        if(i->rightchild())
        {
            if(i->rightchild()->index() == a2)
                return i->rightchild();

            if(i->rightchild()->leftchild())
            {
                if(i->rightchild()->leftchild()->index() == a2)
                    return i->rightchild()->leftchild();
            }

            if(i->rightchild()->rightchild())
            {
                if(i->rightchild()->rightchild()->index() == a2)
                    return i->rightchild()->rightchild();
            }
        }
    }

    return 0;
}