void Menu::callAction(int action) { switch (action) { case UNDO_C: if (screenInterpreter->getScribbleArea()->getEnabled() == 1) { screenInterpreter->getScribbleArea()->undo(screenInterpreter->getScribbleArea()->getDocument()->getCurrentPage()); if (network == 1) { screenInterpreter->getScribbleArea()->getSender()->sendUndo(screenInterpreter->getScribbleArea()->getCurrentPage()); } } break; case REDO_C: if (screenInterpreter->getScribbleArea()->getEnabled() == 1) { screenInterpreter->getScribbleArea()->redo(screenInterpreter->getScribbleArea()->getDocument()->getCurrentPage()); if (network == 1) { screenInterpreter->getScribbleArea()->getSender()->sendRedo(screenInterpreter->getScribbleArea()->getCurrentPage()); } } break; case CLEAR_ALL_C: if (screenInterpreter->getScribbleArea()->getEnabled() == 1) { screenInterpreter->getAlert()->setAlert("Clear All", "Are you sure you want to clear all?", CLEAR_ALL_ALERT); screenInterpreter->showAlert(1); /*screenInterpreter->getScribbleArea()->clearAll(screenInterpreter->getScribbleArea()->getDocument()->getCurrentPage()); if (network == 1) { screenInterpreter->getScribbleArea()->getSender()->sendCleanAll(screenInterpreter->getScribbleArea()->getCurrentPage()); }*/ } break; case ERASE_C: if (buttonArray->at(3)->getEnabled() != 0) { buttonArray->at(3)->setSelectedImage(0); buttonArray->at(4)->setSelectedImage(1); } screenInterpreter->getScribbleArea()->setMode(ERASE); break; case WRITE_C: if (buttonArray->at(4)->getEnabled() != 0) { buttonArray->at(4)->setSelectedImage(0); buttonArray->at(3)->setSelectedImage(1); } screenInterpreter->getScribbleArea()->setMode(WRITE); break; case PREVIOUS_PAGE_C: screenInterpreter->getScribbleArea()->previousPage(); setPageIndicator(); break; case NEXT_PAGE_C: screenInterpreter->getScribbleArea()->nextPage(); setPageIndicator(); break; case STATUS_C: handleOwnership(); break; case FILE_LIST_C: if (buttonArray->at(4)->getEnabled() != 0) { buttonArray->at(4)->setSelectedImage(0); } if (buttonArray->at(3)->getEnabled() != 1) { buttonArray->at(3)->setSelectedImage(1); } screenInterpreter->getScribbleArea()->setMode(WRITE); if (screenInterpreter->getScribbleArea()->getOwnershipValue() == 0) { screenInterpreter->getScribbleArea()->getSender()->sendReleaseOwnership(); while (screenInterpreter->getScribbleArea()->getOwnershipValue() != 2); } screenInterpreter->showFilelist(1); break; case COLOUR_C: screenInterpreter->showColorPicker(1); break; case SIZE_C: screenInterpreter->showSizePicker(1); break; default: break; } }
GroupCustomization::GroupCustomization(int GameMode) { //set game mode m_GameMode = GameMode; //init colors for(int i=0;i<4;i++) { setGroupName(i,NULL); } //set center of the screen CCSize size = CCDirector::sharedDirector()->getWinSize(); x = size.width/2; y = size.height/2; //add background sprite CCSprite* background = CCSprite::spriteWithFile(MainMenu_background); addChild(background,0); background->setPosition(ccp(x,y)); //add leather CCSprite* lth = CCSprite::spriteWithFile(GroupCustomization_lead_choise_colors); addChild(lth,0); lth->setAnchorPoint(ccp(0.5,1)); lth->setPosition(ccp(x,y*2)); KeyboardNotificationLayer* knlGroups[4]; knlGroups[0] = new CurrentGroupLayer(ID_RED,1); knlGroups[1] = new CurrentGroupLayer(ID_GREEN,2); layers.addObject(knlGroups[0]); layers.addObject(knlGroups[1]); knlGroups[0]->release(); knlGroups[1]->release(); switch (GameMode) { case GAMERS_3: knlGroups[2] = new CurrentGroupLayer(ID_BLUE,3); layers.addObject(knlGroups[2]); knlGroups[2]->release(); break; case GROUP_3: knlGroups[2] = new CurrentGroupLayer(ID_BLUE,3); layers.addObject(knlGroups[2]); knlGroups[2]->release(); break; case GROUP_4: knlGroups[2] = new CurrentGroupLayer(ID_BLUE,3); knlGroups[3] = new CurrentGroupLayer(ID_YELLOW,4); layers.addObject(knlGroups[2]); layers.addObject(knlGroups[3]); knlGroups[2]->release(); knlGroups[3]->release(); break; } pScrollLayer = CCScrollLayer::layerWithLayers(&layers,500); addChild(pScrollLayer); pScrollLayer->setPosition(ccp(0,0)); setPageIndicator(pScrollLayer->currentScreen,pScrollLayer->totalScreens); //scale and opacity elements on disable layer ((CurrentGroupLayer*)layers.getObjectAtIndex(0))->setContentAccess(1); CCMenuItem* itm_back = CCMenuItemImage::itemFromNormalImage(GroupCustomization_back,GroupCustomization_back_selected,this,menu_selector(GroupCustomization::itm_backCallback)); itm_back->setPosition(ccp(-(x*2/2.2),-(y*2/2.22))); CCMenuItem* itm_start = CCMenuItemImage::itemFromNormalImage(GroupCustomization_start,GroupCustomization_start_selected,this,menu_selector(GroupCustomization::itm_startCallback)); itm_start->setPosition(ccp(+(x*2/2.27),-(y*2/2.27))); CCMenu* mn_GroupCustomization = CCMenu::menuWithItems(itm_back,itm_start,NULL); addChild(mn_GroupCustomization,1); mn_GroupCustomization->setPosition(ccp(x,y)); }
GroupCustomization::GroupCustomization(int GameMode) { //set game mode m_GameMode = GameMode; //init colors for(int i=0;i<4;i++) { setGroupName(i,NULL); } //set center of the screen CCSize size = CCDirector::sharedDirector()->getWinSize(); x = size.width/2; y = size.height/2; CCSprite* background = CCSprite::spriteWithFile("GroupCustomization/background.png"); addChild(background,0); background->setPosition(ccp(x,y)); KeyboardNotificationLayer* knlGroups[4]; switch (GameMode) { case GAMERS_3: knlGroups[0] = new CurrentGroupLayer(ID_RED); knlGroups[1] = new CurrentGroupLayer(ID_GREEN); knlGroups[2] = new CurrentGroupLayer(ID_BLUE); layers.addObject(knlGroups[0]); layers.addObject(knlGroups[1]); layers.addObject(knlGroups[2]); knlGroups[0]->release(); knlGroups[1]->release(); knlGroups[2]->release(); break; case GROUP_2: knlGroups[0] = new CurrentGroupLayer(ID_RED); knlGroups[1] = new CurrentGroupLayer(ID_GREEN); layers.addObject(knlGroups[0]); layers.addObject(knlGroups[1]); knlGroups[0]->release(); knlGroups[1]->release(); break; case GROUP_3: knlGroups[0] = new CurrentGroupLayer(ID_RED); knlGroups[1] = new CurrentGroupLayer(ID_GREEN); knlGroups[2] = new CurrentGroupLayer(ID_BLUE); layers.addObject(knlGroups[0]); layers.addObject(knlGroups[1]); layers.addObject(knlGroups[2]); knlGroups[0]->release(); knlGroups[1]->release(); knlGroups[2]->release(); break; case GROUP_4: knlGroups[0] = new CurrentGroupLayer(ID_RED); knlGroups[1] = new CurrentGroupLayer(ID_GREEN); knlGroups[2] = new CurrentGroupLayer(ID_BLUE); knlGroups[3] = new CurrentGroupLayer(ID_YELLOW); layers.addObject(knlGroups[0]); layers.addObject(knlGroups[1]); layers.addObject(knlGroups[2]); layers.addObject(knlGroups[3]); knlGroups[0]->release(); knlGroups[1]->release(); knlGroups[2]->release(); knlGroups[3]->release(); break; } pScrollLayer = CCScrollLayer::layerWithLayers(&layers,0); addChild(pScrollLayer); pScrollLayer->setPosition(ccp(0,0)); setPageIndicator(pScrollLayer->currentScreen,pScrollLayer->totalScreens); CCMenuItem* itm_back = CCMenuItemImage::itemFromNormalImage("GroupCustomization/back_normal.png","GroupCustomization/back_selected.png",this,menu_selector(GroupCustomization::itm_backCallback)); itm_back->setAnchorPoint(ccp(0,0)); itm_back->setPosition(ccp(10,10)); CCMenuItem* itm_start = CCMenuItemImage::itemFromNormalImage("GroupCustomization/start_normal.png","GroupCustomization/start_normal.png",this,menu_selector(GroupCustomization::itm_startCallback)); itm_start->setAnchorPoint(ccp(0,0)); itm_start->setPosition(ccp(size.width-195,10)); CCMenu* mn_GroupCustomization = CCMenu::menuWithItems(itm_back,itm_start,NULL); addChild(mn_GroupCustomization,1); mn_GroupCustomization->setPosition(ccp(0,0)); }