Exemplo n.º 1
0
    public static StageData CreateStageAtPath(string path, Color backgroundColor)
    {
        var result = new StageData();

        result.previewFrames    = new byte[1][];
        result.previewFrames[0] = Texture2D.whiteTexture.EncodeToPNG();

        result.transform         = new SerializableTransform();
        result.backgroundColor.C = backgroundColor;
        result.guid = Guid.NewGuid();

        var symbol   = new SymbolData();
        var timeline = new TimeLineData();
        var frame    = new FrameData();

        timeline.Frames.Add(frame);
        symbol.Playables.Add(timeline);
        result.Symbols.Add(symbol);

        AnimData.WriteToFile(path, result);

        AssetDatabase.Refresh();

        return(result);
    }
Exemplo n.º 2
0
        private void button1_Click(object sender, EventArgs e)
        {
            TimeLineDataJsCode timeLineDataJsCode = new TimeLineDataJsCode();

            //读取已有的js文件
            timeLineDataJsCode.ReadFromJsFile(_source_Timeline_Js_Path);

            //在js代码中查找intro中含有“草长莺飞”字符串的data.push语句,并逐条删除
            List <TimeLineData> dataList = timeLineDataJsCode.Find("草长莺飞");

            foreach (TimeLineData data in dataList)
            {
                timeLineDataJsCode.Remove(data);
            }

            //创建一个新的data.push语句
            TimeLineData tlData = new TimeLineData();

            tlData.AddOrUpdate("date", "2017-07=20");
            tlData.AddOrUpdate("intro", "创建一个新的date.push");
            tlData.AddOrUpdate("media", "<img src=\"images / psb.jpeg\" width=\"370\" >");
            tlData.AddOrUpdate("like", "0");
            tlData.AddOrUpdate("comment", "0");
            timeLineDataJsCode.Add(tlData);

            //保存成新的js文件
            timeLineDataJsCode.WriteToJsFile(_target_Timeline_Js_Path);
        }
Exemplo n.º 3
0
        public static List <ITimeLineData> ConvertTimeLineDataList(IKLineData data, float lastEndPrice, ITradingDayReader openDateReader)
        {
            List <SplitterResult> splitResult = DaySplitter.Split(data, openDateReader);

            List <ITimeLineData> realdataList = new List <ITimeLineData>(splitResult.Count);

            for (int i = 0; i < splitResult.Count; i++)
            {
                SplitterResult split           = splitResult[i];
                int            date            = split.Date;
                int            todayStartIndex = split.Index;
                int            todayEndIndex;
                if (i == splitResult.Count - 1)
                {
                    todayEndIndex = data.Length - 1;
                }
                else
                {
                    todayEndIndex = splitResult[i + 1].Index;
                }
                int          len = todayEndIndex - todayStartIndex + 1;
                TimeLineData r   = new TimeLineData(lastEndPrice, len);
                r.Code = data.Code;
                Convert2RealData(data, todayStartIndex, todayEndIndex, r);
                realdataList.Add(r);
            }

            return(realdataList);
        }
Exemplo n.º 4
0
 public void ChangeData(TimeLineData timeLineData)
 {
     this.data = timeLineData;
     if (OnGraphicDataChange != null)
     {
         OnGraphicDataChange(this, new GraphicDataChangeArgument());
     }
 }
Exemplo n.º 5
0
        public static ITimeLineData ConvertTimeLineData(IKLineData data, float lastEndPrice)
        {
            TimeLineData r = new TimeLineData(lastEndPrice, data.Length);

            r.Code = data.Code;
            Convert2RealData(data, 0, data.Length - 1, r);
            return(r);
        }
Exemplo n.º 6
0
        private void SaveToJsFile(string jsFileName, string jsonText)
        {
            TimeLineDataJsCode timeLineDataJsCode = new TimeLineDataJsCode();
            TimeLineData       data  = new TimeLineData();
            string             jText = data.GetDataCodeString(jsonText);

            jText = timeLineDataJsCode.WrapJsHead(jText);
            timeLineDataJsCode.WriteToJsFile(jsFileName, jText);
        }
Exemplo n.º 7
0
        public GameObject GenerateUnityObject(TimeLineData playable, Context ctx)
        {
            int startFrame = playable.AbsoluteTimeOffset - playable.TrimIn;
            int frameCount = playable.GetFrameCount(stage.fps) + playable.TrimIn + playable.TrimOut;

            var playableObj = MakePlayableBaseObject(playable, ref ctx, startFrame / ctx.fps, frameCount / ctx.fps);
            var pathForName = AnimationUtility.CalculateTransformPath(playableObj.transform, ctx.rootTransform);

            // GROUP
            var groupTrack = ctx.parentTimeline.CreateTrack <GroupTrack>(null, playable.displayName);

            ctx.ctx.AddObjectToAsset(pathForName + "_GroupTrack", groupTrack);

            // ANIMATION
            var animationTrack = ctx.parentTimeline.CreateTrack <AnimVRTrack>(groupTrack, pathForName + "_animation");

            ctx.ctx.AddObjectToAsset(pathForName + "_animation", animationTrack);

            var animationClip = animationTrack.CreateDefaultClip();

            animationClip.duration = playable.GetFrameCount(stage.fps) / stage.fps;
            animationClip.start    = playable.TrimIn / stage.fps;

            typeof(TimelineClip).GetProperty("preExtrapolationMode").SetValue(animationClip, LOOP_MAPPING[playable.LoopIn], null);
            typeof(TimelineClip).GetProperty("postExtrapolationMode").SetValue(animationClip, LOOP_MAPPING[playable.LoopOut], null);

            var animAsset = animationClip.asset as AnimVRFramesAsset;

            animAsset.FPS = stage.fps;

            if (playable.Frames.Count > 0)
            {
                animAsset.FadeIn  = playable.Frames[0].FadeModeIn;
                animAsset.FadeOut = playable.Frames[0].FadeModeOut;
            }

            ctx.director.SetGenericBinding(animAsset, playableObj);
            ctx.ctx.AddObjectToAsset(pathForName + "_animAsset", animAsset);

            int frameIndex = -1;

            foreach (var frame in playable.Frames)
            {
                if (!frame.isInstance)
                {
                    var frameObj = GenerateUnityObject(frame, ctx, ++frameIndex);
                    if (frameIndex != 0)
                    {
                        frameObj.SetActive(false);
                    }
                    frameObj.transform.SetAsLastSibling();
                }
                animAsset.FrameIndices.Add(frameIndex);
            }

            return(playableObj);
        }
Exemplo n.º 8
0
        public ActionResult PublicTimeLine()
        {
            ViewData["Title"] = "Public Timeline";
            var timeLine = new TimeLineData {
                Chirps = Repository.GetPublicTimeLine()
            };

            return(View("Index", timeLine));
        }
Exemplo n.º 9
0
    public void AddTimeEvent(TimeLineCall call, float delayTime, object param, GameObject callGameObject)
    {
        TimeLineData tData = new TimeLineData();

        tData.cb             = call;
        tData.param          = param;
        tData.runTime        = delayTime + Time.time;
        tData.callGameObject = callGameObject;
        list.Add(tData);
    }
Exemplo n.º 10
0
 public void RemoveTimeEvent(TimeLineCall call)
 {
     for (int i = 0; i < list.Count; i++)
     {
         TimeLineData td = list[i];
         if (td.cb == call)
         {
             list.Remove(td);
         }
     }
 }
Exemplo n.º 11
0
    TimeLineData ReadTimeline(Timeline?timeline)
    {
        var result = new TimeLineData();

        TransferPlayableData(timeline.Value.Base, ref result);

        for (int i = 0; i < timeline.Value.FramesLength; i++)
        {
            result.Frames.Add(ReadTimelineFrame(timeline.Value.Frames(i)));
        }

        return(result);
    }
Exemplo n.º 12
0
    public void readLatkStrokes(ref SymbolData symbol, string path)
    {
        JSONNode jsonNode = getJsonFromZip(File.ReadAllBytes(path));

        for (int f = 0; f < jsonNode["grease_pencil"][0]["layers"].Count; f++)
        {
            int          currentLayer = f;
            TimeLineData layer        = new TimeLineData();
            symbol.TimeLines.Add(layer);
            symbol.TimeLines[currentLayer].name = jsonNode["grease_pencil"][0]["layers"][f]["name"];

            for (int h = 0; h < jsonNode["grease_pencil"][0]["layers"][f]["frames"].Count; h++)
            {
                int       currentFrame = h;
                FrameData frame        = new FrameData();
                symbol.TimeLines[currentLayer].Frames.Add(frame);

                try {
                    float px = jsonNode["grease_pencil"][0]["layers"][f]["frames"][h]["parent_location"][0].AsFloat / 10f;
                    float py = jsonNode["grease_pencil"][0]["layers"][f]["frames"][h]["parent_location"][2].AsFloat / 10f;
                    float pz = jsonNode["grease_pencil"][0]["layers"][f]["frames"][h]["parent_location"][1].AsFloat / 10f;
                    //symbol.TimeLines[currentLayer].Frames[currentFrame].transform.pos = new Vector3(px, py, pz);
                } catch (UnityException e) { }

                for (int i = 0; i < jsonNode["grease_pencil"][0]["layers"][f]["frames"][h]["strokes"].Count; i++)
                {
                    float r = jsonNode["grease_pencil"][0]["layers"][f]["frames"][h]["strokes"][i]["color"][0].AsFloat;
                    float g = jsonNode["grease_pencil"][0]["layers"][f]["frames"][h]["strokes"][i]["color"][1].AsFloat;
                    float b = jsonNode["grease_pencil"][0]["layers"][f]["frames"][h]["strokes"][i]["color"][2].AsFloat;
                    Color c = new Color(r, g, b);

                    LineData stroke = new LineData();
                    symbol.TimeLines[currentLayer].Frames[currentFrame].Lines.Add(stroke);

                    for (int j = 0; j < jsonNode["grease_pencil"][0]["layers"][f]["frames"][h]["strokes"][i]["points"].Count; j++)
                    {
                        float x = jsonNode["grease_pencil"][0]["layers"][f]["frames"][h]["strokes"][i]["points"][j]["co"][0].AsFloat;
                        float y = jsonNode["grease_pencil"][0]["layers"][f]["frames"][h]["strokes"][i]["points"][j]["co"][1].AsFloat;
                        float z = jsonNode["grease_pencil"][0]["layers"][f]["frames"][h]["strokes"][i]["points"][j]["co"][2].AsFloat;

                        Vector3 p = new Vector3(x, y, z); //applyTransformMatrix(new Vector3(x, y, z));

                        symbol.TimeLines[currentLayer].Frames[currentFrame].Lines[symbol.TimeLines[currentLayer].Frames[currentFrame].Lines.Count - 1].Points.Add(p);
                        symbol.TimeLines[currentLayer].Frames[currentFrame].Lines[symbol.TimeLines[currentLayer].Frames[currentFrame].Lines.Count - 1].colors.Add(c);
                    }
                }
            }
        }
    }
Exemplo n.º 13
0
        private TimeLineData CreateTimeLineData(string userName, bool isSummaryVisible, IList <Tweet> tweets)
        {
            IList <Tweet> timeLine       = tweets;
            int           followersCount = Repository.GetFollowers(userName).Count;
            int           followingCount = Repository.GetFollowing(userName).Count;
            var           aTimeLineData  = new TimeLineData
            {
                IsSummaryVisible = isSummaryVisible,
                Chirps           = timeLine,
                FollowersCount   = followersCount,
                FollowingCount   = followingCount
            };

            return(aTimeLineData);
        }
Exemplo n.º 14
0
    public static void SimplifyPlayable(TimeLineData playable, ref int prevCount, ref int newCount)
    {
        foreach (var frame in playable.Frames)
        {
            if (frame.isInstance)
            {
                continue;
            }

            foreach (var line in frame.Lines)
            {
                SimplifyLineData(line, ref prevCount, ref newCount);
            }
        }
    }
Exemplo n.º 15
0
        private TimeLineData_RealTime GetTimeLineData_RealTime(TimeLineData timeLineData, ITickData tickData, double time)
        {
            this.timeLineData_RealTime = new TimeLineData_RealTime(this.timeLineData);
            int timeLineIndex = TimeIndeierUtils.IndexOfTime_TimeLine(this.timeLineData, time);
            //this.timeLineData_RealTime.IndexOfTime(time);
            int    tickIndex      = TimeIndeierUtils.IndexOfTime_Tick(tickData, time);
            double klineTime      = timeLineData_RealTime.Arr_Time[timeLineIndex];
            int    startTickIndex = TimeIndeierUtils.IndexOfTime_Tick(tickData, klineTime);

            //IKLineData klineData = dataPackage.GetKLineData(date, date, 1, 0, KLinePeriod.KLinePeriod_1Day);
            float       lastEndPrice = dataPackage.GetLastEndPrice(date);
            TimeLineBar klineBar     = GetTimeLineBar(tickData, startTickIndex, tickIndex, lastEndPrice);

            timeLineData_RealTime.ChangeCurrentBar(klineBar, timeLineIndex);
            return(timeLineData_RealTime);
        }
Exemplo n.º 16
0
        public static ITimeLineData LoadKLineData(string[] lines)
        {
            float        yesterday = float.Parse(lines[0]);
            TimeLineData data      = new TimeLineData(yesterday, lines.Length - 1);

            for (int i = 0; i < data.Length; i++)
            {
                String   line    = lines[i + 1].Trim();
                String[] dataArr = line.Split(',');
                data.arr_time[i]  = double.Parse(dataArr[0]);
                data.arr_price[i] = float.Parse(dataArr[1]);
                data.arr_mount[i] = int.Parse(dataArr[2]);
                data.arr_hold[i]  = int.Parse(dataArr[3]);
            }
            return(data);
        }
Exemplo n.º 17
0
    Offset <Timeline> MakeTimeline(FlatBufferBuilder builder, TimeLineData timeline)
    {
        var playablData = MakePlayable(builder, timeline);

        Offset <Frame>[] frames = new Offset <Frame> [timeline.Frames.Count];

        for (int i = 0; i < frames.Length; i++)
        {
            frames[i] = MakeTimelineFrame(builder, timeline.Frames[i]);
        }

        var framesVector = Timeline.CreateFramesVector(builder, frames);

        Timeline.StartTimeline(builder);
        Timeline.AddBase(builder, playablData);
        Timeline.AddFrames(builder, framesVector);
        return(Timeline.EndTimeline(builder));
    }
Exemplo n.º 18
0
        private void ForwardNextDay_TimeLine()
        {
            if (!useTimeLineData)
            {
                return;
            }

            int          currentTradingDay = currentTickData.TradingDay;
            TimeLineData timeLineData      = (TimeLineData)dataPackage.GetTimeLineData(currentTradingDay);

            if (timeLineData == null)
            {
                return;
            }

            float lastEndPrice = this.currentTimeLineData.Arr_Price[currentTimeLineData.Length - 1];
            TimeLineData_RealTime timeLineData_RealTime = new TimeLineData_RealTime(timeLineData);

            timeLineData_RealTime.ChangeCurrentBar(GetTimeLineBar(currentTickData, lastEndPrice));
            this.currentTimeLineData = timeLineData_RealTime;
        }
Exemplo n.º 19
0
    public void Update()
    {
        TimeLineData td = null;

        for (int i = 0; i < list.Count; i++)
        {
            listClone.Add(list[i]);
        }
        for (int i = 0; i < listClone.Count; i++)
        {
            td = listClone[i];
            if (td.runTime <= Time.time)
            {
                if (td.cb != null && td.callGameObject != null)
                {
                    td.cb(td.param);
                }
                list.Remove(td);
            }
        }
        listClone.Clear();
    }
Exemplo n.º 20
0
        public ActionResult ShowTweet(string id)
        {
            var tweet = Repository.GetTweet(id);

            if (tweet == null)
            {
                return(View("Error", new ErrorInfo("Unable to load tweet.", null)));
            }

            var timelinedata = new TimeLineData
            {
                Chirps = new List <Tweet> {
                    tweet
                },
                ShowIndividualChrip = true
            };

            ViewData["Title"] = "Show Tweet";
            User user = Repository.GetUser(tweet.User);

            ViewData["User"] = user;
            return(View("Index", timelinedata));
        }
Exemplo n.º 21
0
 private static void Convert2RealData(IKLineData data, int startIndex, int endIndex, TimeLineData r)
 {
     for (int i = startIndex; i <= endIndex; i++)
     {
         int currentRealIndex = i - startIndex;
         r.arr_time[currentRealIndex]  = data.Arr_Time[i];
         r.arr_price[currentRealIndex] = data.Arr_End[i];
         r.arr_mount[currentRealIndex] = data.Arr_Mount[i];
         r.arr_hold[currentRealIndex]  = data.Arr_Hold[i];
     }
 }
Exemplo n.º 22
0
 private TimeLineData_RealTime GetTimeLineData_RealTime(int date, double time)
 {
     this.tickData     = dataPackage.GetTickData(date);
     this.timeLineData = (TimeLineData)dataPackage.GetTimeLineData(date);
     return(GetTimeLineData_RealTime(timeLineData, tickData, time));
 }
Exemplo n.º 23
0
        public GameObject GenerateUnityObject(TimeLineData playable, int frameOffset, AssetImportContext ctx, TimelineAsset parentTimeline, TrackAsset parentTrack, Transform parent)
        {
            var playableObj = MakePlayableBaseObject(playable, parent);
            var pathForName = AnimationUtility.CalculateTransformPath(playableObj.transform, stageTransform);

            // GROUP
            var groupTrack = parentTimeline.CreateTrack <GroupTrack>(parentTrack, playable.displayName);

            ctx.AddSubAsset(pathForName + "_GroupTrack", groupTrack);

            // ANIMATION
            var animationTrack = parentTimeline.CreateTrack <AnimVRTrack>(groupTrack, pathForName + "_animation");

            ctx.AddSubAsset(pathForName + "_animation", animationTrack);

            var animationClip = animationTrack.CreateDefaultClip();

            animationClip.duration = playable.GetFrameCount(stage.fps) / stage.fps;
            animationClip.start    = (playable.AbsoluteTimeOffset + frameOffset) / stage.fps;

            typeof(TimelineClip).GetProperty("preExtrapolationMode").SetValue(animationClip, LOOP_MAPPING[playable.LoopIn], null);
            typeof(TimelineClip).GetProperty("postExtrapolationMode").SetValue(animationClip, LOOP_MAPPING[playable.LoopOut], null);

            var animAsset = animationClip.asset as AnimVRFramesAsset;

            animAsset.FPS = stage.fps;

            director.SetGenericBinding(animAsset, playableObj);
            ctx.AddSubAsset(pathForName + "_activeAsset", animAsset);

            // ACTIVATION
            var frameTrack = parentTimeline.CreateTrack <ActivationTrack>(groupTrack, pathForName + "_track");

            ctx.AddSubAsset(pathForName + "_track", frameTrack);
            director.SetGenericBinding(frameTrack, playableObj);

            var frameClip = frameTrack.CreateDefaultClip();

            frameClip.start    = playable.LoopIn != AnimVR.LoopType.OneShot ? 0 : animationClip.start;
            frameClip.duration = playable.LoopOut != AnimVR.LoopType.OneShot ?
                                 parentTimeline.fixedDuration - frameClip.start :
                                 (animationClip.start - frameClip.start) + animationClip.duration;

            ctx.AddSubAsset(pathForName + "_activeAsset", frameClip.asset);

            int frameIndex = -1;

            foreach (var frame in playable.Frames)
            {
                if (!frame.isInstance)
                {
                    var frameObj = GenerateUnityObject(frame, ctx, parentTimeline, playableObj.transform, ++frameIndex);
                    if (frameIndex != 0)
                    {
                        frameObj.SetActive(false);
                    }
                    frameObj.transform.SetAsLastSibling();
                }
                animAsset.FrameIndices.Add(frameIndex);
            }

            return(playableObj);
        }