void NewGame::doCreate() { auto none = std::make_unique<Game::DudeObject>(); none->loadFromGCDFile(ResourceManager::getInstance()->gcdFileType("premade/blank.gcd")); Game::getInstance()->setPlayer(std::move(none)); Game::getInstance()->pushState(new PlayerCreate()); }
void NewGameState::onCreateButtonClick(std::shared_ptr<MouseEvent> event) { auto none = new GameDudeObject(); none->loadFromGCDFile(ResourceManager::gcdFileType("premade/blank.gcd")); Game::getInstance()->setPlayer(none); Game::getInstance()->pushState(new PlayerCreateState()); }
void NewGame::onStateActivate(Event::State* event) { auto combat = std::make_unique<Game::DudeObject>(); combat->loadFromGCDFile(ResourceManager::getInstance()->gcdFileType("premade/combat.gcd")); combat->setBiography(ResourceManager::getInstance()->bioFileType("premade/combat.bio")->text()); _characters.emplace_back(std::move(combat)); auto stealth = std::make_unique<Game::DudeObject>(); stealth->loadFromGCDFile(ResourceManager::getInstance()->gcdFileType("premade/stealth.gcd")); stealth->setBiography(ResourceManager::getInstance()->bioFileType("premade/stealth.bio")->text()); _characters.emplace_back(std::move(stealth)); auto diplomat = std::make_unique<Game::DudeObject>(); diplomat->loadFromGCDFile(ResourceManager::getInstance()->gcdFileType("premade/diplomat.gcd")); diplomat->setBiography(ResourceManager::getInstance()->bioFileType("premade/diplomat.bio")->text()); _characters.emplace_back(std::move(diplomat)); _changeCharacter(); Game::getInstance()->renderer()->fadeIn(0,0,0,1000); }
void NewGameState::init() { if (_initialized) return; State::init(); auto renderer = Game::getInstance()->renderer(); setX((renderer->width() - 640)*0.5); setY((renderer->height() - 480)*0.5); addUI("background", new Image("art/intrface/pickchar.frm")); auto beginGameButton = addUI(new ImageButton(ImageButton::TYPE_SMALL_RED_CIRCLE, 81, 322)); beginGameButton->addEventHandler("mouseleftclick", this, (EventRecieverMethod) &NewGameState::onBeginGameButtonClick); auto editButton = addUI(new ImageButton(ImageButton::TYPE_SMALL_RED_CIRCLE, 436, 319)); editButton->addEventHandler("mouseleftclick", this, (EventRecieverMethod) &NewGameState::onEditButtonClick); auto createButton = addUI(new ImageButton(ImageButton::TYPE_SMALL_RED_CIRCLE, 81, 424)); createButton->addEventHandler("mouseleftclick", this, (EventRecieverMethod) &NewGameState::onCreateButtonClick); auto backButton = addUI(new ImageButton(ImageButton::TYPE_SMALL_RED_CIRCLE, 461, 424)); backButton->addEventHandler("mouseleftclick", this, (EventRecieverMethod) &NewGameState::onBackButtonClick); auto prevCharacterButton = addUI(new ImageButton(ImageButton::TYPE_LEFT_ARROW, 292, 320)); prevCharacterButton->addEventHandler("mouseleftclick", this, (EventRecieverMethod) &NewGameState::onPrevCharacterButtonClick); auto nextCharacterButton = addUI(new ImageButton(ImageButton::TYPE_RIGHT_ARROW, 318, 320)); nextCharacterButton->addEventHandler("mouseleftclick", this, (EventRecieverMethod) &NewGameState::onNextCharacterButtonClick); addUI("images", new ImageList({ "art/intrface/combat.frm", "art/intrface/stealth.frm", "art/intrface/diplomat.frm" }, 27, 23)); addUI("name", new TextArea(300, 40)); addUI("stats_1", new TextArea(0, 70)); getTextArea("stats_1")->setWidth(362)->setHorizontalAlign(TextArea::HORIZONTAL_ALIGN_RIGHT); addUI("stats_2", new TextArea(374, 70)); addUI("bio", new TextArea(437, 40)); addUI("stats_3", new TextArea(294, 150)); getTextArea("stats_3")->setWidth(85)->setHorizontalAlign(TextArea::HORIZONTAL_ALIGN_RIGHT); addUI("stats3_values", new TextArea(383, 150)); auto combat = new GameDudeObject(); combat->loadFromGCDFile(ResourceManager::gcdFileType("premade/combat.gcd")); combat->setBiography(ResourceManager::bioFileType("premade/combat.bio")->text()); _characters.push_back(combat); auto stealth = new GameDudeObject(); stealth->loadFromGCDFile(ResourceManager::gcdFileType("premade/stealth.gcd")); stealth->setBiography(ResourceManager::bioFileType("premade/stealth.bio")->text()); _characters.push_back(stealth); auto diplomat = new GameDudeObject(); diplomat->loadFromGCDFile(ResourceManager::gcdFileType("premade/diplomat.gcd")); diplomat->setBiography(ResourceManager::bioFileType("premade/diplomat.bio")->text()); _characters.push_back(diplomat); _changeCharacter(); }