Dependencies: mbed FATFileSystem
SceneCreator/SceneFunctions.cpp
- Committer:
- rottenegg
- Date:
- 2019-04-26
- Revision:
- 10:4fda7b01484a
- Parent:
- 9:ac396c818874
- Child:
- 13:95323e0f2fcb
File content as of revision 10:4fda7b01484a:
#include "SceneFunctions.h" #include "MiscPaths.h" //Constructor Functions void SceneFunctions::set_buttonPin(PinName pin) { _BOK = (new DigitalIn(pin)); _BOK->mode(PullDown); _progress = 0; _p[0] = true; _p[1] = true; _p[2] = true; } void SceneFunctions::deletebutton() { delete _BOK; } //Ultility Functions void SceneFunctions::transition(N5110 &lcd) { for (int i = 0;i < 84;i++) { lcd.drawRect(0,0,i,48,FILL_BLACK); lcd.refresh(); } for (int i = 0;i < 84;i++) { lcd.drawRect(0,0,i,48,FILL_WHITE); lcd.refresh(); } } void SceneFunctions::lockin(N5110 &lcd) { while (_BOK->read() == 0) { lcd.printString(" ",0,5); lcd.refresh(); wait(0.15); lcd.printString("...Press B...",0,5); lcd.refresh(); wait(0.15); } } void SceneFunctions::flash(N5110 &lcd) { for(int i = 0; i < 4; i++) { lcd.drawRect(0,0,84,48,FILL_BLACK); lcd.refresh(); wait(0.15); lcd.drawRect(0,0,84,48,FILL_WHITE); lcd.refresh(); wait(0.15); }; }; //Unique to Scene Functions //scene 0 Functions void SceneFunctions::set_scene0(CaMove &CM) { CM.set_region(1, 28, 12, 17); //event 0 CM.set_region(66, 15, 21, 24); //event 1 }; //pre funtions void SceneFunctions::obj0_scene0(N5110 &lcd) { lcd.drawRect(32,1,20,2,FILL_BLACK); }; //pos functions void SceneFunctions::event0_scene0(N5110 &lcd) { this->transition(lcd); lcd.clear(); lcd.printString("Hello My Name",0,0); lcd.printString("Veigar I Shall",0,1); lcd.printString("Help You Find",0,2); lcd.printString("What You Seek",0,3); lcd.printString("Now go ... ",0,4); lcd.refresh(); this->lockin(lcd); this->transition(lcd); } //event 1 void SceneFunctions::event1_scene0(N5110 &lcd) { this->transition(lcd); lcd.clear(); lcd.printString("It's a Weird",0,0); lcd.printString("quite eerie...",0,1); lcd.printString("Statue !!",0,2); lcd.refresh(); this->lockin(lcd); this->transition(lcd); } //scene1 Funtions void SceneFunctions::set_scene1(CaMove &CM) { CM.set_region(2, 38, 8, 7); //event 0 CM.set_region(72, 2, 8, 7); //event 1 }; //pre funtions void SceneFunctions::obj0_scene1(N5110 &lcd) { lcd.drawLine(30,40,31,20,0); lcd.drawLine(55,40,55,20,1); lcd.drawRect(5,1,20,2,FILL_BLACK); } void SceneFunctions::obj1_scene1(N5110 &lcd) { lcd.drawRect(32,1,20,2,FILL_BLACK); } //pos functions void SceneFunctions::event0_scene1(N5110 &lcd) { lcd.drawRect(74,3,6,3,FILL_WHITE); lcd.drawLine(4,39,7,41,1); lcd.refresh(); wait(0.2); lcd.drawRect(74,3,6,3,FILL_WHITE); lcd.drawLine(9,39,7,41,1); lcd.refresh(); wait(0.2); } void SceneFunctions::event1_scene1(N5110 &lcd) { lcd.drawRect(74,3,6,3,FILL_WHITE); lcd.drawLine(74,3,77,5,1); lcd.refresh(); wait(0.2); lcd.drawRect(74,3,6,3,FILL_WHITE); lcd.drawLine(79,3,77,5,1); lcd.refresh(); wait(0.2); } //Scene 2 Functions void SceneFunctions::set_scene2(CaMove &CM) { CM.set_region(9, 17, 10, 14); //event 0 }; //pre Functions void SceneFunctions::obj0_scene2(N5110 &lcd) { Bitmap::renderBMP(MISC[0],lcd,9,17); lcd.drawLine(83,13,83,33,1); //right lcd.drawLine(47,0,67,0,1); // top lcd.drawLine(47,47,67,47,1); //bot } void SceneFunctions::obj1_scene2(N5110 &lcd,int rng) { switch(rng) { case 0: lcd.drawLine(83,13,83,33,1); //r lcd.drawLine(47,0,67,0,1); // t break; case 1: lcd.drawLine(47,47,67,47,1); //b lcd.drawLine(83,13,83,33,1); //r break; case 2: lcd.drawLine(47,47,67,47,1); //b lcd.drawLine(47,0,67,0,1); // t break; } } //pos Function void SceneFunctions::event0_scene2(N5110 &lcd,CaMove &CM) { this->transition(lcd); lcd.clear(); Bitmap::renderBMP(MISC[1],lcd,0,0); lcd.refresh(); wait(1); CM.delete_regions(); lcd.clear(); lcd.printString("Help Me Please",0,0); lcd.refresh(); wait(0.5); lcd.printString("I NEED YOUR",0,1); lcd.printString("BLOOOD !!!",0,2); lcd.refresh(); wait(1); CM.init(29,17,Fd); CM.spawn(9,17); lcd.inverseMode(); } //Scene 3 Functions void SceneFunctions::set_scene3(CaMove &CM) { CM.set_region(72, 39, 10, 7); //event 0 CM.set_region(73, 11, 10, 17); //event 1 CM.set_region(64, 5, 10, 14); //event 2 CM.set_region(42, 2, 11, 18); //event 3 }; //pre Functions void SceneFunctions::obj0_scene3(N5110 &lcd) { lcd.drawLine(76,42,78,40,1); lcd.drawRect(74,40,2,3,FILL_WHITE); lcd.drawRect(28,29,11,13,FILL_WHITE); lcd.drawRect(14,31,9,11,FILL_BLACK); lcd.drawLine(16,33,20,33,0); lcd.drawLine(20,33,20,37,0); lcd.drawLine(20,37,16,37,0); } void SceneFunctions::obj1_scene3(N5110 &lcd) { lcd.setPixel(77,14,false); } //obj 2 not required void SceneFunctions::obj3_scene3(N5110 &lcd) { Bitmap::renderBMP(MISC[2],lcd,21,8); } void SceneFunctions::obj4_scene3(N5110 &lcd) { if (_progress < 3) { lcd.drawRect(55,46,16,2,FILL_BLACK); } } //pos functions void SceneFunctions::event0_scene3(N5110 &lcd) { if(_p[0]) { _p[0] = false; _progress++; } } void SceneFunctions::event1_scene3(N5110 &lcd) { this->transition(lcd); lcd.clear(); lcd.printString("The Statue",0,0); lcd.printString("Looks like a",0,1); lcd.printString("Head But Eye",0,2); lcd.printString("Missing I Stab",0,3); lcd.printString("In a New One.",0,4); lcd.refresh(); if(_p[2]) { _p[2] = false; _progress++; } this->lockin(lcd); this->transition(lcd); } void SceneFunctions::event2_scene3(N5110 &lcd) { this->transition(lcd); lcd.clear(); lcd.printString("Welcome to",0,0); lcd.printString("Mirror Room",0,1); lcd.printString("But Beware Not",0,2); lcd.printString("Touch Sarced",0,3); lcd.printString("!!!ITEM!!!",0,4); lcd.refresh(); if(_p[1]) { _p[1] = false; _progress++; } this->lockin(lcd); this->transition(lcd); } void SceneFunctions::event3_scene3(N5110 &lcd,CaMove &CM) { this->transition(lcd); lcd.clear(); CM.delete_regions(); lcd.printString("CURSE YOU",0,0); lcd.refresh(); wait(0.5); CM.spawn(21,8); lcd.inverseMode(); }