示例#1
0
        public void OnGsLiveWrite(GsWriteStream writeStream)
        {
            try
            {
                if (synchronizePosition)
                {
                    _mDirection      = transform.position - _mStoredPosition;
                    _mStoredPosition = transform.position;

                    writeStream.WriteNext(transform.position);
                    writeStream.WriteNext(_mDirection);
                }

                if (synchronizeRotation)
                {
                    writeStream.WriteNext(transform.rotation);
                }

                if (synchronizeScale)
                {
                    writeStream.WriteNext(transform.localScale);
                }
            }
            catch (Exception e)
            {
                Debug.LogError("GSLiveTransformObserver OnGsLiveWrite Error : " + e);
            }
        }
示例#2
0
 public void OnGsLiveWrite(GsWriteStream writeStream)
 {
     writeStream.WriteNext(MethodName);
     writeStream.WriteNext(FullName);
     writeStream.WriteNext((byte)Type);
     writeStream.WriteNext(ExtraData);
 }
        protected override void WriteObject(Matrix4x4 obj, GsWriteStream writeStream)
        {
            var data = new float[ColumnCount * ColumnCount];

            for (var i = 0; i < ColumnCount * ColumnCount; i++)
            {
                data[i] = obj[i];
            }
            writeStream.WriteNext(data);
        }
示例#4
0
        protected override void WriteObject(Vector2[] obj, GsWriteStream writeStream)
        {
            var data = new float[obj.Length * Base];

            for (var i = 0; i < obj.Length; i++)
            {
                data[Base * i]     = obj[i].x;
                data[Base * i + 1] = obj[i].y;
            }
            writeStream.WriteNext(data);
        }
        public void OnGsLiveWrite(GsWriteStream writeStream)
        {
            try
            {
                writeStream.WriteNext(_rBody.position);
                writeStream.WriteNext(_rBody.rotation);

                if (synchronizeVelocity)
                {
                    writeStream.WriteNext(_rBody.velocity);
                }

                if (synchronizeAngularVelocity)
                {
                    writeStream.WriteNext(_rBody.angularVelocity);
                }
            }
            catch (Exception e)
            {
                Debug.LogError("RealtimeRigidbody2DObserver OnGsLiveWrite Error : " + e);
            }
        }
        public void OnGsLiveWrite(GsWriteStream writeStream)
        {
            try
            {
                // send to server
                var newPos   = _transform.position;
                var newRot   = _transform.rotation;
                var newScale = _transform.localScale;

                if (Vector3.Distance(_oldPosition, newPos) > posThreshold)
                {
                    _oldPosition = newPos;
                }


                if (Quaternion.Angle(_oldRotation, newRot) > rotThreshold)
                {
                    _oldRotation = newRot;
                }


                if (synchronizePosition)
                {
                    writeStream.WriteNext(newPos);
                }
                if (synchronizeRotation)
                {
                    writeStream.WriteNext(newRot);
                }
                if (synchronizeScale)
                {
                    writeStream.WriteNext(newScale);
                }
            }
            catch (Exception e)
            {
                Debug.LogError("RealtimeSmoothMoveObserver OnGsLiveWrite Error : " + e);
            }
        }
        /// <summary>
        ///     NOTE : Dont Use This Function, This Function Called By GsLiveRealtime SDK.
        ///     Get WriteStream For object params
        /// </summary>
        /// <param name="data">the Objects</param>
        /// <returns></returns>
        /// <exception cref="GameServiceException">Throw If invalid Action Happened</exception>
        internal static GsWriteStream GetWriteStreamFromParams(params object[] data)
        {
            if (data == null)
            {
                throw new GameServiceException("Params Cant Be Null")
                      .LogException(typeof(TypeUtil), DebugLocation.RealTime, "GetWriteStreamFromParams");
            }

            if (data.Length == 0)
            {
                throw new GameServiceException("Params Cant Be Empty")
                      .LogException(typeof(TypeUtil), DebugLocation.RealTime, "GetWriteStreamFromParams");
            }


            var writeStream = new GsWriteStream();

            foreach (var obj in data)
            {
                writeStream.WriteNext(obj);
            }

            return(writeStream);
        }
 protected override void WriteObject(Bounds obj, GsWriteStream writeStream)
 {
     writeStream.WriteNext(new [] { obj.center.x, obj.center.y, obj.center.z, obj.size.x, obj.size.y, obj.size.z });
 }
示例#9
0
 protected override void WriteObject(RangeInt obj, GsWriteStream writeStream)
 {
     writeStream.WriteNext(new [] { obj.start, obj.length });
 }
 protected override void WriteObject(Rect obj, GsWriteStream writeStream)
 {
     writeStream.WriteNext(new [] { obj.position.x, obj.position.y, obj.size.x, obj.size.y });
 }
 protected override void WriteObject(Ray obj, GsWriteStream writeStream)
 {
     writeStream.WriteNext(new [] { obj.origin.x, obj.origin.y, obj.origin.z, obj.direction.x, obj.direction.y, obj.direction.z });
 }
 protected override void WriteObject(Vector3 obj, GsWriteStream writeStream)
 {
     writeStream.WriteNext(new[] { obj.x, obj.y, obj.z });
 }
 protected override void WriteObject(Plane obj, GsWriteStream writeStream)
 {
     writeStream.WriteNext(new [] { obj.normal.x, obj.normal.y, obj.normal.z, obj.distance });
 }
示例#14
0
 protected override void WriteObject(Color obj, GsWriteStream writeStream)
 {
     writeStream.WriteNext(new[] { obj.r, obj.g, obj.b, obj.a });
 }
示例#15
0
 protected override void WriteObject(Quaternion obj, GsWriteStream writeStream)
 {
     writeStream.WriteNext(new[] { obj.x, obj.y, obj.z, obj.w });
 }
 public void OnGsLiveWrite(GsWriteStream writeStream)
 {
     writeStream.WriteNext(Name);
     writeStream.WriteNext(Data);
 }
 public void OnGsLiveWrite(GsWriteStream writeStream)
 {
     writeStream.WriteNext(ObjectNameOrTag);
     writeStream.WriteNext(IsTag);
 }
 public void OnGsLiveWrite(GsWriteStream writeStream)
 {
     writeStream.WriteNext(PrefabName);
     writeStream.WriteNext(Position);
     writeStream.WriteNext(Rotation);
 }