public void SendScreenSpawn(Interfaces.IMapObject obj, bool self) { foreach (Interfaces.IMapObject _obj in Screen.Objects) { if (_obj == null) continue; if (_obj.UID != Entity.UID) { if (_obj.MapObjType == Game.MapObjectType.Player) { GameState client = _obj.Owner as GameState; obj.SendSpawn(client, false); } } } if (self) obj.SendSpawn(this); }
public void SendScreenSpawn(Interfaces.IMapObject obj, bool self) { for (int c = 0; c < Objects.Count; c++) { //For a multi threaded application, while we go through the collection //the collection might change. We will make sure that we wont go off //the limits with a check. if (c >= Objects.Count) break; Interfaces.IMapObject _obj = Objects[c]; if (_obj == null) continue; if (_obj.UID != Owner.Entity.UID) { if (_obj.MapObjType == Game.MapObjectType.Player) { GameState client = _obj.Owner as GameState; obj.SendSpawn(client, false); } } } if (self) obj.SendSpawn(Owner, false); }
public void SendScreenSpawn(Interfaces.IMapObject _object) { foreach (Client.GameState client in Program.Values) { if (client != null) { if (client.Entity.UID != ExcludeFromSend) { if (client.Map.ID == Owner.MapID) { if (ServerBase.Kernel.GetDistance(client.Entity.X, client.Entity.Y, Owner.X, Owner.Y) > 25) { continue; } _object.SendSpawn(client, false); } } } } }
public void SendScreenSpawn(Interfaces.IMapObject obj, bool self) { try { foreach (Interfaces.IMapObject _obj in Screen.Objects) { if (_obj == null) continue; if (_obj.UID != Entity.UID) { if (_obj.MapObjType == Game.MapObjectType.Player) { byte spawnType = 0; GameState client = _obj.Owner as GameState; obj.SendSpawn(client, false); byte[] array = new byte[Entity.SpawnPacket.Length]; Entity.SpawnPacket.CopyTo(array, 0); // array[0x6d] = spawnType; _obj.Owner.Send(array); } } } if (self) obj.SendSpawn(this); } catch (Exception e) { Program.SaveException(e); } }