// Update is called once per frame void Update() { float time = Time.realtimeSinceStartup - timeFromStart; if (isRecording) { for (int i = 0; i < Recorders.Length; i++) { //変化があった時だけ記録する if (Recorders[i].transform.hasChanged) { MultiTransform t = new MultiTransform(); t.SetData(i, Recorders[i].transform, time); myTransforms.Add(t); counter++; } } } else if (isPlaying) { //最後まで再生したらループする if (counter < myTransforms.Count) { LoopPlay(); } else { StartPlay(); } } Message.text = counter.ToString(); }
void HitCube(int id) { if (isPlaying) { Players[id].GetComponent <Renderer>().material.color = Color.green; } else { float time = Time.realtimeSinceStartup - timeFromStart; Recorders[id].GetComponent <Renderer>().material.color = Color.green; var t = new MultiTransform(); t.ID = id; t.Type = EVENT_TYPE.EVENT_1; t.Time = time; t.EventString = "hit[" + id + "]" + time; myTransforms.Add(t); } StartCoroutine(ColorDefault(id)); }
// Use this for initialization void Start() { #if UNITY_WSA RegistResolver(); #endif //録画再生ボタンの登録 buttonRec.onClick.AddListener(RecClicked); buttonPlay.onClick.AddListener(PlayClicked); //初期位置を記録する startTrans = new MultiTransform[Recorders.Length]; for (int i = 0; i < Recorders.Length; i++) { int id = i; if (Recorders[i].GetComponent <Work03Cube>() != null) { Recorders[i].GetComponent <Work03Cube>().OnCubeHit.AddListener(() => HitCube(id)); } startTrans[i] = new MultiTransform(); startTrans[i].SetData(i, Recorders[i].transform, 0); } myTransforms = new List <MultiTransform>(); #if WINDOWS_UWP // UWP上での動作の場合、LocalAppData/AppName/LocalStateフォルダを参照する saveFileName = System.IO.Path.Combine(Windows.Storage.ApplicationData.Current.LocalFolder.Path, saveFileName); #else // Unity上での動作の場合、Assets/StreamingAssetsフォルダを参照する saveFileName = System.IO.Path.Combine(UnityEngine.Application.streamingAssetsPath, saveFileName); #endif // TestObjList(); }
// Use this for initialization void Start() { #if UNITY_WSA RegistResolver(); #endif //初期位置を記録する startTrans = new MultiTransform[Recorders.Length]; for (int i = 0; i < Recorders.Length; i++) { int id = i; Recorders[i].GetComponent <Work03Cube>().OnCubeHit.AddListener(() => HitCube(id)); startTrans[i] = new MultiTransform(); startTrans[i].SetData(i, Recorders[i].transform, 0); } orginColor = Recorders[0].GetComponent <Renderer>().material.color; myTransforms = new List <MultiTransform>(); #if ENABLE_DOTNET Debug.Log(".net"); #endif #if ENABLE_IL2CPP Debug.Log("IL2CPP"); #endif #if WINDOWS_UWP // UWP上での動作の場合、LocalAppData/AppName/LocalStateフォルダを参照する saveFileName = System.IO.Path.Combine(Windows.Storage.ApplicationData.Current.LocalFolder.Path, saveFileName); #else // Unity上での動作の場合、Assets/StreamingAssetsフォルダを参照する saveFileName = System.IO.Path.Combine(UnityEngine.Application.streamingAssetsPath, saveFileName); #endif // TestObjList(); }
public static void Main(string[] args) { #if false double[] m; double[] x0 = new double[2] { 0, 0 }; double[] x1 = new double[2] { -1, 0 }; double[] x2 = new double[2] { +1, 0 }; double[] x3 = new double[2] { 0, -1 }; double[] x4 = new double[2] { 0, +1 }; double[] x5 = new double[2] { 10, 5 }; m = SVGLoader.Geometry.circle_center(x1, x2, 1); m = SVGLoader.Geometry.circle_center(x3, x4, 1); m = SVGLoader.Geometry.circle_center(x1, x4, 1); m = SVGLoader.Geometry.circle_center(x0, x5, 10, false); string str = "scale ( -.1) "; //string s_re = "scale"; ITransform tr = SVGLoader.Parser.transform(str); SVGLoader.Transform t1 = new SVGLoader.Transform(Math.PI); double[] p0 = new double[3] { 1, 2, 3 }; double[] p1 = t1.calc(p0); double[] p2 = t1.calc(1, 2, 3); SVGLoader.ITransform t2 = new SVGLoader.Translate(2, 2); t1.rotate(0); t1.scale(); t1.scale(-1, 1, 3); p1 = t2.calc(p0); Stack <ITransform> t3 = new Stack <ITransform> (); t3.Push(t2); t3.Push(t1); p1 = (double[])p0.Clone(); foreach (ITransform t in t3) { p1 = t.calc(p1); } MultiTransform t4 = new MultiTransform(t3); p1 = t4.calc(p0); Queue <ITransform> queue = new Queue <ITransform> (); queue.Enqueue(t1); MultiTransform t5 = new MultiTransform(queue); p1 = t5.calc(p0); #endif Stdout stdout = new Stdout(); SVGLoader.Graphics graphics = new SVGLoader.Graphics(stdout); //string path = "/home/jvater/c#-prj/data/test.svg"; //string path = "/home/jvater/prj/svg-loader/data/Steg.svg"; //string path = "/home/jvater/prj/svg-loader/data/test-00.svg"; string path = "/home/jvater/prj/svg-loader/data/forum-01/Acanthus.svg"; Console.WriteLine("Hello World!"); //CamBam.ThisApplication.MsgBox("SVG: " + path); XmlDocument xml = new XmlDocument(); xml.Load(path); XmlNodeList list = xml.GetElementsByTagName("defs"); //XmlElement y = xml.GetElementById ("vol"); XmlNode y = xml.SelectSingleNode("//*[@id='vol']"); foreach (XmlElement x in list) { stdout.trace(1, x.ToString()); } stdout.trace(0, "SVG loaded:" + path); graphics.draw(xml); }