예제 #1
0
//----------------------------------------------------------------------------
void Object::Save(OutStream& target) const
{
	PX2_BEGIN_DEBUG_STREAM_SAVE(target);

	// 写入Rtti 名称
	target.WriteString(GetRttiType().GetName());

	// 写入Rtti version
	target.Write(TYPE.GetVersion());

	// 写入ID
	target.WriteUniqueID(this);

	//是否有效
	target.WriteBool(mIsEnable);

	// 资源路径
	target.WriteString(mResourcePath);

	// 写入对象名称
	target.WriteString(mName);
	target.Write(mID);

	PX2_END_DEBUG_STREAM_SAVE(Object, target);
}
//----------------------------------------------------------------------------
void RawTerrainPage::Save (OutStream& target) const
{
	PX2_BEGIN_DEBUG_STREAM_SAVE(target);

	TerrainPage::Save(target);
	PX2_VERSION_SAVE(target);

	target.WritePointer(mMtlInst);

	target.WriteString(mTextureDefaultFilename);
	target.WriteString(mTexture0Filename);

	target.WritePointer(mTextureAlpha);

	target.WriteString(mTexture1Filename);
	target.WriteString(mTexture2Filename);
	target.WriteString(mTexture3Filename);
	target.WriteString(mTexture4Filename);

	target.WriteAggregate(mUV01);
	target.WriteAggregate(mUV23);
	target.WriteAggregate(mUV4);
	target.WritePointer(mUV01Float);
	target.WritePointer(mUV23Float);
	target.WritePointer(mUV4Float);

	PX2_END_DEBUG_STREAM_SAVE(RawTerrainPage, target);
}
//----------------------------------------------------------------------------
void EffectBuf::Save (OutStream& target) const
{
	PX2_BEGIN_DEBUG_STREAM_SAVE(target);

	Buf::Save(target);
	PX2_VERSION_SAVE(target);

	target.WriteString(mEffectFilename);
	target.WriteString(mAnchor);
	target.WritePointer(mEffect);

	PX2_END_DEBUG_STREAM_SAVE(EffectBuf, target);
}
//----------------------------------------------------------------------------
void ScriptController::Save(OutStream& target) const
{
	PX2_BEGIN_DEBUG_STREAM_SAVE(target);

	Controller::Save(target);
	PX2_VERSION_SAVE(target);

	target.Write(mNumFixUpdatePerSeconds);

	target.WriteString(mFilename);
	target.WriteString(mClassName);

	PX2_END_DEBUG_STREAM_SAVE(ScriptController, target);
}
예제 #5
0
//----------------------------------------------------------------------------
void UIFrame::Save (OutStream& target) const
{
	PX2_BEGIN_DEBUG_STREAM_SAVE(target);

	Node::Save(target);
	target.WriteString(mScriptHandler);

	PX2_END_DEBUG_STREAM_SAVE(UIFrame, target);
}
예제 #6
0
//----------------------------------------------------------------------------
void Object::Save (OutStream& target) const
{
	PX2_BEGIN_DEBUG_STREAM_SAVE(target);

	// 写入RTTI名称
	target.WriteString(GetRttiType().GetName());

	// 写入ID
	target.WriteUniqueID(this);

	// 资源路径
	target.WriteString(mResourcePath);

	// 写入对象名称
	target.WriteString(mName);

	PX2_END_DEBUG_STREAM_SAVE(Object, target);
}
예제 #7
0
//----------------------------------------------------------------------------
void UIInputText::Save(OutStream& target) const
{
	PX2_BEGIN_DEBUG_STREAM_SAVE(target);

	UIText::Save(target);
	PX2_VERSION_SAVE(target);

	target.WriteBool(mIsPassword);
	target.WriteString(mRealText);

	target.Write(mFixedWidth);

	PX2_END_DEBUG_STREAM_SAVE(UIInputText, target);
}
예제 #8
0
//----------------------------------------------------------------------------
void MaterialInstance::Save (OutStream& target) const
{
	PX2_BEGIN_DEBUG_STREAM_SAVE(target);

	Object::Save(target);
	PX2_VERSION_SAVE(target);

	target.WriteBool(mIsShareMtl);

	target.WriteString(mMaterialFilename);
	target.WriteString(mInstanceTechName);

	target.WritePointer(mMaterial);
	target.Write(mTechniqueIndex);

	target.WritePointerW(mNumPasses, mVertexParameters);
	target.WritePointerN(mNumPasses, mPixelParameters);

	PX2_END_DEBUG_STREAM_SAVE(MaterialInstance, target);
}
예제 #9
0
//----------------------------------------------------------------------------
void Shader::Save (OutStream& target) const
{
	WM5_BEGIN_DEBUG_STREAM_SAVE(target);

	Object::Save(target);

	target.WriteStringW(mNumInputs, mInputName);
	target.WriteEnumN(mNumInputs, mInputType);
	target.WriteEnumN(mNumInputs, mInputSemantic);
	target.WriteStringW(mNumOutputs, mOutputName);
	target.WriteEnumN(mNumOutputs, mOutputType);
	target.WriteEnumN(mNumOutputs, mOutputSemantic);
	target.WriteStringW(mNumConstants, mConstantName);
	target.WriteN(mNumConstants, mNumRegistersUsed);
	target.WriteStringW(mNumSamplers, mSamplerName);
	target.WriteEnumN(mNumSamplers, mSamplerType);
	target.WriteEnumN(mNumSamplers, mFilter);
	target.WriteEnumN(mNumSamplers, mCoordinate[0]);
	target.WriteEnumN(mNumSamplers, mCoordinate[1]);
	target.WriteEnumN(mNumSamplers, mCoordinate[2]);
	target.WriteN(mNumSamplers, mLodBias);
	target.WriteN(mNumSamplers, mAnisotropy);
	target.WriteAggregateN(mNumSamplers, mBorderColor);

	// On load, test this against MAX_PROFILES just in case a user increases
	// MAX_PROFILES and tries to load old data sets.
	target.Write((int)MAX_PROFILES);
	target.WriteBool(mProfileOwner);
	if (mProfileOwner)
	{
		for (int i = 0; i < MAX_PROFILES; ++i)
		{
			target.WriteN(mNumConstants, mBaseRegister[i]);
			target.WriteN(mNumSamplers, mTextureUnit[i]);
			target.WriteString(*mProgram[i]);
		}
	}

	WM5_END_DEBUG_STREAM_SAVE(Shader, target);
}
예제 #10
0
//----------------------------------------------------------------------------
void UIAnimPicBox::Save (OutStream& target) const
{
	PX2_BEGIN_DEBUG_STREAM_SAVE(target);

	UIPicBox::Save(target);

	target.WritePointer(mAPBCtrl);
	target.WriteString(mFrameTexPack);
	target.Write(mIntervalTime);
	int numAnim = (int)mElements.size();
	target.Write(numAnim);
	for (int i=0; i<numAnim; i++)
	{
		target.Write(mElements[i].Index);
		target.WriteAggregate(mElements[i].UV0);
		target.WriteAggregate(mElements[i].UV1);
		target.WriteAggregate(mElements[i].UV2);
		target.WriteAggregate(mElements[i].UV3);
		target.WritePointer(mElements[i].Tex);
	}

	PX2_END_DEBUG_STREAM_SAVE(UIAnimPicBox, target);
}