void StagePanel::OnNotify(int sj_id, void* ud) { ee::MultiSpritesImpl::OnNotify(sj_id, ud); switch (sj_id) { case ee::MSG_REORDER_SPRITE: { ee::ReorderSpriteSJ::Params* p = (ee::ReorderSpriteSJ::Params*)ud; ReorderSprite(p->spr, p->up); } break; case ee::MSG_REORDER_SPRITE_MOST: { ee::ReorderSpriteMostSJ::Params* p = (ee::ReorderSpriteMostSJ::Params*)ud; ReorderSpriteMost(p->spr, p->up); } break; case ee::MSG_SORT_SPRITES: { std::vector<ee::SprPtr>& sprs = *(std::vector<ee::SprPtr>*)ud; SortSprites(sprs); } break; case ee::MSG_INSERT_SPRITE: { ee::InsertSpriteSJ::Params* p = (ee::InsertSpriteSJ::Params*)ud; InsertSprite(p->spr, p->idx); } break; case ee::MSG_REMOVE_SPRITE: RemoveSprite(*(ee::SprPtr*)ud); break; case ee::MSG_CLEAR_SPRITE: ClearSprite(); break; case ee::MSG_REMOVE_SHAPE: RemoveShape(*(ee::ShapePtr*)ud)); break; case ee::MSG_INSERT_SHAPE: InsertShape(*(ee::ShapePtr*)ud)); break; case ee::MSG_CLEAR_SHAPE: ClearShape(); break; } }
void BackGroundPropertyGridWidget::ConnectToSignals() { //Connect button Clicked event to select color dialog action and open sprite dialog action connect(ui->openSpriteButton, SIGNAL(clicked()), this, SLOT(OpenSpriteDialog())); connect(ui->removeSpriteButton, SIGNAL(clicked()), this, SLOT(RemoveSprite())); }
////////////////////////////////////////////////////////////////////////// // high level scripting interface ////////////////////////////////////////////////////////////////////////// HRESULT CPartEmitter::ScCallMethod(CScScript* Script, CScStack* Stack, CScStack* ThisStack, char* Name) { ////////////////////////////////////////////////////////////////////////// // SetBorder ////////////////////////////////////////////////////////////////////////// if(strcmp(Name, "SetBorder")==0) { Stack->CorrectParams(4); int BorderX = Stack->Pop()->GetInt(); int BorderY = Stack->Pop()->GetInt(); int BorderWidth = Stack->Pop()->GetInt(); int BorderHeight = Stack->Pop()->GetInt(); Stack->PushBool(SUCCEEDED(SetBorder(BorderX, BorderY, BorderWidth, BorderHeight))); return S_OK; } ////////////////////////////////////////////////////////////////////////// // SetBorderThickness ////////////////////////////////////////////////////////////////////////// else if(strcmp(Name, "SetBorderThickness")==0) { Stack->CorrectParams(4); int Left = Stack->Pop()->GetInt(); int Right = Stack->Pop()->GetInt(); int Top = Stack->Pop()->GetInt(); int Bottom = Stack->Pop()->GetInt(); Stack->PushBool(SUCCEEDED(SetBorderThickness(Left, Right, Top, Bottom))); return S_OK; } ////////////////////////////////////////////////////////////////////////// // AddSprite ////////////////////////////////////////////////////////////////////////// else if(strcmp(Name, "AddSprite")==0) { Stack->CorrectParams(1); char* SpriteFile = Stack->Pop()->GetString(); Stack->PushBool(SUCCEEDED(AddSprite(SpriteFile))); return S_OK; } ////////////////////////////////////////////////////////////////////////// // RemoveSprite ////////////////////////////////////////////////////////////////////////// else if(strcmp(Name, "RemoveSprite")==0) { Stack->CorrectParams(1); char* SpriteFile = Stack->Pop()->GetString(); Stack->PushBool(SUCCEEDED(RemoveSprite(SpriteFile))); return S_OK; } ////////////////////////////////////////////////////////////////////////// // Start ////////////////////////////////////////////////////////////////////////// else if(strcmp(Name, "Start")==0) { Stack->CorrectParams(1); m_OverheadTime = Stack->Pop()->GetInt(); Stack->PushBool(SUCCEEDED(Start())); return S_OK; } ////////////////////////////////////////////////////////////////////////// // Stop ////////////////////////////////////////////////////////////////////////// else if(strcmp(Name, "Stop")==0) { Stack->CorrectParams(0); for(int i=0; i<m_Particles.GetSize(); i++) { delete m_Particles[i]; } m_Particles.RemoveAll(); m_Running = false; Stack->PushBool(true); return S_OK; } ////////////////////////////////////////////////////////////////////////// // Pause ////////////////////////////////////////////////////////////////////////// else if(strcmp(Name, "Pause")==0) { Stack->CorrectParams(0); m_Running = false; Stack->PushBool(true); return S_OK; } ////////////////////////////////////////////////////////////////////////// // Resume ////////////////////////////////////////////////////////////////////////// else if(strcmp(Name, "Resume")==0) { Stack->CorrectParams(0); m_Running = true; Stack->PushBool(true); return S_OK; } ////////////////////////////////////////////////////////////////////////// // AddGlobalForce ////////////////////////////////////////////////////////////////////////// else if(strcmp(Name, "AddGlobalForce")==0) { Stack->CorrectParams(3); char* Name = Stack->Pop()->GetString(); float Angle = Stack->Pop()->GetFloat(); float Strength = Stack->Pop()->GetFloat(); Stack->PushBool(SUCCEEDED(AddForce(Name, CPartForce::FORCE_GLOBAL, 0, 0, Angle, Strength))); return S_OK; } ////////////////////////////////////////////////////////////////////////// // AddPointForce ////////////////////////////////////////////////////////////////////////// else if(strcmp(Name, "AddPointForce")==0) { Stack->CorrectParams(5); char* Name = Stack->Pop()->GetString(); int PosX = Stack->Pop()->GetInt(); int PosY = Stack->Pop()->GetInt(); float Angle = Stack->Pop()->GetFloat(); float Strength = Stack->Pop()->GetFloat(); Stack->PushBool(SUCCEEDED(AddForce(Name, CPartForce::FORCE_GLOBAL, PosX, PosY, Angle, Strength))); return S_OK; } ////////////////////////////////////////////////////////////////////////// // RemoveForce ////////////////////////////////////////////////////////////////////////// else if(strcmp(Name, "RemoveForce")==0) { Stack->CorrectParams(1); char* Name = Stack->Pop()->GetString(); Stack->PushBool(SUCCEEDED(RemoveForce(Name))); return S_OK; } else return CBObject::ScCallMethod(Script, Stack, ThisStack, Name); }
void PixelMapPartial::Delete(PartialMap::Context* context) { assert(context->sprite); assert(context->sprite->getParent() == this); RemoveSprite(context->sprite); }