Changeset 6180 for code/branches/presentation2/src/orxonox
- Timestamp:
- Nov 29, 2009, 10:43:43 PM (15 years ago)
- Location:
- code/branches/presentation2/src/orxonox/overlays
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
code/branches/presentation2/src/orxonox/overlays/InGameConsole.cc
r6139 r6180 68 68 */ 69 69 InGameConsole::InGameConsole() 70 : shell_(new Shell("InGameConsole", true , true))70 : shell_(new Shell("InGameConsole", true)) 71 71 , consoleOverlay_(0) 72 72 , consoleOverlayContainer_(0) … … 268 268 void InGameConsole::linesChanged() 269 269 { 270 std::list<std::string>::const_iterator it = this->shell_->getNewestLineIterator();270 Shell::LineList::const_iterator it = this->shell_->getNewestLineIterator(); 271 271 int max = 0; 272 272 for (int i = 1; i < LINES; ++i) … … 282 282 283 283 for (int i = LINES - 1; i > max; --i) 284 this->print("", i, true);284 this->print("", Shell::None, i, true); 285 285 286 286 for (int i = max; i >= 1; --i) 287 287 { 288 288 --it; 289 this->print( *it, i, true);289 this->print(it->first, it->second, i, true); 290 290 } 291 291 } … … 297 297 { 298 298 if (LINES > 1) 299 this->print( *this->shell_->getNewestLineIterator(), 1);299 this->print(this->shell_->getNewestLineIterator()->first, this->shell_->getNewestLineIterator()->second, 1); 300 300 } 301 301 … … 316 316 { 317 317 if (LINES > 0) 318 this->print(this->shell_->getInput(), 0);318 this->print(this->shell_->getInput(), Shell::Input, 0); 319 319 320 320 if (this->shell_->getInput() == "" || this->shell_->getInput().size() == 0) … … 340 340 void InGameConsole::executed() 341 341 { 342 this->shell_->addOutputLine(this->shell_->getInput() );342 this->shell_->addOutputLine(this->shell_->getInput(), Shell::Command); 343 343 } 344 344 … … 456 456 @param s String to be printed 457 457 */ 458 void InGameConsole::print(const std::string& text, int index, bool alwaysShift) 459 { 460 char level = 0; 461 if (text.size() > 0) 462 level = text[0]; 463 458 void InGameConsole::print(const std::string& text, Shell::LineType type, int index, bool alwaysShift) 459 { 464 460 std::string output = text; 465 466 if (level >= -1 && level <= 5)467 output.erase(0, 1);468 469 461 if (LINES > index) 470 462 { 471 this->colourLine( level, index);463 this->colourLine(type, index); 472 464 473 465 if (index > 0) … … 482 474 if (linesUsed > numLinesShifted_ || alwaysShift) 483 475 this->shiftLines(); 484 this->colourLine( level, index);476 this->colourLine(type, index); 485 477 } 486 478 this->consoleOverlayTextAreas_[index]->setCaption(multi_cast<Ogre::DisplayString>(output)); … … 559 551 } 560 552 561 void InGameConsole::colourLine(int colourcode, int index) 562 { 563 if (colourcode == -1) 564 { 565 this->consoleOverlayTextAreas_[index]->setColourTop (ColourValue(0.90, 0.90, 0.90, 1.00)); 566 this->consoleOverlayTextAreas_[index]->setColourBottom(ColourValue(1.00, 1.00, 1.00, 1.00)); 567 } 568 else if (colourcode == 1) 569 { 570 this->consoleOverlayTextAreas_[index]->setColourTop (ColourValue(0.95, 0.25, 0.25, 1.00)); 571 this->consoleOverlayTextAreas_[index]->setColourBottom(ColourValue(1.00, 0.50, 0.50, 1.00)); 572 } 573 else if (colourcode == 2) 574 { 575 this->consoleOverlayTextAreas_[index]->setColourTop (ColourValue(0.95, 0.50, 0.20, 1.00)); 576 this->consoleOverlayTextAreas_[index]->setColourBottom(ColourValue(1.00, 0.70, 0.50, 1.00)); 577 } 578 else if (colourcode == 3) 579 { 580 this->consoleOverlayTextAreas_[index]->setColourTop (ColourValue(0.50, 0.50, 0.95, 1.00)); 581 this->consoleOverlayTextAreas_[index]->setColourBottom(ColourValue(0.80, 0.80, 1.00, 1.00)); 582 } 583 else if (colourcode == 4) 584 { 585 this->consoleOverlayTextAreas_[index]->setColourTop (ColourValue(0.65, 0.48, 0.44, 1.00)); 586 this->consoleOverlayTextAreas_[index]->setColourBottom(ColourValue(1.00, 0.90, 0.90, 1.00)); 587 } 588 else if (colourcode == 5) 589 { 590 this->consoleOverlayTextAreas_[index]->setColourTop (ColourValue(0.40, 0.20, 0.40, 1.00)); 591 this->consoleOverlayTextAreas_[index]->setColourBottom(ColourValue(0.80, 0.60, 0.80, 1.00)); 592 } 593 else 594 { 595 this->consoleOverlayTextAreas_[index]->setColourTop (ColourValue(0.21, 0.69, 0.21, 1.00)); 596 this->consoleOverlayTextAreas_[index]->setColourBottom(ColourValue(0.80, 1.00, 0.80, 1.00)); 597 } 553 void InGameConsole::colourLine(Shell::LineType type, int index) 554 { 555 ColourValue colourTop, colourBottom; 556 switch (type) 557 { 558 case Shell::Error: colourTop = ColourValue(0.95, 0.25, 0.25, 1.00); 559 colourBottom = ColourValue(1.00, 0.50, 0.50, 1.00); break; 560 561 case Shell::Warning: colourTop = ColourValue(0.95, 0.50, 0.20, 1.00); 562 colourBottom = ColourValue(1.00, 0.70, 0.50, 1.00); break; 563 564 case Shell::Info: colourTop = ColourValue(0.50, 0.50, 0.95, 1.00); 565 colourBottom = ColourValue(0.80, 0.80, 1.00, 1.00); break; 566 567 case Shell::Debug: colourTop = ColourValue(0.65, 0.48, 0.44, 1.00); 568 colourBottom = ColourValue(1.00, 0.90, 0.90, 1.00); break; 569 570 case Shell::Verbose: colourTop = ColourValue(0.40, 0.20, 0.40, 1.00); 571 colourBottom = ColourValue(0.80, 0.60, 0.80, 1.00); break; 572 573 case Shell::Ultra: colourTop = ColourValue(0.21, 0.69, 0.21, 1.00); 574 colourBottom = ColourValue(0.80, 1.00, 0.80, 1.00); break; 575 576 case Shell::Command: colourTop = ColourValue(0.80, 0.80, 0.80, 1.00); 577 colourBottom = ColourValue(0.90, 0.90, 0.90, 0.90); break; 578 579 case Shell::Hint: colourTop = ColourValue(0.80, 0.80, 0.80, 1.00); 580 colourBottom = ColourValue(0.90, 0.90, 0.90, 1.00); break; 581 582 default: colourTop = ColourValue(0.90, 0.90, 0.90, 1.00); 583 colourBottom = ColourValue(1.00, 1.00, 1.00, 1.00); break; 584 } 585 586 this->consoleOverlayTextAreas_[index]->setColourTop (colourTop); 587 this->consoleOverlayTextAreas_[index]->setColourBottom(colourBottom); 598 588 } 599 589 -
code/branches/presentation2/src/orxonox/overlays/InGameConsole.h
r6105 r6180 72 72 73 73 void shiftLines(); 74 void colourLine( int colourcode, int index);74 void colourLine(Shell::LineType type, int index); 75 75 void setCursorPosition(unsigned int pos); 76 void print(const std::string& text, int index, bool alwaysShift = false);76 void print(const std::string& text, Shell::LineType type, int index, bool alwaysShift = false); 77 77 78 78 void windowResized(unsigned int newWidth, unsigned int newHeight);
Note: See TracChangeset
for help on using the changeset viewer.