public static GameObject DropFramesToSceneToCreateGO(string name, SVGAsset[] frames, Vector3 position) { if (frames.Length > 0) { SVGAsset asset = frames[0]; GameObject gameObject = DropSVGAssetToSceneToCreateGO(asset, position); if (frames.Length > 1) { SVGFrameAnimator svgFrameAnimator = gameObject.AddComponent<SVGFrameAnimator>(); svgFrameAnimator.frames = frames.Clone() as SVGAsset[]; } return gameObject; } return null; }
public void AddFrames(SVGAsset[] assets) { Undo.RecordObject(target, "Add Frames"); SVGFrameAnimator frameAnimator = target as SVGFrameAnimator; if(frameAnimator == null) return; if(frameAnimator.frames == null || frameAnimator.frames.Length == 0) { frameAnimator.frames = (SVGAsset[])assets.Clone(); } else { int start = frameAnimator.frames.Length; int end = frameAnimator.frames.Length + assets.Length; System.Array.Resize<SVGAsset>(ref frameAnimator.frames, frameAnimator.frames.Length + assets.Length); for(int i = start; i < end; i++) { frameAnimator.frames[i] = assets[i - start]; } } EditorUtility.SetDirty(target); }