Beispiel #1
0
	AbstractObject Attribute::get(void* owner) const{
		//if no accessor
		if(!extension->accessor){
			Byte* adress = (Byte*)owner + offset;
			return AbstractObject((void*)adress,descriptor);
		}
		else{
			//will probably not work
			std::vector<Variant> ret;
			extension->accessor->execute(owner, ret);
			return AbstractObject(ret[0].getAdress(),ret[0].getDescriptor());
		}
	}
Beispiel #2
0
	void ReferenceBase::serialize(void* data, const ISerializer* s){
		if(s->isLoading()){
			ID id = *(s->serialize().get<ID>());
			reference = Object::fetchObject(id);
		}
		else{
			ID id = reference ? reference->getId() : ID();
			s->serialize(AbstractObject(id));
		}
	}
Beispiel #3
0
AbstractObject AbstractSerializer::serialize(const AbstractObject& o) const {
    return AbstractObject();
}