protected void BuildMix(float start, float duration, IClip clip1, IClip clip2) { var mix = SharedPool <MixClip> .Get(); mix.Initial(start, duration, clip1, clip2); AddMix(mix); }
public static XMarker GetMarker(XTrack track, MarkData data) { XMarker marker = null; switch (data.type) { case MarkType.Active: marker = SharedPool <XActiveMark> .Get(); break; case MarkType.Jump: marker = SharedPool <XJumpMarker> .Get(); break; case MarkType.Slow: marker = SharedPool <XSlowMarker> .Get(); break; } if (marker != null) { marker.Initial(track, data); } return(marker); }
public override IClip BuildClip(ClipData data) { var clip = SharedPool <XBoneFxClip> .Get(); clip.data = data; clip.track = this; return(clip); }
public static XTrack GetTrack(TrackData data, XTimeline tl, XTrack parent = null) { XTrack xTrack = null; switch (data.type) { case AssetType.Marker: xTrack = SharedPool <XMarkerTrack> .Get(); break; case AssetType.Animation: xTrack = SharedPool <XAnimationTrack> .Get(); break; case AssetType.BoneFx: xTrack = SharedPool <XBoneFxTrack> .Get(); break; case AssetType.SceneFx: xTrack = SharedPool <XSceneFxTrack> .Get(); break; case AssetType.PostProcess: xTrack = SharedPool <XPostprocessTrack> .Get(); break; case AssetType.Transform: xTrack = SharedPool <XTransformTrack> .Get(); break; case AssetType.LogicValue: xTrack = SharedPool <XLogicTrack> .Get(); break; case AssetType.Group: xTrack = SharedPool <XGroupTrack> .Get(); break; default: Debug.LogError("unknown track " + data.type); break; } if (xTrack) { xTrack.Initial(data, tl, parent); } return(xTrack); }
public override IClip BuildClip(ClipData data) { var clip = SharedPool <XSceneFxClip> .Get(); clip.data = data; clip.track = this; SceneFxClipData fxdata = (SceneFxClipData)data; clip.Load(fxdata.prefab, fxdata.pos, fxdata.rot, fxdata.scale); return(clip); }
public static T LoadSharedAsset <T>(string path) where T : Object { #if UNITY_EDITOR if (sharedPool.ContainsKey(path)) { return(sharedPool[path].asset as T); } else { var asset = AssetDatabase.LoadAssetAtPath <T>(path); var tmp = SharedPool <Asset> .Get(); tmp.asset = asset; sharedPool.Add(path, tmp); return(asset); } #else // assetbundle implements #endif }
public override IClip BuildClip(ClipData data) { var clip = SharedPool <XAnimationClip> .Get(); clip.data = data; clip.track = this; clip.Initial(data, idx); if (tmp > 0 && clip.start < tmp) { float start = clip.start; if (tmp > clip.end) { tmp = clip.end - 0.01f; } float duration = tmp - start; BuildMix(start, duration, clips[idx - 1], clip); } tmp = clip.end; idx++; return(clip); }
public static GameObject LoadGameObject(string path) { #if UNITY_EDITOR if (goPool.ContainsKey(path)) { return(Object.Instantiate((GameObject)goPool[path].asset)); } else { var obj = AssetDatabase.LoadAssetAtPath <GameObject>(path); if (obj) { var tmp = SharedPool <Asset> .Get(); tmp.asset = obj; goPool.Add(path, tmp); return(Object.Instantiate(obj)); } return(null); } #else // assetbundle implements #endif }