コード例 #1
0
 public void OnDeserialize(BinaryReader stream, StringCacheTable _)
 {
     X = stream.ReadByte();
     Y = stream.ReadByte();
     Z = stream.ReadByte();
     W = stream.ReadByte();
 }
コード例 #2
0
        public override void OnSerialize(BinaryWriter stream, StringCacheTable cache)
        {
            base.OnSerialize(stream, cache);

            StartValue.OnSerialize(stream);
            EndValue.OnSerialize(stream);
        }
コード例 #3
0
        public override void OnSerialize(BinaryWriter stream, StringCacheTable _)
        {
            //read by TriggerConditionDeserializationFactory::Create()
            0.OnSerialize(stream);

            ((byte)listen_state).OnSerialize(stream);
        }
        public static TriggerConditionBase Create(BinaryReader reader, StringCacheTable cache)
        {
            int i = 0;

            i.OnDeserialize(reader);
            TriggerConditionBase condition = null;

            switch (i)
            {
            case 0:     //GameStateTriggerCondition
                condition = new GameStateTriggerCondition();
                break;

            case 1:
                condition = new HitSoundTriggerCondition();
                break;

            default:
                break;
            }

            condition?.OnDeserialize(reader, cache);

            return(condition);//todo
        }
コード例 #5
0
 public override void OnDeserialize(BinaryReader stream, StringCacheTable _)
 {
     HitSound           = (HitObjectSoundType)stream.ReadByte();
     SampleSet          = (SampleSetType)stream.ReadByte();
     SampleSetAdditions = (SampleSetType)stream.ReadByte();
     CustomSampleSet    = (CustomSampleSetType)stream.ReadInt32();
 }
コード例 #6
0
 public void OnSerialize(BinaryWriter stream, StringCacheTable _)
 {
     stream.Write(X);
     stream.Write(Y);
     stream.Write(Z);
     stream.Write(W);
 }
コード例 #7
0
        public override void OnDeserialize(BinaryReader stream, StringCacheTable cache)
        {
            base.OnDeserialize(stream, cache);

            var v = StartValue;

            v.OnDeserialize(stream); StartValue = v;
            v.OnDeserialize(stream); EndValue   = v;
        }
コード例 #8
0
        public override void OnSerialize(BinaryWriter stream, StringCacheTable cache)
        {
            base.OnSerialize(stream, cache);

            GroupID.OnSerialize(stream);
            last_trigged_time.OnSerialize(stream);

            Condition.OnSerialize(stream, cache);
        }
コード例 #9
0
        public static Command Create(BinaryReader stream, StringCacheTable cache)
        {
            Event e       = (Event)stream.ReadInt32();
            var   command = CreateCommand(e);

            command.OnDeserialize(stream, cache);

            return(command);
        }
コード例 #10
0
        public virtual void OnSerialize(BinaryWriter stream, StringCacheTable _)
        {
            //this is read by CommandDeserializtionFactory::Create()
            ((int)Event).OnSerialize(stream);

            RelativeLine.OnSerialize(stream);
            StartTime.OnSerialize(stream);
            EndTime.OnSerialize(stream);
        }
コード例 #11
0
        public override void OnSerialize(BinaryWriter stream, StringCacheTable cache)
        {
            base.OnSerialize(stream, cache);

            FrameCount.OnSerialize(stream);
            FrameDelay.OnSerialize(stream);
            FrameBaseImagePath.OnSerialize(stream);
            FrameFileExtension.OnSerialize(stream);
            ((byte)LoopType).OnSerialize(stream);
        }
コード例 #12
0
        public override void OnDeserialize(BinaryReader stream, StringCacheTable cache)
        {
            base.OnDeserialize(stream, cache);

            FrameCount.OnDeserialize(stream);
            FrameDelay.OnDeserialize(stream);
            FrameBaseImagePath = stream.ReadString();
            FrameFileExtension = stream.ReadString();
            LoopType           = (LoopType)stream.ReadByte();
        }
コード例 #13
0
        public override void OnSerialize(BinaryWriter stream, StringCacheTable _)
        {
            //read by TriggerConditionDeserializationFactory::Create()
            1.OnSerialize(stream);

            stream.Write((byte)HitSound);
            stream.Write((byte)SampleSet);
            stream.Write((byte)SampleSetAdditions);
            stream.Write((int)CustomSampleSet);
        }
コード例 #14
0
        public virtual void OnDeserialize(BinaryReader stream, StringCacheTable cache_table)
        {
            var count = stream.ReadInt32();

            for (int i = 0; i < count; i++)
            {
                var command = CommandDeserializtionFactory.Create(stream, cache_table);
                AddCommand(command);//todo: use AddCommandRange()
            }

            //ImageFilePath=stream.ReadString();
            ImageFilePath = cache_table[stream.ReadUInt32()];

            FromOsbFile.OnDeserialize(stream);
            FrameStartTime.OnDeserialize(stream);
            FrameEndTime.OnDeserialize(stream);
            layer = (Layer)stream.ReadByte();
            Z.OnDeserialize(stream);

            Postion.OnDeserialize(stream, cache_table);
            Scale.OnDeserialize(stream, cache_table);
            Color.OnDeserialize(stream, cache_table);
            OriginOffset.OnDeserialize(stream, cache_table);
            Rotate.OnDeserialize(stream);

            IsAdditive.OnDeserialize(stream);
            IsHorizonFlip.OnDeserialize(stream);
            IsVerticalFlip.OnDeserialize(stream);

            FileLine.OnDeserialize(stream);

            //try to rebuild base trasform reset action
            var pos      = Postion;
            var start    = FrameStartTime;
            var end      = FrameEndTime;
            var color    = Color;
            var scale    = Scale;
            var additive = IsAdditive;
            var rotate   = Rotate;
            var horizon  = IsHorizonFlip;
            var vertical = IsVerticalFlip;

            BaseTransformResetAction += (StoryboardObject obj) =>
            {
                obj.Postion        = pos;
                obj.FrameStartTime = start;
                obj.FrameEndTime   = end;
                obj.Color          = color;
                obj.Scale          = scale;
                obj.IsAdditive     = additive;
                obj.IsHorizonFlip  = horizon;
                obj.IsVerticalFlip = vertical;
                obj.Rotate         = rotate;
            };
        }
コード例 #15
0
        public override void OnDeserialize(BinaryReader stream, StringCacheTable cache)
        {
            base.OnDeserialize(stream, cache);

            GroupID.OnDeserialize(stream);
            last_trigged_time.OnDeserialize(stream);

            Condition = TriggerConditionDeserializationFactory.Create(stream, cache);

            UpdateSubCommand();
        }
コード例 #16
0
        public override void OnDeserialize(BinaryReader stream, StringCacheTable cache)
        {
            base.OnDeserialize(stream, cache);

            var count = stream.ReadInt32();

            for (int i = 0; i < count; i++)
            {
                var command = CommandDeserializtionFactory.Create(stream, cache);
                AddSubCommand(command);
            }
        }
コード例 #17
0
        public override void OnSerialize(BinaryWriter stream, StringCacheTable cache)
        {
            base.OnSerialize(stream, cache);

            var commands = SubCommands.Values.SelectMany(l => l);

            commands.Count().OnSerialize(stream);

            foreach (var command in commands)
            {
                command.OnSerialize(stream, cache);
            }
        }
コード例 #18
0
        public void CommandTest()
        {
            var command = new FadeCommand();

            command.StartTime  = 1000;
            command.EndTime    = 2000;
            command.StartValue = 1;
            command.EndValue   = 0;
            command.Easing     = EasingTypes.None;

            MemoryStream stream = new MemoryStream();

            StringCacheTable cache = new StringCacheTable();

            using (var writer = new BinaryWriter(stream))
            {
                command.OnSerialize(writer, cache);
            }

            var bytes = stream.ToArray();

            stream.Dispose();

            stream = new MemoryStream(bytes);

            using (var reader = new BinaryReader(stream))
            {
                var fade = CommandDeserializtionFactory.Create(reader, cache);

                Assert.AreEqual(command.StartTime, fade.StartTime);
                Assert.AreEqual(command.EndTime, fade.EndTime);
                Assert.AreEqual(command.Event, fade.Event);

                var x = fade as FadeCommand;
                Assert.IsNotNull(x);

                Assert.AreEqual(command.StartValue, x.StartValue);
                Assert.AreEqual(command.EndValue, x.EndValue);
                Assert.AreEqual(command.Easing, x.Easing);
            }
        }
コード例 #19
0
        /* Binary Layout:
         * int: Addable command count
         * ~~~~ : command binary data
         * ....
         */

        public virtual void OnSerialize(BinaryWriter stream, StringCacheTable cache_table)
        {
            /*
             * 因为BaseTransformResetAction无法被序列化,因此只能先计算出来然后再将物件的各个变换值作为反序列化时生成新的初始化回调
             */
            ResetTransform();

            //normal commands
            var commands = CommandMap.Values.SelectMany(l => l).Where(x => !(x is LoopSubTimelineCommand || x is TriggerSubTimelineCommand));

            stream.Write(commands.Count());

            foreach (var command in commands)
            {
                command.OnSerialize(stream, cache_table);
            }

            //ImageFilePath.OnSerialize(stream);
            var image_string_id = cache_table[ImageFilePath];

            stream.Write(image_string_id);

            FromOsbFile.OnSerialize(stream);
            FrameStartTime.OnSerialize(stream);
            FrameEndTime.OnSerialize(stream);
            ((byte)layer).OnSerialize(stream);
            Z.OnSerialize(stream);

            Postion.OnSerialize(stream, cache_table);
            Scale.OnSerialize(stream, cache_table);
            Color.OnSerialize(stream, cache_table);
            OriginOffset.OnSerialize(stream, cache_table);
            Rotate.OnSerialize(stream);

            IsAdditive.OnSerialize(stream);
            IsHorizonFlip.OnSerialize(stream);
            IsVerticalFlip.OnSerialize(stream);

            FileLine.OnSerialize(stream);
        }
コード例 #20
0
 public override void OnDeserialize(BinaryReader stream, StringCacheTable _)
 {
     listen_state = (GameState)stream.ReadByte();
 }
コード例 #21
0
        public override void OnDeserialize(BinaryReader stream, StringCacheTable cache)
        {
            base.OnDeserialize(stream, cache);

            Easing = (EasingTypes)stream.ReadByte();
        }
コード例 #22
0
 public void OnSerialize(BinaryWriter stream, StringCacheTable cache)
 {
     X.OnSerialize(stream, cache);
     Y.OnSerialize(stream, cache);
 }
コード例 #23
0
 public void OnDeserialize(BinaryReader stream, StringCacheTable cache)
 {
     X.OnDeserialize(stream, cache);
     Y.OnDeserialize(stream, cache);
 }
コード例 #24
0
 public abstract void OnDeserialize(BinaryReader stream, StringCacheTable cache_table);
コード例 #25
0
 public virtual void OnDeserialize(BinaryReader stream, StringCacheTable _)
 {
     RelativeLine.OnDeserialize(stream);
     StartTime.OnDeserialize(stream);
     EndTime.OnDeserialize(stream);
 }
コード例 #26
0
 public abstract void OnSerialize(BinaryWriter stream, StringCacheTable cache_table);
コード例 #27
0
 public void OnSerialize(BinaryWriter stream, StringCacheTable _)
 {
     _bits.OnSerialize(stream);
 }
コード例 #28
0
 public void OnDeserialize(BinaryReader stream, StringCacheTable _)
 {
     _bits.OnDeserialize(stream);
 }
コード例 #29
0
 public override void OnDeserialize(BinaryReader stream, StringCacheTable cache)
 {
     base.OnDeserialize(stream, cache);
     trick_init.OnDeserialize(stream);
 }
コード例 #30
0
        public override void OnSerialize(BinaryWriter stream, StringCacheTable cache)
        {
            base.OnSerialize(stream, cache);

            ((byte)Easing).OnSerialize(stream);
        }