Ejemplo n.º 1
0
        public void BasicUsagePasses()
        {
            var screenSize = new Vector2Int(128, 128);

            var inputRecord = InputRecord.Create(screenSize);

            Assert.AreEqual(screenSize, inputRecord.ScreenSize);

            for (var i = 0; i < 10; ++i)
            {
                var frame = new InputRecord.Frame((uint)i, 16f / 1000f);
                frame.SetInputTextByJson(new FrameData {
                    n = i, s = $"msg{i}"
                });
                inputRecord.Push(frame);
            }
            Assert.AreEqual(10, inputRecord.FrameCount);
            Assert.IsTrue(inputRecord.Frames.Any());

            //Frameデータのクリアー処理
            inputRecord.ClearFrames();
            Assert.AreEqual(screenSize, inputRecord.ScreenSize);
            Assert.AreEqual(0, inputRecord.FrameCount);
            Assert.IsFalse(inputRecord.Frames.Any());
        }
Ejemplo n.º 2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="recorder"></param>
        /// <param name="serializer"></param>
        /// <returns></returns>
        public static InputRecord.Frame WriteToFrame(this IFrameDataRecorder recorder, ISerializer serializer)
        {
            Assert.IsNotNull(serializer);

            var frame = new InputRecord.Frame();

            frame.InputText = serializer.Serialize(recorder);
            return(frame);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// フレームのデータを復元します
        /// この関数を呼び出した後は、このインスタンスとReplayableInputのパラメータがFrameのものへ更新されます。
        /// </summary>
        /// <param name="recorder"></param>
        /// <param name="frame"></param>
        /// <param name="serializer"></param>
        public static void RecoverFromFrame(this IFrameDataRecorder recorder, InputRecord.Frame frame, ISerializer serializer)
        {
            Assert.IsNotNull(frame);
            Assert.IsNotNull(serializer);

            var recoverInput = serializer.Deserialize(frame.InputText, recorder.GetType())
                               as IFrameDataRecorder;

            recoverInput.CopyUpdatedDatasTo(recorder);
        }
Ejemplo n.º 4
0
        public void InputRecordFrameBasicUsagePasses()
        {
            var frame = new InputRecord.Frame(0, 16f / 1000f);

            frame.InputText = null;
            Assert.IsTrue(frame.IsEmptyInputText);
            frame.InputText = "";
            Assert.IsTrue(frame.IsEmptyInputText);
            frame.InputText = "{}";
            Assert.IsTrue(frame.IsEmptyInputText, "InputRecord#Frame#InputTextが'{}'の時は空として扱うようにしています。");

            frame.InputText = "{hogehoge}";
            Assert.IsFalse(frame.IsEmptyInputText);
        }