void MainWindow::enterRoom(){ // add current ip to history if(!Config.HistoryIPs.contains(Config.HostAddress)){ Config.HistoryIPs << Config.HostAddress; Config.HistoryIPs.sort(); Config.setValue("HistoryIPs", Config.HistoryIPs); } ui->actionStart_Game->setEnabled(false); ui->actionStart_Server->setEnabled(false); int player_count = Sanguosha->getPlayerCount(ServerInfo.GameMode); RoomScene *room_scene = new RoomScene(player_count, this); ui->actionView_Discarded->setEnabled(true); ui->actionView_distance->setEnabled(true); ui->actionServerInformation->setEnabled(true); ui->actionKick->setEnabled(true); ui->actionSurrender->setEnabled(true); ui->actionSaveRecord->setEnabled(true); connect(ui->actionView_Discarded, SIGNAL(triggered()), room_scene, SLOT(toggleDiscards())); connect(ui->actionView_distance, SIGNAL(triggered()), room_scene, SLOT(viewDistance())); connect(ui->actionServerInformation, SIGNAL(triggered()), room_scene, SLOT(showServerInformation())); connect(ui->actionKick, SIGNAL(triggered()), room_scene, SLOT(kick())); connect(ui->actionSurrender, SIGNAL(triggered()), room_scene, SLOT(surrender())); connect(ui->actionSaveRecord, SIGNAL(triggered()), room_scene, SLOT(saveReplayRecord())); connect(room_scene, SIGNAL(restart()), this, SLOT(restartConnection())); gotoScene(room_scene); }
void MainWindow::enterRoom(){ // add current ip to history if(!Config.HistoryIPs.contains(Config.HostAddress)){ Config.HistoryIPs << Config.HostAddress; Config.HistoryIPs.sort(); Config.setValue("HistoryIPs", Config.HistoryIPs); } ui->actionStart_Game->setEnabled(false); ui->actionStart_Server->setEnabled(false); ui->actionAI_Melee->setEnabled(false); RoomScene *room_scene = new RoomScene(this); ui->actionView_Discarded->setEnabled(true); ui->actionView_distance->setEnabled(true); ui->actionServerInformation->setEnabled(true); ui->actionKick->setEnabled(true); ui->actionSurrender->setEnabled(true); ui->actionSaveRecord->setEnabled(true); connect(ui->actionView_Discarded, SIGNAL(triggered()), room_scene, SLOT(toggleDiscards())); connect(ui->actionView_distance, SIGNAL(triggered()), room_scene, SLOT(viewDistance())); connect(ui->actionServerInformation, SIGNAL(triggered()), room_scene, SLOT(showServerInformation())); connect(ui->actionKick, SIGNAL(triggered()), room_scene, SLOT(kick())); connect(ui->actionSurrender, SIGNAL(triggered()), room_scene, SLOT(surrender())); connect(ui->actionSaveRecord, SIGNAL(triggered()), room_scene, SLOT(saveReplayRecord())); connect(ui->actionExpand_dashboard, SIGNAL(toggled(bool)), room_scene, SLOT(adjustDashboard(bool))); if(Config.value("UI/ExpandDashboard").toBool()) ui->actionExpand_dashboard->toggle(); if(ServerInfo.FreeChoose){ ui->menuCheat->setEnabled(true); connect(ui->actionGet_card, SIGNAL(triggered()), ui->actionCard_Overview, SLOT(trigger())); connect(ui->actionDeath_note, SIGNAL(triggered()), room_scene, SLOT(makeKilling())); connect(ui->actionDamage_maker, SIGNAL(triggered()), room_scene, SLOT(makeDamage())); connect(ui->actionRevive_wand, SIGNAL(triggered()), room_scene, SLOT(makeReviving())); connect(ui->actionSend_lowlevel_command, SIGNAL(triggered()), this, SLOT(sendLowLevelCommand())); connect(ui->actionExecute_script_at_server_side, SIGNAL(triggered()), room_scene, SLOT(doScript())); } else{ ui->menuCheat->setEnabled(false); ui->actionGet_card->disconnect(); ui->actionDeath_note->disconnect(); ui->actionDamage_maker->disconnect(); ui->actionRevive_wand->disconnect(); ui->actionSend_lowlevel_command->disconnect(); ui->actionExecute_script_at_server_side->disconnect(); } connect(room_scene, SIGNAL(restart()), this, SLOT(startConnection())); connect(room_scene, SIGNAL(return_to_start()), this, SLOT(gotoStartScene())); room_scene->adjustItems(); gotoScene(room_scene); }
void MainWindow::enterRoom(){ // add current ip to history if(!Config.HistoryIPs.contains(Config.HostAddress)){ Config.HistoryIPs << Config.HostAddress; Config.HistoryIPs.sort(); Config.setValue("HistoryIPs", Config.HistoryIPs); } ui->actionStart_Game->setEnabled(false); ui->actionStart_Server->setEnabled(false); RoomScene *room_scene = new RoomScene(this); ui->actionView_Discarded->setEnabled(true); ui->actionView_distance->setEnabled(true); ui->actionServerInformation->setEnabled(true); ui->actionKick->setEnabled(true); ui->actionSurrender->setEnabled(true); ui->actionSaveRecord->setEnabled(true); connect(ui->actionView_Discarded, SIGNAL(triggered()), room_scene, SLOT(toggleDiscards())); connect(ui->actionView_distance, SIGNAL(triggered()), room_scene, SLOT(viewDistance())); connect(ui->actionServerInformation, SIGNAL(triggered()), room_scene, SLOT(showServerInformation())); connect(ui->actionKick, SIGNAL(triggered()), room_scene, SLOT(kick())); connect(ui->actionSurrender, SIGNAL(triggered()), room_scene, SLOT(surrender())); connect(ui->actionSaveRecord, SIGNAL(triggered()), room_scene, SLOT(saveReplayRecord())); connect(ui->actionExpand_dashboard, SIGNAL(triggered()), room_scene, SLOT(adjustDashboard())); if(ServerInfo.FreeChoose){ ui->menuCheat->setEnabled(true); connect(ui->actionGet_card, SIGNAL(triggered()), ui->actionCard_Overview, SLOT(trigger())); connect(ui->actionDeath_note, SIGNAL(triggered()), room_scene, SLOT(makeKilling())); connect(ui->actionDamage_maker, SIGNAL(triggered()), room_scene, SLOT(makeDamage())); connect(ui->actionRevive_wand, SIGNAL(triggered()), room_scene, SLOT(makeReviving())); //modify by ce connect(ui->actionMp_maker, SIGNAL(triggered()), room_scene, SLOT(makeMp())); } connect(room_scene, SIGNAL(restart()), this, SLOT(startConnection())); gotoScene(room_scene); }
int buildArray(){ int k = 0; int i; int j; for(i = 0; i < numObjects; i++){ for(j = 0; j < numPolygons[i]; j++){ polyDistance[k].objNum = i; polyDistance[k].polyNum = j; polyDistance[k].viewDistance = viewDistance(i,j); k++; } } qsort(polyDistance, k, sizeof(Shape), compare); return k; }
PauseWindow::PauseWindow() { w = 0, h = 0; //Set up Self position = Rect(0, 20, 800, 580); color = vec4(0.33f, 0.33f, 0.33f, 0.75f); SetVisible(true); //Set up Main Menu menuRect.position = Rect(0, 0, 320, 420); menuRect.vPin = menuRect.hPin = Control::CENTER; menuRect.SetTitle("Menu"); menuRect.color = vec4(1.0f, 1.0f, 1.0f, 1.0f); //Set up Main Menu Children menuSave.vPin = menuLoad.vPin = menuOptions.vPin = menuSaveAndQuit.vPin = menuExit.vPin = Control::MIN; menuSave.hPin = menuLoad.hPin = menuOptions.hPin = menuSaveAndQuit.hPin = menuExit.hPin = Control::CENTER; menuSave.position = Rect(0, 50 + 50 * 0, 300, 40); menuLoad.position = Rect(0, 50 + 50 * 1, 300, 40); menuOptions.position = Rect(0, 50 + 50 * 2, 300, 40); menuSaveAndQuit.position = Rect(0, 50 + 50 * 3, 300, 40); menuExit.position = Rect(0, 370, 300, 40); menuSave.SetText("Save"); menuLoad.SetText("Load"); menuOptions.SetText("Options"); menuSaveAndQuit.SetText("Save & Quit"); menuExit.SetText("Back to Game"); //Add Controls AddChild(&menuRect); menuRect.AddControl(&menuSave); menuRect.AddControl(&menuLoad); menuRect.AddControl(&menuOptions); menuRect.AddControl(&menuSaveAndQuit); menuRect.AddControl(&menuExit); menuRect.SetVisible(true); //Subscribe Main Menu Buttons to Actions Subscribe<void(Button*)>(&menuSave.EventClicked, [this](Button * b) { VoxEngine::SetAsyncTask(new AsyncTask([](){Game()->Save();})); Frames::SetSystem(Frames::FRAME_GAME); }); Subscribe<void(Button*)>(&menuLoad.EventClicked, [this](Button * b) { VoxEngine::SetAsyncTask(new AsyncTask([](){Game()->Load("Default_Save");})); Frames::SetSystem(Frames::FRAME_GAME); }); Subscribe<void(Button*)>(&menuOptions.EventClicked, [this](Button * b) { this->showOptsMenu(); }); Subscribe<void(Button*)>(&menuSaveAndQuit.EventClicked, [this](Button * b) { cout << "\'Save & Quit\' Button Clicked" << endl; VoxEngine::SetAsyncTask(new AsyncTask([](){Game()->Save();})); Frames::SetSystem(Frames::FRAME_MAINMENU); }); Subscribe<void(Button*)>(&menuExit.EventClicked, [this](Button * b) { Frames::SetSystem(Frames::FRAME_GAME); }); //Set up Options Menu optsRect.position = Rect(0, 0, 320, 420); optsRect.vPin = optsRect.hPin = Control::CENTER; optsRect.SetTitle("Options"); optsRect.color = vec4(1.0f, 1.0f, 1.0f, 1.0f); optsRect.SetVisible(false); AddChild(&optsRect); //Options Back Button optsClose.vPin = Control::MIN; optsClose.hPin = Control::CENTER; optsClose.position = Rect(0, 370, 300, 40); optsClose.SetText("Back"); optsRect.AddControl(&optsClose); Subscribe<void(Button*)>(&optsClose.EventClicked, [this](Button * b) { this->hideOptsMenu(); }); //Option HUD Transparency floatOption HUDTransOpts[] = { floatOption("0%", .0f), floatOption("10%", .1f), floatOption("20%", .2f), floatOption("30%", .3f), floatOption("40%", .4f), floatOption("50%", .5f), floatOption("60%", .6f), floatOption("70%", .7f), floatOption("80%", .8f), floatOption("90%", .9f), floatOption("100%", 1.0f) }; vector<floatOption> HUDTrans(HUDTransOpts, HUDTransOpts + sizeof(HUDTransOpts) / sizeof(HUDTransOpts[0])); AddSliderOption(0,"HUD Transparency",HUDTrans,&VoxEngine::SavedDeviceData.GameOptions.HUDTransparency); // View distance options floatOption viewDistanceOptions[] = { floatOption("TI-84", 0.00f), floatOption("Mobile", 0.25f), floatOption("Laptop", 0.5f), floatOption("Desktop", 0.75f), floatOption("$oopah Us3r", 1.0f), }; vector<floatOption> viewDistance(viewDistanceOptions, viewDistanceOptions + (sizeof(viewDistanceOptions) / sizeof(viewDistanceOptions[0]))); AddSliderOption(1,"View Distance",viewDistance,&VoxEngine::SavedDeviceData.GameOptions.ViewDistance); // Physics floatOption basicOptions[] = { floatOption("Very Low", 0.00f), floatOption("Low", 0.25f), floatOption("Medium", 0.5f), floatOption("High", 0.75f), floatOption("VeryHigh", 1.0f), }; vector<floatOption> basicOptionsVector(basicOptions, basicOptions + (sizeof(basicOptions) / sizeof(basicOptions[0]))); AddSliderOption(2,"Physics",basicOptionsVector,&VoxEngine::SavedDeviceData.GameOptions.PhysicsAccuracy); //Particles AddSliderOption(3,"Particles",basicOptionsVector,&VoxEngine::SavedDeviceData.GameOptions.ParticleQuality); #ifndef __MOBILE__ // jumping floatOption jumpOptions[] = { floatOption("Off", 0.00), floatOption("On", 2.00), }; vector<floatOption> jumpOptionsVector(jumpOptions, jumpOptions + (sizeof(jumpOptions) / sizeof(jumpOptions[0]))); AddSliderOption(4,"Jumping",jumpOptionsVector,&VoxEngine::SavedDeviceData.GameOptions.Autojump); #endif }