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()); }
/// <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); }
/// <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); }
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); }