void Scenario::setNew(){ reset(); // ensure the seed is populated before anything else is set seed.populate(history); // set the environment to new seed values environment = new Environment(*getSurface(), *getMedium()); // TODO: move mesh into setSurface method for Sprites spriteSeed = SpriteSeed(seed, environment->getSurfaceMesh()); // set light to new seed values light = getLight(); // set surface first, then set the player to new seed values player.setSurface(environment->getSurfaceMesh()); setPlayer(seed); sprites.clear(); setSprites(); // sound.loadMusic(); // sound.playMusic(); }
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow){ sf::SoundBuffer soundBuffers[NUM_COL][MAX_PER_COL]; sf::Sound sounds[NUM_COL][MAX_PER_COL]; sf::Image buttons[NUM_COL][MAX_PER_COL]; sf::Sprite btns[NUM_COL][MAX_PER_COL]; sf::RenderWindow mainWin(sf::VideoMode(W_WIDTH, W_HEIGHT, 32), "Soundboard - by eyeosk", sf::Style::Close); sf::Image background; sf::Image header; sf::Sprite bg; sf::Sprite hd; hd.SetY(0); hd.SetX(W_WIDTH/4); bg.SetX(0); bg.SetY(0); background.LoadFromFile("background.png"); header.LoadFromFile("header.png"); bg.SetImage(background); hd.SetImage(header); int numInCol[NUM_COL]; for(int i = 0; i < NUM_COL; i++){ loadBuffers(soundBuffers[i], i); numInCol[i] = loadImages(buttons[i], i); setSprites(buttons[i], btns[i], numInCol[i]); setBuffers(soundBuffers[i], sounds[i], numInCol[i]); setSpritesPos(btns[i], i, numInCol[i]); } mainWin.SetFramerateLimit(360); while(mainWin.IsOpened()){ sf::Event mainEvent; while(mainWin.GetEvent(mainEvent)){ if(mainEvent.Type == sf::Event::Closed || (mainEvent.Type == sf::Event::KeyPressed && mainEvent.Key.Code == sf::Key::Escape)){ mainWin.Close(); } if(mainEvent.Type == sf::Event::MouseButtonPressed){ for(int i = 0; i < NUM_COL; i++){ for(int j = 0; j < numInCol[i]; j++){ if(checktangle(i, j, mainEvent.MouseButton.X, mainEvent.MouseButton.Y)){ sounds[i][j].Play(); } } } } } mainWin.Clear(); mainWin.Draw(bg); mainWin.Draw(hd); for(int i =0; i < NUM_COL; i++){ for(int j = 0; j < numInCol[i]; j++){ mainWin.Draw(btns[i][j]); } } mainWin.Display(); } return 0; }
void SpriteStore::emitSpriteLoadedIfComplete() { assert(loader); if (!loader->image || !loader->json) { return; } auto local = std::move(loader); auto result = parseSprite(*local->image, *local->json); if (result.is<Sprites>()) { loaded = true; setSprites(result.get<Sprites>()); observer->onSpriteLoaded(); } else { observer->onSpriteError(result.get<std::exception_ptr>()); } }
void SpriteStore::emitSpriteLoadedIfComplete() { assert(loader); if (!loader->image || !loader->json) { return; } auto local = std::move(loader); auto result = parseSprite(*local->image, *local->json); if (result.is<Sprites>()) { loaded = true; setSprites(result.get<Sprites>()); if (observer) { observer->onSpriteLoaded(); } } else { emitSpriteLoadingFailed(result.get<std::string>()); } }
THMapTypicalOverlay::~THMapTypicalOverlay() { setSprites(NULL, false); setFont(NULL, false); }
THMapTypicalOverlay::~THMapTypicalOverlay() { setSprites(nullptr, false); setFont(nullptr, false); }