void IntroView::Update() { Clear(); string toDraw = ". . . t r a n s m i s s i o n . . ."; int wd2 = toDraw.length() / 2; SetStringAt(40 - wd2, 11, toDraw, YELLOW_BOLD); toDraw = "(press any key to continue)"; wd2 = toDraw.length() / 2; SetStringAt(40 - wd2, 13, toDraw, WHITE); }
void InventoryView::DrawPaperDollItem(Item* i, int y, int idx) { string toDraw; int attr = WHITE_BOLD; if(i) { toDraw = i->GetDisplayName(); } else { toDraw = "<empty>"; } if(!m_inInventoryArea && idx == m_selectIdx) { attr = YELLOW_BOLD; } SetStringAt(16, y, toDraw, attr); }
bool View::RequestInput() { char ch = getch(); //TODO: remove this once we have real game screens, for now just so we reset // term string testString = "This is a test."; switch(ch) { case 'q': m_parent->RequestQuit(); break; case 'n': start++; ClearWith(start); break; case 't': SetStringAt(10, 10, testString, RED_BOLD); break; case 'p': start--; ClearWith(start); break; } return false; }
void HelpView::Update() { Clear(); string todraw = "Help & Legend"; int wd2 = todraw.length() / 2; SetStringAt(40 - wd2, 1, todraw, YELLOW_BOLD); todraw = "('x' to exit this screen)"; wd2 = todraw.length() / 2; SetStringAt(40 - wd2, 23, todraw, YELLOW_BOLD); todraw = "Keys"; SetStringAt(4, 4, todraw, WHITE_BOLD); todraw = "Arrow Keys - Move Around"; SetStringAt(4, 6, todraw, WHITE_BOLD); todraw = "t - Select Target"; SetStringAt(4, 8, todraw, WHITE_BOLD); todraw = "a - Attack"; SetStringAt(4, 10, todraw, WHITE_BOLD); todraw = "i - Open Inventory"; SetStringAt(4, 12, todraw, WHITE_BOLD); todraw = "x - Close Info Screens"; SetStringAt(4, 14, todraw, WHITE_BOLD); todraw = "q - Quit Game"; SetStringAt(4, 16, todraw, WHITE_BOLD); todraw = "Legend"; SetStringAt(40, 4, todraw, WHITE_BOLD); SetCharAt(40, 6, '^', GREEN_BOLD); todraw = " - Stairs up"; SetStringAt(41, 6, todraw, WHITE_BOLD); SetCharAt(40, 8, 'v', GREEN_BOLD); todraw = " - Stairs down"; SetStringAt(41, 8, todraw, WHITE_BOLD); SetCharAt(40, 10, 'i', CYAN_BOLD); todraw = " - Item. Walk over to pick up."; SetStringAt(41, 10, todraw, WHITE_BOLD); SetCharAt(40, 12, 'M', RED_BOLD); todraw = " - Xoich. Short range, lots of HP"; SetStringAt(41, 12, todraw, WHITE_BOLD); SetCharAt(40, 14, 'R', RED_BOLD); todraw = " - Reaper. Long range, low HP"; SetStringAt(41, 14, todraw, WHITE_BOLD); SetCharAt(40, 16, 'M', WHITE_BOLD); SetCharAt(42, 16, 'M', BLUE_BOLD); SetCharAt(44, 16, 'M', GREEN_BOLD); SetCharAt(46, 16, 'M', YELLOW_BOLD); SetCharAt(48, 16, 'M', RED_BOLD); todraw = " - Color signifies difficulty"; SetStringAt(49, 16, todraw, WHITE_BOLD); }
void InventoryView::Update() { Clear(); for(int y = 0; y < 24; y++) { SetCharAt(49, y, '|', WHITE); } string toDraw = "Equipped Items"; int wd2 = toDraw.length() / 2; SetStringAt(25 - wd2, 1, toDraw, WHITE); toDraw = "Inventory"; wd2 = toDraw.length() / 2; SetStringAt(65 - wd2, 1, toDraw, WHITE); toDraw = "(Arrows navigate, Enter selects, 'd' discards, Esc exits. List scrolls)"; wd2 = toDraw.length() / 2; SetStringAt(40 - wd2, 23, toDraw, WHITE); toDraw = DataManager::Instance()->GetStatusString(); DataManager::Instance()->ClearStatusString(); if(toDraw != "()") { wd2 = toDraw.length() / 2; SetStringAt(1, 22, toDraw, YELLOW_BOLD); } toDraw = "Head: "; SetStringAt(10, 6, toDraw, WHITE); toDraw = "Body: "; SetStringAt(10, 8, toDraw, WHITE); toDraw = "Legs: "; SetStringAt(10, 10, toDraw, WHITE); toDraw = "Weapon: "; SetStringAt(8, 12, toDraw, WHITE); toDraw = "Implant: "; SetStringAt(7, 14, toDraw, WHITE); // Show inventory items Player* p = DataManager::Instance()->GetPlayer(); Inventory inv = p->GetInventory(); if(inv.NumItems() == 0) { int attr = WHITE; if(m_inInventoryArea) { attr = YELLOW_BOLD; } toDraw = "<empty>"; SetStringAt(51, 3, toDraw, attr); } else { ItemList items = inv.GetItems(); int counter = m_scrollY; stringstream s; for(ItemList::iterator i = items.begin(); i != items.end(); i++) { if(counter < m_scrollY) { continue; } if(counter >= m_scrollY + 19) { break; } int attr = WHITE; if(m_inInventoryArea && counter == m_selectIdx) { attr = YELLOW_BOLD; } Item* toShow = *i; s.str(""); s << (counter + 1) << ". " << toShow->GetDisplayName(); if(toShow->CanStack()) { s << " (" << toShow->GetStackSize() << ")"; } toDraw = s.str(); if(toDraw.length() > 28) { toDraw.erase(28); } SetStringAt(51, 3 + counter - m_scrollY, toDraw, attr); counter++; } } // Show the equipped items DrawPaperDollItem(p->GetHeadItem(), 6, 0); DrawPaperDollItem(p->GetBodyItem(), 8, 1); DrawPaperDollItem(p->GetLegsItem(), 10, 2); DrawPaperDollItem(p->GetWeaponItem(), 12, 3); DrawPaperDollItem(p->GetImplantItem(), 14, 4); //stringstream s; //s << "scrolly: " << m_scrollY << " selectidx: " << m_selectIdx; //toDraw = s.str(); //SetStringAt(1, 22, toDraw, WHITE); }