void Inventory::deserialise(LoadingState *state, data::IData *data) { Handle<data::Table> dataMap(dynamic_cast<data::Table *>(data)); if (!dataMap) { stringstream ss; ss << "Unable to load inventory from a '" << data->typeName(); ss << "', must be a Map."; am_log("LOADERR", ss); return; } removeAll(); unsigned short width = mSpacesX; unsigned short height = mSpacesY; Handle<data::Number> num(dataMap->at<data::Number>("spacesX")); if (num) { width = num->value<unsigned short>(); } num = dataMap->at<data::Number>("spacesY"); if (num) { height = num->value<unsigned short>(); } if (width != mSpacesX || height != mSpacesY) { if (width > 0 && height > 0) { setSpaces(width, height); } else { stringstream ss; ss << "An inventory with space " << width << " x " << height; ss << " is invalid"; am_log("LOADERR", ss); } } Handle<data::Table> arr(dataMap->at<data::Table>("spots")); if (arr) { for (auto iter = arr->beginArray(); iter != arr->endArray(); ++iter) { InventorySpot spot; spot.deserialise(state, iter->get()); if (!addItem(spot.mItem, spot.mX, spot.mY)) { stringstream ss; ss << "Error adding item to inventory at " << spot.mX; ss << " x " << spot.mY; am_log("LOADERR", ss); } } } }
CKResizing::CKResizing(void) { setSpaces(0,0,0,0,0,0); minRect.SetRectEmpty(); maxRect.SetRectEmpty(); validRect.SetRect(0,0,KR_WIDTH,KR_HEIGHT); }
Inventory::Inventory(const Inventory ©) : EventInterface(), mSpacesX(copy.mSpacesX), mSpacesY(copy.mSpacesY) { setSpaces(copy.mSpacesX, copy.mSpacesY); for (auto iter = copy.mSpots.begin(); iter != copy.mSpots.end(); ++iter) { addItem(new Item(*iter->mItem), iter->mX, iter->mY); } }
int CschedulerDlg::resize(int cx, int cy) { CRect gtop; CRect gbot; CRect wndrect(0,0,cx,cy); setSpaces(5,5,5,5,0,0); //gtop=wndrect; //gtop.bottom=gtop.top + KR_SCALE(25); gtop=grid((CWnd*)&m_sGroupT,KR_LEFT,KR_TOP,0,KR_SCALE(22),wndrect); wndrect.top=gtop.bottom; gbot=grid((CWnd*)&m_sGroup2,KR_LEFT,KR_BOT,0,0,wndrect); setSpaces(5,5,KR_SCALE(7),KR_SCALE(3),2,2); grid((CWnd*)&m_nowChk,0,1,0,1,12,1,gtop); grid((CWnd*)&m_now,1,2,0,1,12,1,gtop); grid((CWnd*)&m_sRemain,3,1,0,1,12,1,gtop); grid((CWnd*)& m_hours,4,2,0,1,12,1,gtop); grid((CWnd*)& m_sSub,6,1,0,1,12,1,gtop); grid((CWnd*)& m_sub,7,2,0,1,12,1,gtop); grid((CWnd*)& m_sNote,9,1,0,1,12,1,gtop); grid((CWnd*)& m_note,10,2,0,1,12,1,gtop); //grid((CWnd*)&,,,,,,,gtop); CRect gbtn; setSpaces(0,2,0,2,2,2); gbtn.SetRect(0,0,KR_SCALE(120),KR_SCALE(15)); gbtn=grid(0,KR_RIGHT,KR_BOT,gbtn,gbot); grid((CWnd*)&m_addBtn,0,1,0,1,3,1,gbtn); grid((CWnd*)&m_editBtn,1,1,0,1,3,1,gbtn); grid((CWnd*)&m_delBtn,2,1,0,1,3,1,gbtn); // setSpaces(5,5,12,5,0,0); gbot.DeflateRect(0,0,0,gbtn.Height()); grid((CWnd*)&m_list,0,1,0,1,1,1,gbot); return 0; }
Inventory::Inventory(unsigned short width, unsigned short height) : EventInterface() { setSpaces(width, height); }