예제 #1
0
void OwnedObject::packExtraData(OutputFrame::Ptr frame){
  SpaceObject::packExtraData(frame);
  
  ReferenceObjectParam* playerref = ((ReferenceObjectParam*)(obj->getParameter(OWNERGRPID,OWNERPARAMID)));
  frame->packInt((playerref->getReferencedId() == 0) ? 0xffffffff : playerref->getReferencedId());

}
예제 #2
0
void Planet::packExtraData(Frame * frame){
   ReferenceObjectParam* playerref = ((ReferenceObjectParam*)(obj->getParameter(2,1)));
   frame->packInt((playerref->getReferencedId() == 0) ? 0xffffffff : playerref->getReferencedId());

   map<uint32_t, pair<uint32_t, uint32_t> > reslist = ((ResourceListObjectParam*)(obj->getParameter(3,1)))->getResources();
   frame->packInt(reslist.size());
   for(map<uint32_t, pair<uint32_t, uint32_t> >::iterator itcurr = reslist.begin();
   itcurr != reslist.end(); ++itcurr){
      frame->packInt(itcurr->first);
      frame->packInt(itcurr->second.first);
      frame->packInt(itcurr->second.second);
      frame->packInt(0);
   }
}