public override bool Save(object target, string strParam) { base.Save(target, strParam); apModifiedMesh modMesh = target as apModifiedMesh; if (modMesh == null) { return(false); } _key_MeshGroupOfMod = modMesh._meshGroupOfModifier; _key_MeshGroupOfTransform = modMesh._meshGroupOfTransform; _key_MeshTransform = null; _key_MeshGroupTransform = null; _key_RenderUnit = null; if (modMesh._transform_Mesh != null) { _key_MeshTransform = modMesh._transform_Mesh; } if (modMesh._transform_MeshGroup != null) { _key_MeshGroupTransform = modMesh._transform_MeshGroup; } _key_RenderUnit = modMesh._renderUnit; _vertices.Clear(); int nVert = modMesh._vertices.Count; for (int i = 0; i < nVert; i++) { apModifiedVertex modVert = modMesh._vertices[i]; _vertices.Add(new VertData(modVert._vertex, modVert._deltaPos)); } _transformMatrix = new apMatrix(modMesh._transformMatrix); _meshColor = modMesh._meshColor; _isVisible = modMesh._isVisible; _isExtraValueEnabled = false; _extraValue = null; //추가 3.29 : ExtraValue도 복사 if (modMesh._isExtraValueEnabled) { _isExtraValueEnabled = true; _extraValue = new ExtraDummyValue(modMesh._extraValue); } return(true); }
public override bool Save(object target, string strParam) { base.Save(target, strParam); apAnimKeyframe keyframe = target as apAnimKeyframe; if (keyframe == null) { return(false); } //추가 3.29 : 저장된 당시의 프레임을 기억하자 _savedFrameIndex = keyframe._frameIndex; _key_TimelineLayer = keyframe._parentTimelineLayer; if (_key_TimelineLayer == null) { return(false); } _animCurve = new apAnimCurve(keyframe._curveKey, keyframe._frameIndex); _isKeyValueSet = keyframe._isKeyValueSet; //_conSyncValue_Bool = keyframe._conSyncValue_Bool; _conSyncValue_Int = keyframe._conSyncValue_Int; _conSyncValue_Float = keyframe._conSyncValue_Float; _conSyncValue_Vector2 = keyframe._conSyncValue_Vector2; //_conSyncValue_Vector3 = keyframe._conSyncValue_Vector3; //_conSyncValue_Color = keyframe._conSyncValue_Color; _vertices.Clear(); _transformMatrix = new apMatrix(); _meshColor = new Color(0.5f, 0.5f, 0.5f, 1.0f); _isVisible = true; _isExtraValueEnabled = false; _extraValue = null; if (keyframe._linkedModMesh_Editor != null) { apModifiedMesh modMesh = keyframe._linkedModMesh_Editor; _vertices.Clear(); int nVert = modMesh._vertices.Count; for (int i = 0; i < nVert; i++) { apModifiedVertex modVert = modMesh._vertices[i]; _vertices.Add(new VertData(modVert._vertex, modVert._deltaPos)); } _transformMatrix = new apMatrix(modMesh._transformMatrix); _meshColor = modMesh._meshColor; _isVisible = modMesh._isVisible; //추가 3.29 : ExtraValue도 복사 if (modMesh._isExtraValueEnabled) { _isExtraValueEnabled = true; _extraValue = new ExtraDummyValue(modMesh._extraValue); } } else if (keyframe._linkedModBone_Editor != null) { apModifiedBone modBone = keyframe._linkedModBone_Editor; _transformMatrix = new apMatrix(modBone._transformMatrix); } return(true); }