//----------------------------------------------------------------// void MOAIGlyph::SerializeIn ( MOAILuaState& state ) { this->mCode = state.GetField ( -1, "mCode", this->mCode ); this->mPageID = state.GetField ( -1, "mPageID", this->mPageID ); this->mWidth = state.GetField ( -1, "mWidth", this->mWidth ); this->mHeight = state.GetField ( -1, "mHeight", this->mHeight ); this->mAdvanceX = state.GetField ( -1, "mAdvanceX", this->mAdvanceX ); this->mBearingX = state.GetField ( -1, "mBearingX", this->mBearingX ); this->mBearingY = state.GetField ( -1, "mBearingY", this->mBearingY ); this->mSrcX = state.GetField ( -1, "mSrcX", this->mSrcX ); this->mSrcY = state.GetField ( -1, "mSrcY", this->mSrcY ); if ( state.GetFieldWithType ( -1, "mKernTable", LUA_TTABLE )) { u32 size = lua_objlen ( state, -1 ); this->mKernTable.Init ( size ); for ( u32 i = 0; i < size; ++i ) { if ( state.GetFieldWithType ( -1, i + 1, LUA_TTABLE )) { this->mKernTable [ i ].mName = state.GetField ( -1, "mName", 0 ); this->mKernTable [ i ].mX = state.GetField ( -1, "mX", 0.0f ); this->mKernTable [ i ].mY = state.GetField ( -1, "mY", 0.0f ); } state.Pop ( 1 ); } state.Pop ( 1 ); } }
//----------------------------------------------------------------// void MOAIGlyphSet::SerializeIn ( MOAILuaState& state ) { UNUSED ( state ); this->mSize = state.GetField ( -1, "mSize", this->mSize ); this->mHeight = state.GetField ( -1, "mHeight", this->mHeight ); this->mAscent = state.GetField ( -1, "mAscent", this->mAscent ); if ( state.GetFieldWithType ( -1, "mGlyphMap", LUA_TTABLE )) { u32 itr = state.PushTableItr ( -1 ); while ( state.TableItrNext ( itr )) { u32 c = state.GetValue < u32 >( -2, 0 ); MOAIGlyph& glyph = this->mGlyphMap [ c ]; glyph.SerializeIn ( state ); } state.Pop ( 1 ); } GlyphMapIt glyphMapIt = this->mGlyphMap.begin (); for ( ; glyphMapIt != this->mGlyphMap.end (); ++glyphMapIt ) { MOAIGlyph& glyph = glyphMapIt->second; if ( glyph.mPageID == MOAIGlyph::NULL_PAGE_ID ) { glyph.mNext = this->mPending; this->mPending = &glyph; } else { glyph.mNext = this->mGlyphs; this->mGlyphs = &glyph; } } }
//----------------------------------------------------------------// void MOAIMesh::SerializeIn ( MOAILuaState& state, MOAIDeserializer& serializer ) { MOAIVertexArray::SerializeIn ( state, serializer ); this->SetIndexBuffer ( serializer.MemberIDToObject < MOAIIndexBuffer >( state.GetField < MOAISerializer::ObjID >( -1, "mIndexBuffer", 0 ))); this->mTotalElements = state.GetField < u32 >( -1, "mTotalElements", 0 ); this->mHasBounds = state.GetField < bool >( -1, "mHasBounds", 0 ); if ( state.GetFieldWithType ( -1, "mBounds", LUA_TTABLE )) { this->mBounds.mMin.mX = state.GetField < float >( -1, "mMinX", 0 ); this->mBounds.mMin.mY = state.GetField < float >( -1, "mMinY", 0 ); this->mBounds.mMin.mZ = state.GetField < float >( -1, "mMinZ", 0 ); this->mBounds.mMax.mX = state.GetField < float >( -1, "mMaxX", 0 ); this->mBounds.mMax.mY = state.GetField < float >( -1, "mMaxY", 0 ); this->mBounds.mMax.mZ = state.GetField < float >( -1, "mMaxZ", 0 ); state.Pop (); } this->mPenWidth = state.GetField < float >( -1, "mPenWidth", 0 ); }