Ignore:
Timestamp:
Jan 23, 2011, 5:47:21 PM (11 years ago)
Author:
sam
Message:

Add the pop animation frame to disappearing monsterz.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/monsterz/piece.cpp

    r263 r266  
    4242        UNGRAB,
    4343        MOVE,
     44        POP,
     45        DEAD,
    4446    }
    4547    state;
     
    8789}
    8890
     91int Piece::IsDead() const
     92{
     93    return data->state == PieceData::DEAD;
     94}
     95
    8996int Piece::Blink()
    9097{
     
    102109int Piece::Pop()
    103110{
    104     return 0;
     111    switch (data->state)
     112    {
     113    case PieceData::IDLE:
     114    case PieceData::BLINK:
     115    case PieceData::GRAB:
     116    case PieceData::UNGRAB:
     117    case PieceData::MOVE:
     118    case PieceData::POP:
     119        data->state = PieceData::POP;
     120        data->timer = 400.0f;
     121        return 1;
     122    default:
     123        return 0;
     124    }
    105125}
    106126
     
    177197    case PieceData::UNGRAB:
    178198    case PieceData::MOVE:
     199    {
    179200        data->timer += deltams;
    180201        Int2 trip = data->dst - data->src;
     
    190211        break;
    191212    }
     213    case PieceData::POP:
     214        data->timer -= deltams;
     215        if (data->timer < 0.0f)
     216            data->state = PieceData::DEAD;
     217        break;
     218    case PieceData::DEAD:
     219        break;
     220    }
    192221    Entity::TickGame(deltams);
    193222}
     
    222251        z = 3;
    223252        break;
    224     }
    225 
    226     data->game->GetScene()->AddTile((data->tiler << 16) | id, x, y, z, 0);
     253    case PieceData::POP:
     254        id = data->id + 4;
     255        break;
     256    case PieceData::DEAD:
     257        break;
     258    }
     259
     260    if (data->state != PieceData::DEAD)
     261        data->game->GetScene()->AddTile((data->tiler << 16) | id, x, y, z, 0);
    227262
    228263    if (data->state == PieceData::GRAB)
Note: See TracChangeset for help on using the changeset viewer.