Ejemplo n.º 1
0
        public void Serialize(BitWriter writer)
        {
            if (Version < 40)
            {
                writer.WriteNiString(SceneTransitionName, false, true);

                writer.Write(UnknownFloat);
            }

            var pointCount = Version < 39 ? 5 : 2;

            var luzSceneTransitionPoints = TransitionPoints;

            if (luzSceneTransitionPoints.Length != pointCount)
            {
                Array.Resize(ref luzSceneTransitionPoints, pointCount);
            }

            for (var index = 0; index < pointCount; index++)
            {
                var transitionPoint = luzSceneTransitionPoints[index];

                if (transitionPoint == default)
                {
                    transitionPoint = new LuzSceneTransitionPoint();

                    luzSceneTransitionPoints[index] = transitionPoint;
                }

                transitionPoint.Serialize(writer);
            }

            TransitionPoints = luzSceneTransitionPoints;
        }
Ejemplo n.º 2
0
        public void Deserialize(BitReader reader)
        {
            if (Version < 40)
            {
                SceneTransitionName = reader.ReadNiString(false, true);

                UnknownFloat = reader.Read <float>();
            }

            var pointCount = Version < 39 ? 5 : 2;

            TransitionPoints = new LuzSceneTransitionPoint[pointCount];

            for (var i = 0; i < pointCount; i++)
            {
                TransitionPoints[i] = new LuzSceneTransitionPoint();
                TransitionPoints[i].Deserialize(reader);
            }
        }