Example #1
0
        protected void BuildMix(float start, float duration, IClip clip1, IClip clip2)
        {
            var mix = SharedPool <MixClip> .Get();

            mix.Initial(start, duration, clip1, clip2);
            AddMix(mix);
        }
Example #2
0
        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);
        }
Example #3
0
        public override IClip BuildClip(ClipData data)
        {
            var clip = SharedPool <XBoneFxClip> .Get();

            clip.data  = data;
            clip.track = this;
            return(clip);
        }
Example #4
0
        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);
        }
Example #5
0
        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);
        }
Example #6
0
        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
        }
Example #7
0
        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);
        }
Example #8
0
        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
        }