protected override void OnCreateElement(Segments.Image segment, FSNSnapshot.Layer layer, SnapshotElems.Image elemCreated) { base.OnCreateElement(segment, layer, elemCreated); if (segment.combinedImgPath != null) // 조합 이미지를 사용하는 경우 { var combimg = FSNResourceCache.Load <FSNCombinedImage>(FSNResourceCache.Category.Script, segment.combinedImgPath); if (combimg == null) { Debug.LogErrorFormat("조합 이미지 파일을 열 수 없습니다. : {0}", segment.texturePath); } elemCreated.combimg = combimg; // 실행 순서 문제 때문에 initial/finalstate의 텍스쳐를 직접 세팅해줘야함 (initial state가 이미 초기화된 상태, 값이 자동으로 복사되지 않음) elemCreated.InitialState.combimg = combimg; elemCreated.FinalState.combimg = combimg; } else { // 일반 텍스쳐를 사용하는 경우 var texture = FSNResourceCache.Load <Texture2D>(FSNResourceCache.Category.Script, segment.texturePath); if (texture == null) { Debug.LogErrorFormat("텍스쳐 파일을 열 수 없습니다. : {0}", segment.texturePath); } elemCreated.texture = texture; // 실행 순서 문제 때문에 initial/finalstate의 텍스쳐를 직접 세팅해줘야함 (initial state가 이미 초기화된 상태, 값이 자동으로 복사되지 않음) elemCreated.InitialState.texture = texture; elemCreated.FinalState.texture = texture; } var pivotVec = Segments.Image.ConvertPivotPresetToVector(segment.pivot); elemCreated.pivot = pivotVec; elemCreated.InitialState.pivot = pivotVec; elemCreated.FinalState.pivot = pivotVec; }
protected override void SetElemBySegProperties(SnapshotElems.Image elem, Segments.Image seg) { base.SetElemBySegProperties(elem, seg); foreach (var pname in seg.PropertyNames) { switch (pname) { case Segments.Image.c_property_AdaptToPerspective: elem.adaptToPerspective = seg.adaptToPerspective; break; } } }
static void Image_set(FSNScriptSequence.Parser.ICommandGenerateProtocol protocol) { var newImageSeg = new Segments.Image(); newImageSeg.command = Segments.Object.CommandType.SetKey; _Image_setupSegment(newImageSeg, protocol); // 셋업 protocol.PushSegment(new FSNScriptSequence.Parser.GeneratedSegmentInfo() { newSeg = newImageSeg, usePrevPeriod = true, selfPeriod = false }); }
static void _Image_setupSegment(Segments.Image seg, FSNScriptSequence.Parser.ICommandGenerateProtocol protocol) { _BaseObject_setupSegment <Segments.Image>((int)FSNSnapshot.PreDefinedLayers.Image_Default, seg, protocol); }