void AIDeadState::onEnter() { auto spr = getContext().lock()->getSprite(); if (spr->hasSequence(HashedString("dead"))) { spr->play(HashedString("dead")); } }
void AIHurtState::onEnter() { auto spr = getContext().lock()->getSprite(); if (spr->hasSequence(HashedString("hurt"))) { spr->setLooping(false); spr->play(HashedString("hurt")); } }
void KeyTrans::sequenceCatRun() { if (hasSequence()) return; mSequence[0].keyval = 0x76; mSequence[0].down = true; mSequence[1].keyval = 0x76; mSequence[1].down = false; mSequence[2].keyval = 0x85; mSequence[2].down = true; mSequence[3].keyval = 0x85; mSequence[3].down = false; mSequence[4].keyval = 0x63; mSequence[4].down = true; mSequence[5].keyval = 0x63; mSequence[5].down = false; mSequence[6].keyval = 0x22; mSequence[6].down = true; mSequence[7].keyval = 0x22; mSequence[7].down = false; mSequence[8].keyval = 0x62; mSequence[8].down = true; mSequence[9].keyval = 0x62; mSequence[9].down = false; mSequence[10].keyval = 0x52; mSequence[10].down = true; mSequence[11].keyval = 0x52; mSequence[11].down = false; mSequence[12].keyval = 0x56; mSequence[12].down = true; mSequence[13].keyval = 0x56; mSequence[13].down = false; mSequence[14].keyval = 0x25; mSequence[14].down = true; mSequence[15].keyval = 0x81; mSequence[15].down = true; mSequence[16].keyval = 0x81; mSequence[16].down = false; mSequence[17].keyval = 0x25; mSequence[17].down = false; mSequence[18].keyval = 0x00; }
tUBYTE KeyTrans::get(SDL_Event & event) { if (event.key.keysym.sym >= 320) { return 0xff; } else { if (event.key.keysym.mod & KMOD_MODE) { if (hasSequence()) return 0xff; switch(event.type) { case SDL_KEYDOWN: // |-Sign under Linux !! if (event.key.keysym.sym == SDLK_LESS) { mSequence[0].keyval = 0x25; mSequence[0].down = true; mSequence[1].keyval = 0x32; mSequence[1].down = true; mSequence[2].keyval = 0x00; } break; case SDL_KEYUP: if (event.key.keysym.sym == SDLK_LESS) { mSequence[0].keyval = 0x32; mSequence[0].down = false; mSequence[1].keyval = 0x25; mSequence[1].down = false; mSequence[2].keyval = 0x00; } break; default: break; } } else return mTable[event.key.keysym.sym]; } return 0xff; }