void Board::SetYourSlotName(){ SlotMap map; m_slotName = map.GetSlotName( m_slotNumber ); m_location = m_slotNumber; }
static void ConnectSignal( const std::string & valuestr, const SlotMap & slotmap, Signal & signal) { typename SlotMap::const_iterator it = slotmap.find(valuestr); if (it != slotmap.end()) it->second->connect(signal); }
void Pass::adjustSlot(int delta, Slot * & slot_out, SlotMap & smap) const { if (delta < 0) { if (!slot_out) { slot_out = smap.segment.last(); ++delta; if (smap.highpassed() && !smap.highwater()) smap.highpassed(false); } while (++delta <= 0 && slot_out) { if (smap.highpassed() && smap.highwater() == slot_out) smap.highpassed(false); slot_out = slot_out->prev(); } } else if (delta > 0) { if (!slot_out) { slot_out = smap.segment.first(); --delta; } while (--delta >= 0 && slot_out) { slot_out = slot_out->next(); if (slot_out == smap.highwater() && slot_out) smap.highpassed(true); } } }
const Property Inventory::getProperty(const CeGuiString& key) const { Property prop; if (key == Inventory::PROPERTY_CONTENT) { PropertyMap contentProp; SlotMap slots = getAllSlots(); for (SlotMap::const_iterator it = slots.begin(); it != slots.end(); ++it) { Slot* curSlot = (*it).second; if (curSlot->getItem()) { contentProp[(*it).first] = GameObjectManager::getSingleton().toProperty(curSlot->getItem()); } } prop.setValue(contentProp); } return prop; }
void Slot::setAttr(Segment *seg, attrCode ind, uint8 subindex, int16 value, const SlotMap & map) { if (!this) return; if (ind == gr_slatUserDefnV1) { ind = gr_slatUserDefn; subindex = 0; } switch (ind) { case gr_slatAdvX : m_advance.x = value; break; case gr_slatAdvY : m_advance.y = value; break; case gr_slatAttTo : { const uint16 idx = uint16(value); if (idx < map.size() && map[idx]) { Slot *other = map[idx]; if (other != this && other->child(this)) { attachTo(other); m_attach = Position(seg->glyphAdvance(other->gid()), 0); } } break; } case gr_slatAttX : m_attach.x = value; break; case gr_slatAttY : m_attach.y = value; break; case gr_slatAttXOff : case gr_slatAttYOff : break; case gr_slatAttWithX : m_with.x = value; break; case gr_slatAttWithY : m_with.y = value; break; case gr_slatAttWithXOff : case gr_slatAttWithYOff : break; case gr_slatAttLevel : m_attLevel = byte(value); break; case gr_slatBreak : seg->charinfo(m_original)->breakWeight(value); break; case gr_slatCompRef : break; // not sure what to do here case gr_slatDir : break; // read only case gr_slatInsert : markInsertBefore(value? true : false); break; case gr_slatPosX : break; // can't set these here case gr_slatPosY : break; case gr_slatShiftX : m_shift.x = value; break; case gr_slatShiftY : m_shift.y = value; break; case gr_slatMeasureSol : break; case gr_slatMeasureEol : break; case gr_slatJStretch : break; // handle these later case gr_slatJShrink : break; case gr_slatJStep : break; case gr_slatJWeight : break; case gr_slatJWidth : m_just = value; break; case gr_slatSegSplit : seg->charinfo(m_original)->addflags(value & 3); break; case gr_slatUserDefn : m_userAttr[subindex] = value; break; default : break; } }
Server* random_addr() { return _server_map.random_addr(); }
static void fillServers(SlotMap& m) { std::fill(m.begin(), m.end(), nullptr); }