示例#1
0
        public static void VelocityRot(Game game, string itemId, Vector vel, Vector?rot, Vector?mouseFwd, bool isMegaThrust, bool sendReliable)
        {
            var data = new Dictionary <byte, object> {
                { (byte)ParameterCode.Velocity, vel }
            };

            if (itemId != null)
            {
                data.Add((byte)ParameterCode.ItemId, itemId);
            }

            if (rot != null)
            {
                data.Add((byte)ParameterCode.Rotation, rot);
            }
            if (mouseFwd != null)
            {
                data.Add((byte)ParameterCode.MouseFwd, mouseFwd);
            }
            if (isMegaThrust == true)
            {
                data.Add((byte)ParameterCode.IsMegaThrust, true);
            }

            game.SendOperation(OperationCode.VelocityRotation, data, sendReliable, Settings.ItemChannel);
        }
示例#2
0
        /// <summary>
        /// The set properties.
        /// </summary>
        /// <param name="game">
        /// The mmo game.
        /// </param>
        /// <param name="itemId">
        /// The item id.
        /// </param>
        /// <param name="itemType">
        /// The item type.
        /// </param>
        /// <param name="propertiesSet">
        /// The properties set.
        /// </param>
        /// <param name="propertiesUnset">
        /// The properties unset.
        /// </param>
        /// <param name="sendReliable">
        /// The send Reliable.
        /// </param>
        public static void SetProperties(Game game, string itemId, byte?itemType, Hashtable propertiesSet, ArrayList propertiesUnset, bool sendReliable)
        {
            var data = new Dictionary <byte, object>();

            if (propertiesSet != null)
            {
                data.Add((byte)ParameterCode.PropertiesSet, propertiesSet);
            }

            if (propertiesUnset != null)
            {
                data.Add((byte)ParameterCode.PropertiesUnset, propertiesUnset);
            }

            if (itemId != null)
            {
                data.Add((byte)ParameterCode.ItemId, itemId);
            }

            if (itemType.HasValue)
            {
                data.Add((byte)ParameterCode.ItemType, itemType.Value);
            }

            game.SendOperation(OperationCode.SetProperties, data, sendReliable, Settings.ItemChannel);
        }
示例#3
0
        /// <summary>
        /// The raise generic event.
        /// </summary>
        /// <param name="game">
        /// The mmo game.
        /// </param>
        /// <param name="itemId">
        /// The item id.
        /// </param>
        /// <param name="itemType">
        /// The item type.
        /// </param>
        /// <param name="customEventCode">
        /// The custom event code.
        /// </param>
        /// <param name="eventData">
        /// The event data.
        /// </param>
        /// <param name="eventReliability">
        /// The event reliability.
        /// </param>
        /// <param name="eventReceiver">
        /// The event receiver.
        /// </param>
        public static void RaiseGenericEvent(
            Game game, string itemId, byte?itemType, byte customEventCode, object eventData, byte eventReliability, EventReceiver eventReceiver)
        {
            var data = new Dictionary <byte, object>
            {
                { (byte)ParameterCode.CustomEventCode, customEventCode },
                { (byte)ParameterCode.EventReliability, eventReliability },
                { (byte)ParameterCode.EventReceiver, (byte)eventReceiver }
            };

            if (eventData != null)
            {
                data.Add((byte)ParameterCode.EventData, eventData);
            }

            if (itemId != null)
            {
                data.Add((byte)ParameterCode.ItemId, itemId);
            }

            if (itemType.HasValue)
            {
                data.Add((byte)ParameterCode.ItemType, itemType.Value);
            }

            game.SendOperation(OperationCode.RaiseGenericEvent, data, true, Settings.ItemChannel);
        }
示例#4
0
        /// <summary>
        /// The unsubscribe item.
        /// </summary>
        /// <param name="game">
        /// The mmo game.
        /// </param>
        /// <param name="itemId">
        /// The item id.
        /// </param>
        /// <param name="itemType">
        /// The item type.
        /// </param>
        public static void UnsubscribeItem(Game game, string itemId, byte itemType)
        {
            var data = new Dictionary <byte, object> {
                { (byte)ParameterCode.ItemId, itemId }, { (byte)ParameterCode.ItemType, itemType }
            };

            game.SendOperation(OperationCode.UnsubscribeItem, data, true, Settings.ItemChannel);
        }
示例#5
0
        public static void MoveInterestArea(Game game, byte cameraId, Vector position)
        {
            var data = new Dictionary <byte, object> {
                { (byte)ParameterCode.InterestAreaId, cameraId }, { (byte)ParameterCode.Position, position }
            };

            game.SendOperation(OperationCode.MoveInterestArea, data, true, Settings.ItemChannel);
        }
示例#6
0
        public static void DestroyItem(Game game, string itemId)
        {
            var data = new Dictionary <byte, object> {
                { (byte)ParameterCode.ItemId, itemId }
            };

            game.SendOperation(OperationCode.DestroyItem, data, true, Settings.ItemChannel);
        }
示例#7
0
        public static void RemoveInterestArea(Game game, byte cameraId)
        {
            var data = new Dictionary <byte, object> {
                { (byte)ParameterCode.InterestAreaId, cameraId }
            };

            game.SendOperation(OperationCode.RemoveInterestArea, data, true, Settings.ItemChannel);
        }
示例#8
0
        public static void SetViewDistance(Game game, Vector viewDistanceEnter, Vector viewDistanceExit)
        {
            var data = new Dictionary <byte, object>
            {
                { (byte)ParameterCode.ViewDistanceEnter, viewDistanceEnter }, { (byte)ParameterCode.ViewDistanceExit, viewDistanceExit }
            };

            game.SendOperation(OperationCode.SetViewDistance, data, true, Settings.ItemChannel);
        }
示例#9
0
 public static void CreateWorld(Game game, string worldName, BoundingBox boundingBox, Vector tileDimensions)
 {
     var data = new Dictionary<byte, object>
         {
             { (byte)ParameterCode.WorldName, worldName },
             { (byte)ParameterCode.BoundingBox, boundingBox },
             { (byte)ParameterCode.TileDimensions, tileDimensions }
         };
     game.SendOperation(OperationCode.CreateWorld, data, true, Settings.OperationChannel);
 }
示例#10
0
        // todo: probably want to add playerid here to avoid friendly fire
        public static void FireLaser(Game game, string itemId, bool sendReliable)
        {
            var data = new Dictionary <byte, object>();

            if (itemId != null)
            {
                data.Add((byte)ParameterCode.ItemId, itemId);
            }
            game.SendOperation(OperationCode.FireLaser, data, sendReliable, Settings.ItemChannel);
        }
示例#11
0
        public static void CreateWorld(Game game, string worldName, BoundingBox boundingBox, Vector tileDimensions)
        {
            var data = new Dictionary <byte, object>
            {
                { (byte)ParameterCode.WorldName, worldName },
                { (byte)ParameterCode.BoundingBox, boundingBox },
                { (byte)ParameterCode.TileDimensions, tileDimensions }
            };

            game.SendOperation(OperationCode.CreateWorld, data, true, Settings.OperationChannel);
        }
示例#12
0
        public static void AttachInterestArea(Game game, string itemId)
        {
            var data = new Dictionary<byte, object>();

            if (!string.IsNullOrEmpty(itemId))
            {
                data.Add((byte)ParameterCode.ItemId, itemId);
            }

            game.SendOperation(OperationCode.AttachInterestArea, data, true, Settings.ItemChannel);
        }
示例#13
0
        public static void AttachInterestArea(Game game, string itemId)
        {
            var data = new Dictionary <byte, object>();

            if (!string.IsNullOrEmpty(itemId))
            {
                data.Add((byte)ParameterCode.ItemId, itemId);
            }

            game.SendOperation(OperationCode.AttachInterestArea, data, true, Settings.ItemChannel);
        }
示例#14
0
        /// <summary>
        /// The create world.
        /// </summary>
        /// <param name="game">
        /// The mmo game.
        /// </param>
        /// <param name="worldName">
        /// The world name.
        /// </param>
        /// <param name="topLeftCorner">
        /// The top left corner.
        /// </param>
        /// <param name="bottomRightCorner">
        /// The bottom right corner.
        /// </param>
        /// <param name="tileDimensions">
        /// The tile dimensions.
        /// </param>
        public static void CreateWorld(Game game, string worldName, float[] topLeftCorner, float[] bottomRightCorner, float[] tileDimensions)
        {
            var data = new Dictionary <byte, object>
            {
                { (byte)ParameterCode.WorldName, worldName },
                { (byte)ParameterCode.TopLeftCorner, topLeftCorner },
                { (byte)ParameterCode.BottomRightCorner, bottomRightCorner },
                { (byte)ParameterCode.TileDimensions, tileDimensions }
            };

            game.SendOperation(OperationCode.CreateWorld, data, true, Settings.OperationChannel);
        }
示例#15
0
        public static void AddInterestArea(Game game, byte cameraId, Vector position, Vector viewDistanceEnter, Vector viewDistanceExit)
        {
            var data = new Dictionary <byte, object>
            {
                { (byte)ParameterCode.InterestAreaId, cameraId },
                { (byte)ParameterCode.ViewDistanceEnter, viewDistanceEnter },
                { (byte)ParameterCode.ViewDistanceExit, viewDistanceExit },
                { (byte)ParameterCode.Position, position }
            };

            game.SendOperation(OperationCode.AddInterestArea, data, true, Settings.ItemChannel);
        }
示例#16
0
        public static void StartSuperFast(Game game, string itemId, Vector rot, bool sendReliable)
        {
            var data = new Dictionary <byte, object>();

            if (itemId != null)
            {
                data.Add((byte)ParameterCode.ItemId, itemId);
            }

            data.Add((byte)ParameterCode.Rotation, rot);
            game.SendOperation(OperationCode.StartSuperFast, data, sendReliable, Settings.ItemChannel);
        }
示例#17
0
        /// <summary>
        /// The add interest area.
        /// </summary>
        /// <param name="game">
        /// The mmo game.
        /// </param>
        /// <param name="cameraId">
        /// The camera id.
        /// </param>
        /// <param name="position">
        /// The position.
        /// </param>
        /// <param name="viewDistanceEnter">
        /// The view distance enter.
        /// </param>
        /// <param name="viewDistanceExit">
        /// The view distance exit.
        /// </param>
        public static void AddInterestArea(Game game, byte cameraId, float[] position, float[] viewDistanceEnter, float[] viewDistanceExit)
        {
            var data = new Dictionary<byte, object>
                {
                    { (byte)ParameterCode.InterestAreaId, cameraId }, 
                    { (byte)ParameterCode.ViewDistanceEnter, viewDistanceEnter }, 
                    { (byte)ParameterCode.ViewDistanceExit, viewDistanceExit }, 
                    { (byte)ParameterCode.Position, position }
                };

            game.SendOperation(OperationCode.AddInterestArea, data, true, Settings.ItemChannel);
        }
示例#18
0
        public static void FireBullet(Game game, Vector position, Vector rotation, float velx, float vely, bool sendReliable)
        {
            var data = new Dictionary <byte, object> {
                { (byte)ParameterCode.Position, position }
            };

            if (!rotation.IsZero)
            {
                data.Add((byte)ParameterCode.Rotation, rotation);
                //  data.Add( (byte)ParameterCode.OldRotation, new Vector(velx, vely)); // this is actually avatar velocity
            }
            game.SendOperation(OperationCode.FireBullet, data, sendReliable, Settings.ItemChannel);
        }
示例#19
0
        public static void GetProperties(Game game, string itemId, int?knownRevision)
        {
            var data = new Dictionary <byte, object> {
                { (byte)ParameterCode.ItemId, itemId }
            };

            if (knownRevision.HasValue)
            {
                data.Add((byte)ParameterCode.PropertiesRevision, knownRevision.Value);
            }

            game.SendOperation(OperationCode.GetProperties, data, true, Settings.ItemChannel);
        }
示例#20
0
        public static void SubscribeItem(Game game, string itemId, ItemType itemType, int?propertiesRevision)
        {
            var data = new Dictionary <byte, object> {
                { (byte)ParameterCode.ItemId, itemId }, { (byte)ParameterCode.ItemType, (byte)itemType }
            };

            if (propertiesRevision.HasValue)
            {
                data.Add((byte)ParameterCode.PropertiesRevision, propertiesRevision);
            }

            game.SendOperation(OperationCode.SubscribeItem, data, true, Settings.ItemChannel);
        }
示例#21
0
        public static void LaunchBomb(Game game, Vector rotation, string itemId, bool sendReliable)
        {
            var data = new Dictionary <byte, object>();

            if (itemId != null)
            {
                data.Add((byte)ParameterCode.ItemId, itemId);
            }
            if (!rotation.IsZero)
            {
                data.Add((byte)ParameterCode.Rotation, rotation);
                //  data.Add( (byte)ParameterCode.OldRotation, new Vector(velx, vely)); // this is actually avatar velocity
            }
            game.SendOperation(OperationCode.ShootBomb, data, sendReliable, Settings.ItemChannel);
        }
示例#22
0
        public static void Move(Game game, string itemId, Vector position, Vector rotation, bool sendReliable)
        {
            var data = new Dictionary <byte, object> {
                { (byte)ParameterCode.Position, position }
            };

            if (itemId != null)
            {
                data.Add((byte)ParameterCode.ItemId, itemId);
            }

            if (!rotation.IsZero)
            {
                data.Add((byte)ParameterCode.Rotation, rotation);
            }

            game.SendOperation(OperationCode.Move, data, sendReliable, Settings.ItemChannel);
        }
示例#23
0
        public static void SpawnItem(Game game, string itemId, ItemType itemType, Vector position, Vector rotation, Hashtable properties, bool subscribe)
        {
            var data = new Dictionary <byte, object>
            {
                { (byte)ParameterCode.Position, position },
                { (byte)ParameterCode.ItemId, itemId },
                { (byte)ParameterCode.ItemType, (byte)itemType },
                { (byte)ParameterCode.Subscribe, subscribe }
            };

            if (properties != null)
            {
                data.Add((byte)ParameterCode.Properties, properties);
            }

            if (!rotation.IsZero)
            {
                data.Add((byte)ParameterCode.Rotation, rotation);
            }

            game.SendOperation(OperationCode.SpawnItem, data, true, Settings.ItemChannel);
        }
示例#24
0
        /// <summary>
        /// The move operation.
        /// </summary>
        /// <param name="game">
        /// The mmo game.
        /// </param>
        /// <param name="itemId">
        /// The item id.
        /// </param>
        /// <param name="itemType">
        /// The item type.
        /// </param>
        /// <param name="position">
        /// The position.
        /// </param>
        /// <param name="rotation">
        /// The rotation.
        /// </param>
        /// <param name="sendReliable">
        /// The send Reliable.
        /// </param>
        public static void Move(Game game, string itemId, byte?itemType, float[] position, float[] rotation, bool sendReliable)
        {
            var data = new Dictionary <byte, object> {
                { (byte)ParameterCode.Position, position }
            };

            if (itemId != null)
            {
                data.Add((byte)ParameterCode.ItemId, itemId);
            }

            if (itemType.HasValue)
            {
                data.Add((byte)ParameterCode.ItemType, itemType.Value);
            }

            if (rotation != null)
            {
                data.Add((byte)ParameterCode.Rotation, rotation);
            }

            game.SendOperation(OperationCode.Move, data, sendReliable, Settings.ItemChannel);
        }
示例#25
0
        public static void EnterWorld(
            Game game, string worldName, string username, Hashtable properties, Vector position, Vector rotation, Vector viewDistanceEnter, Vector viewDistanceExit)
        {
            var data = new Dictionary <byte, object>
            {
                { (byte)ParameterCode.WorldName, worldName },
                { (byte)ParameterCode.Username, username },
                { (byte)ParameterCode.Position, position },
                { (byte)ParameterCode.ViewDistanceEnter, viewDistanceEnter },
                { (byte)ParameterCode.ViewDistanceExit, viewDistanceExit }
            };

            if (properties != null)
            {
                data.Add((byte)ParameterCode.Properties, properties);
            }

            if (!rotation.IsZero)
            {
                data.Add((byte)ParameterCode.Rotation, rotation);
            }

            game.SendOperation(OperationCode.EnterWorld, data, true, Settings.OperationChannel);
        }
示例#26
0
        /// <summary>
        /// The set properties.
        /// </summary>
        /// <param name="game">
        /// The mmo game.
        /// </param>
        /// <param name="itemId">
        /// The item id.
        /// </param>
        /// <param name="itemType">
        /// The item type.
        /// </param>
        /// <param name="propertiesSet">
        /// The properties set.
        /// </param>
        /// <param name="propertiesUnset">
        /// The properties unset.
        /// </param>
        /// <param name="sendReliable">
        /// The send Reliable.
        /// </param>
        public static void SetProperties(Game game, string itemId, byte? itemType, Hashtable propertiesSet, ArrayList propertiesUnset, bool sendReliable)
        {
            var data = new Dictionary<byte, object>();
            if (propertiesSet != null)
            {
                data.Add((byte)ParameterCode.PropertiesSet, propertiesSet);
            }

            if (propertiesUnset != null)
            {
                data.Add((byte)ParameterCode.PropertiesUnset, propertiesUnset);
            }

            if (itemId != null)
            {
                data.Add((byte)ParameterCode.ItemId, itemId);
            }

            if (itemType.HasValue)
            {
                data.Add((byte)ParameterCode.ItemType, itemType.Value);
            }

            game.SendOperation(OperationCode.SetProperties, data, sendReliable, Settings.ItemChannel);
        }
示例#27
0
 public static void ExitWorld(Game game)
 {
     game.SendOperation(OperationCode.ExitWorld, new Dictionary <byte, object>(), true, Settings.OperationChannel);
 }
示例#28
0
        /// <summary>
        /// The remove interest area.
        /// </summary>
        /// <param name="game">
        /// The mmo game.
        /// </param>
        /// <param name="cameraId">
        /// The camera id.
        /// </param>
        public static void RemoveInterestArea(Game game, byte cameraId)
        {
            var data = new Dictionary<byte, object> { { (byte)ParameterCode.InterestAreaId, cameraId } };

            game.SendOperation(OperationCode.RemoveInterestArea, data, true, Settings.ItemChannel);
        }
示例#29
0
        /// <summary>
        /// The raise generic event.
        /// </summary>
        /// <param name="game">
        /// The mmo game.
        /// </param>
        /// <param name="itemId">
        /// The item id.
        /// </param>
        /// <param name="itemType">
        /// The item type.
        /// </param>
        /// <param name="customEventCode">
        /// The custom event code.
        /// </param>
        /// <param name="eventData">
        /// The event data.
        /// </param>
        /// <param name="eventReliability">
        /// The event reliability.
        /// </param>
        /// <param name="eventReceiver">
        /// The event receiver.
        /// </param>
        public static void RaiseGenericEvent(
            Game game, string itemId, byte? itemType, byte customEventCode, object eventData, byte eventReliability, EventReceiver eventReceiver)
        {
            var data = new Dictionary<byte, object>
                {
                    { (byte)ParameterCode.CustomEventCode, customEventCode }, 
                    { (byte)ParameterCode.EventReliability, eventReliability }, 
                    { (byte)ParameterCode.EventReceiver, (byte)eventReceiver }
                };

            if (eventData != null)
            {
                data.Add((byte)ParameterCode.EventData, eventData);
            }

            if (itemId != null)
            {
                data.Add((byte)ParameterCode.ItemId, itemId);
            }

            if (itemType.HasValue)
            {
                data.Add((byte)ParameterCode.ItemType, itemType.Value);
            }

            game.SendOperation(OperationCode.RaiseGenericEvent, data, true, Settings.ItemChannel);
        }
示例#30
0
        /// <summary>
        /// The move camera.
        /// </summary>
        /// <param name="game">
        /// The mmo game.
        /// </param>
        /// <param name="cameraId">
        /// The camera id.
        /// </param>
        /// <param name="position">
        /// The position.
        /// </param>
        public static void MoveInterestArea(Game game, byte cameraId, float[] position)
        {
            var data = new Dictionary<byte, object> { { (byte)ParameterCode.InterestAreaId, cameraId }, { (byte)ParameterCode.Position, position } };

            game.SendOperation(OperationCode.MoveInterestArea, data, true, Settings.ItemChannel);
        }
示例#31
0
        /// <summary>
        /// The move operation.
        /// </summary>
        /// <param name="game">
        /// The mmo game.
        /// </param>
        /// <param name="itemId">
        /// The item id.
        /// </param>
        /// <param name="itemType">
        /// The item type.
        /// </param>
        /// <param name="position">
        /// The position.
        /// </param>
        /// <param name="rotation">
        /// The rotation.
        /// </param>
        /// <param name="sendReliable">
        /// The send Reliable.
        /// </param>
        public static void Move(Game game, string itemId, byte? itemType, float[] position, float[] rotation, bool sendReliable)
        {
            var data = new Dictionary<byte, object> { { (byte)ParameterCode.Position, position } };
            if (itemId != null)
            {
                data.Add((byte)ParameterCode.ItemId, itemId);
            }

            if (itemType.HasValue)
            {
                data.Add((byte)ParameterCode.ItemType, itemType.Value);
            }

            if (rotation != null)
            {
                data.Add((byte)ParameterCode.Rotation, rotation);
            }

            game.SendOperation(OperationCode.Move, data, sendReliable, Settings.ItemChannel);
        }
示例#32
0
        /// <summary>
        /// The subscribe item.
        /// </summary>
        /// <param name="game">
        /// The mmo game.
        /// </param>
        /// <param name="itemId">
        /// The item id.
        /// </param>
        /// <param name="itemType">
        /// The item type.
        /// </param>
        /// <param name="propertiesRevision">
        /// The properties revision.
        /// </param>
        public static void SubscribeItem(Game game, string itemId, byte itemType, int? propertiesRevision)
        {
            var data = new Dictionary<byte, object> { { (byte)ParameterCode.ItemId, itemId }, { (byte)ParameterCode.ItemType, itemType } };
            if (propertiesRevision.HasValue)
            {
                data.Add((byte)ParameterCode.PropertiesRevision, propertiesRevision);
            }

            game.SendOperation(OperationCode.SubscribeItem, data, true, Settings.ItemChannel);
        }
示例#33
0
        /// <summary>
        /// The enter world.
        /// </summary>
        /// <param name="game">
        /// The mmo game.
        /// </param>
        /// <param name="worldName">
        /// The world name.
        /// </param>
        /// <param name="username">
        /// The username.
        /// </param>
        /// <param name="properties">
        /// The properties.
        /// </param>
        /// <param name="position">
        /// The position.
        /// </param>
        /// <param name="rotation">
        /// The rotation.
        /// </param>
        /// <param name="viewDistanceEnter">
        /// The view Distance Enter.
        /// </param>
        /// <param name="viewDistanceExit">
        /// The view Distance Exit.
        /// </param>
        public static void EnterWorld(
            Game game, string worldName, string username, Hashtable properties, float[] position, float[] rotation, float[] viewDistanceEnter, float[] viewDistanceExit)
        {
            var data = new Dictionary<byte, object>
                {
                    { (byte)ParameterCode.WorldName, worldName }, 
                    { (byte)ParameterCode.Username, username }, 
                    { (byte)ParameterCode.Position, position }, 
                    { (byte)ParameterCode.ViewDistanceEnter, viewDistanceEnter }, 
                    { (byte)ParameterCode.ViewDistanceExit, viewDistanceExit }
                };
            if (properties != null)
            {
                data.Add((byte)ParameterCode.Properties, properties);
            }

            if (rotation != null)
            {
                data.Add((byte)ParameterCode.Rotation, rotation);
            }

            game.SendOperation(OperationCode.EnterWorld, data, true, Settings.OperationChannel);
        }
示例#34
0
 /// <summary>
 /// The detach camera.
 /// </summary>
 /// <param name="game">
 /// The mmo game.
 /// </param>
 public static void DetachInterestArea(Game game)
 {
     game.SendOperation(OperationCode.DetachInterestArea, new Dictionary<byte, object>(), true, Settings.ItemChannel);
 }
示例#35
0
 /// <summary>
 /// The create world.
 /// </summary>
 /// <param name="game">
 /// The mmo game.
 /// </param>
 /// <param name="worldName">
 /// The world name.
 /// </param>
 /// <param name="topLeftCorner">
 /// The top left corner.
 /// </param>
 /// <param name="bottomRightCorner">
 /// The bottom right corner.
 /// </param>
 /// <param name="tileDimensions">
 /// The tile dimensions.
 /// </param>
 public static void CreateWorld(Game game, string worldName, float[] topLeftCorner, float[] bottomRightCorner, float[] tileDimensions)
 {
     var data = new Dictionary<byte, object>
         {
             { (byte)ParameterCode.WorldName, worldName }, 
             { (byte)ParameterCode.TopLeftCorner, topLeftCorner }, 
             { (byte)ParameterCode.BottomRightCorner, bottomRightCorner }, 
             { (byte)ParameterCode.TileDimensions, tileDimensions }
         };
     game.SendOperation(OperationCode.CreateWorld, data, true, Settings.OperationChannel);
 }
示例#36
0
 public static void DetachInterestArea(Game game)
 {
     game.SendOperation(OperationCode.DetachInterestArea, new Dictionary <byte, object>(), true, Settings.ItemChannel);
 }
示例#37
0
 public static void DestroyItem(Game game, string itemId)
 {
     var data = new Dictionary<byte, object> { { (byte)ParameterCode.ItemId, itemId } };
     game.SendOperation(OperationCode.DestroyItem, data, true, Settings.ItemChannel);
 }
示例#38
0
 /// <summary>
 /// The set view distance.
 /// </summary>
 /// <param name="game">
 /// The mmo game.
 /// </param>
 /// <param name="viewDistanceEnter">
 /// The view Distance Enter.
 /// </param>
 /// <param name="viewDistanceExit">
 /// The view Distance Exit.
 /// </param>
 public static void SetViewDistance(Game game, float[] viewDistanceEnter, float[] viewDistanceExit)
 {
     var data = new Dictionary<byte, object>
         {
             { (byte)ParameterCode.ViewDistanceEnter, viewDistanceEnter }, { (byte)ParameterCode.ViewDistanceExit, viewDistanceExit } 
         };
     game.SendOperation(OperationCode.SetViewDistance, data, true, Settings.ItemChannel);
 }
示例#39
0
 /// <summary>
 /// The exit world.
 /// </summary>
 /// <param name="game">
 /// The mmo game.
 /// </param>
 public static void ExitWorld(Game game)
 {
     game.SendOperation(OperationCode.ExitWorld, new Dictionary<byte, object>(), true, Settings.OperationChannel);
 }
示例#40
0
        /// <summary>
        /// The spawn item.
        /// </summary>
        /// <param name="game">
        /// The mmo game.
        /// </param>
        /// <param name="itemId">
        /// The item id.
        /// </param>
        /// <param name="itemType">
        /// The item type.
        /// </param>
        /// <param name="position">
        /// The position.
        /// </param>
        /// <param name="rotation">
        /// The rotation.
        /// </param>
        /// <param name="properties">
        /// The properties.
        /// </param>
        /// <param name="subscribe">
        /// The subscribe.
        /// </param>
        public static void SpawnItem(Game game, string itemId, byte itemType, float[] position, float[] rotation, Hashtable properties, bool subscribe)
        {
            var data = new Dictionary<byte, object>
                {
                    { (byte)ParameterCode.Position, position }, 
                    { (byte)ParameterCode.ItemId, itemId }, 
                    { (byte)ParameterCode.ItemType, itemType }, 
                    { (byte)ParameterCode.Subscribe, subscribe }
                };
            if (properties != null)
            {
                data.Add((byte)ParameterCode.Properties, properties);
            }

            if (rotation != null)
            {
                data.Add((byte)ParameterCode.Rotation, rotation);
            }

            game.SendOperation(OperationCode.SpawnItem, data, true, Settings.ItemChannel);
        }
示例#41
0
        public static void Move(Game game, string itemId, Vector position, Vector rotation, bool sendReliable)
        {
            var data = new Dictionary<byte, object> { { (byte)ParameterCode.Position, position } };
            if (itemId != null)
            {
                data.Add((byte)ParameterCode.ItemId, itemId);
            }

            if (!rotation.IsZero)
            {
                data.Add((byte)ParameterCode.Rotation, rotation);
            }

            game.SendOperation(OperationCode.Move, data, sendReliable, Settings.ItemChannel);
        }
示例#42
0
        /// <summary>
        /// The unsubscribe item.
        /// </summary>
        /// <param name="game">
        /// The mmo game.
        /// </param>
        /// <param name="itemId">
        /// The item id.
        /// </param>
        /// <param name="itemType">
        /// The item type.
        /// </param>
        public static void UnsubscribeItem(Game game, string itemId, byte itemType)
        {
            var data = new Dictionary<byte, object> { { (byte)ParameterCode.ItemId, itemId }, { (byte)ParameterCode.ItemType, itemType } };

            game.SendOperation(OperationCode.UnsubscribeItem, data, true, Settings.ItemChannel);
        }
示例#43
0
        public static void GetProperties(Game game, string itemId, int? knownRevision)
        {
            var data = new Dictionary<byte, object> { { (byte)ParameterCode.ItemId, itemId } };
            if (knownRevision.HasValue)
            {
                data.Add((byte)ParameterCode.PropertiesRevision, knownRevision.Value);
            }

            game.SendOperation(OperationCode.GetProperties, data, true, Settings.ItemChannel);
        }