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); }
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); }
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); }
public void ChangeData(TimeLineData timeLineData) { this.data = timeLineData; if (OnGraphicDataChange != null) { OnGraphicDataChange(this, new GraphicDataChangeArgument()); } }
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); }
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); }
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); }
public ActionResult PublicTimeLine() { ViewData["Title"] = "Public Timeline"; var timeLine = new TimeLineData { Chirps = Repository.GetPublicTimeLine() }; return(View("Index", timeLine)); }
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); }
public void RemoveTimeEvent(TimeLineCall call) { for (int i = 0; i < list.Count; i++) { TimeLineData td = list[i]; if (td.cb == call) { list.Remove(td); } } }
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); }
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); } } } } }
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); }
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); } } }
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); }
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); }
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)); }
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; }
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(); }
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)); }
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]; } }
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)); }
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); }