Exemple #1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="client"></param>
        public Region(SecondLife client)
        {
            Estate        = new EstateTools(client);
            Client        = client;
            ParcelOverlay = new byte[4096];
            ParcelMarked  = new int[64, 64];

            Parcels = new Dictionary <int, Parcel>();
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="client">Reference to the SecondLife client</param>
        /// <param name="address">IPEndPoint of the simulator</param>
        /// <param name="handle">handle of the simulator</param>
        public Simulator(SecondLife client, IPEndPoint address, ulong handle)
            : base(address)
        {
            Client = client;

            ipEndPoint    = address;
            Handle        = handle;
            Estate        = new EstateTools(Client);
            Network       = Client.Network;
            PacketArchive = new Queue <uint>(Settings.PACKET_ARCHIVE_SIZE);
            InBytes       = new Queue <ulong>(Client.Settings.STATS_QUEUE_SIZE);
            OutBytes      = new Queue <ulong>(Client.Settings.STATS_QUEUE_SIZE);
        }
Exemple #3
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="client"></param>
        public Region(SecondLife client)
        {
            Estate        = new EstateTools(client);
            Client        = client;
            ID            = new LLUUID();
            ParcelOverlay = new byte[4096];
            ParcelMarked  = new int[64, 64];

            Parcels = new Dictionary <int, Parcel>();

            SimOwner       = new LLUUID();
            TerrainBase0   = new LLUUID();
            TerrainBase1   = new LLUUID();
            TerrainBase2   = new LLUUID();
            TerrainBase3   = new LLUUID();
            TerrainDetail0 = new LLUUID();
            TerrainDetail1 = new LLUUID();
            TerrainDetail2 = new LLUUID();
            TerrainDetail3 = new LLUUID();
        }
Exemple #4
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="client"></param>
        /// <param name="id"></param>
        /// <param name="handle"></param>
        /// <param name="name"></param>
        /// <param name="heightList"></param>
        /// <param name="simOwner"></param>
        /// <param name="terrainImages"></param>
        /// <param name="isEstateManager"></param>
        public Region(SecondLife client, LLUUID id, ulong handle, string name, float[] heightList,
                      LLUUID simOwner, LLUUID[] terrainImages, bool isEstateManager)
        {
            Client            = client;
            Estate            = new EstateTools(client);
            ID                = id;
            Handle            = handle;
            Name              = name;
            ParcelOverlay     = new byte[4096];
            ParcelMarked      = new int[64, 64];
            ParcelDownloading = false;
            ParcelDwell       = false;

            TerrainHeightRange00 = heightList[0];
            TerrainHeightRange01 = heightList[1];
            TerrainHeightRange10 = heightList[2];
            TerrainHeightRange11 = heightList[3];
            TerrainStartHeight00 = heightList[4];
            TerrainStartHeight01 = heightList[5];
            TerrainStartHeight10 = heightList[6];
            TerrainStartHeight11 = heightList[7];
            WaterHeight          = heightList[8];

            SimOwner = simOwner;

            TerrainBase0   = terrainImages[0];
            TerrainBase1   = terrainImages[1];
            TerrainBase2   = terrainImages[2];
            TerrainBase3   = terrainImages[3];
            TerrainDetail0 = terrainImages[4];
            TerrainDetail1 = terrainImages[5];
            TerrainDetail2 = terrainImages[6];
            TerrainDetail3 = terrainImages[7];

            IsEstateManager = isEstateManager;
        }
        /// <summary>
        /// 
        /// </summary>
        /// <param name="client"></param>
        /// <param name="id"></param>
        /// <param name="handle"></param>
        /// <param name="name"></param>
        /// <param name="heightList"></param>
        /// <param name="simOwner"></param>
        /// <param name="terrainImages"></param>
        /// <param name="isEstateManager"></param>
        public Region(SecondLife client, LLUUID id, ulong handle, string name, float[] heightList,
                LLUUID simOwner, LLUUID[] terrainImages, bool isEstateManager)
        {
            Client = client;
            Estate = new EstateTools(client);
            ID = id;
            Handle = handle;
            Name = name;
            ParcelOverlay = new byte[4096];
            ParcelMarked = new int[64, 64];
            ParcelDownloading = false;
            ParcelDwell = false;

            TerrainHeightRange00 = heightList[0];
            TerrainHeightRange01 = heightList[1];
            TerrainHeightRange10 = heightList[2];
            TerrainHeightRange11 = heightList[3];
            TerrainStartHeight00 = heightList[4];
            TerrainStartHeight01 = heightList[5];
            TerrainStartHeight10 = heightList[6];
            TerrainStartHeight11 = heightList[7];
            WaterHeight = heightList[8];

            SimOwner = simOwner;

            TerrainBase0 = terrainImages[0];
            TerrainBase1 = terrainImages[1];
            TerrainBase2 = terrainImages[2];
            TerrainBase3 = terrainImages[3];
            TerrainDetail0 = terrainImages[4];
            TerrainDetail1 = terrainImages[5];
            TerrainDetail2 = terrainImages[6];
            TerrainDetail3 = terrainImages[7];

            IsEstateManager = isEstateManager;
        }
        /// <summary>
        /// 
        /// </summary>
        /// <param name="client"></param>
        public Region(SecondLife client)
        {
            Estate = new EstateTools(client);
            Client = client;
            ParcelOverlay = new byte[4096];
            ParcelMarked = new int[64, 64];

            Parcels = new Dictionary<int, Parcel>();
        }
Exemple #7
0
        /// <summary>
        /// 
        /// </summary>
        /// <param name="client">Reference to the SecondLife client</param>
        /// <param name="address">IPEndPoint of the simulator</param>
        /// <param name="handle">handle of the simulator</param>
        public Simulator(SecondLife client, IPEndPoint address, ulong handle)
            : base(address)
        {
            Client = client;

            ipEndPoint = address;
            Handle = handle;
            Estate = new EstateTools(Client);
            Network = Client.Network;
            PacketArchive = new Queue<uint>(Settings.PACKET_ARCHIVE_SIZE);
            InBytes = new Queue<ulong>(Client.Settings.STATS_QUEUE_SIZE);
            OutBytes = new Queue<ulong>(Client.Settings.STATS_QUEUE_SIZE);
        }
Exemple #8
0
        /// <summary>
        /// 
        /// </summary>
        /// <param name="client">Reference to the SecondLife client</param>
        /// <param name="port"></param>
        public Simulator(SecondLife client, IPEndPoint address, ulong handle)
            : base(address)
        {
            Client = client;

            ipEndPoint = address;
            Handle = handle;
            Estate = new EstateTools(Client);
            Network = Client.Network;
            PacketArchive = new Queue<uint>(Settings.PACKET_ARCHIVE_SIZE);
            InBytes = new Queue<ulong>(Client.Settings.STATS_QUEUE_SIZE);
            OutBytes = new Queue<ulong>(Client.Settings.STATS_QUEUE_SIZE);

            // Timer for sending out queued packet acknowledgements
            AckTimer = new System.Timers.Timer(Settings.NETWORK_TICK_INTERVAL);
            AckTimer.Elapsed += new System.Timers.ElapsedEventHandler(AckTimer_Elapsed);
            // Timer for recording simulator connection statistics
            StatsTimer = new System.Timers.Timer(1000);
            StatsTimer.Elapsed += new System.Timers.ElapsedEventHandler(StatsTimer_Elapsed);
            // Timer for periodically pinging the simulator
            PingTimer = new System.Timers.Timer(Settings.PING_INTERVAL);
            PingTimer.Elapsed += new System.Timers.ElapsedEventHandler(PingTimer_Elapsed);
        }
        /// <summary>
        /// 
        /// </summary>
        /// <param name="client"></param>
        public Region(SecondLife client)
        {
            Estate = new EstateTools(client);
            Client = client;
            ID = new LLUUID();
            ParcelOverlay = new byte[4096];
            ParcelMarked = new int[64, 64];

            Parcels = new Dictionary<int, Parcel>();

            SimOwner = new LLUUID();
            TerrainBase0 = new LLUUID();
            TerrainBase1 = new LLUUID();
            TerrainBase2 = new LLUUID();
            TerrainBase3 = new LLUUID();
            TerrainDetail0 = new LLUUID();
            TerrainDetail1 = new LLUUID();
            TerrainDetail2 = new LLUUID();
            TerrainDetail3 = new LLUUID();
        }
Exemple #10
0
        /// <summary>
        /// Default constructor
        /// </summary>
        /// <param name="client">Reference to the SecondLife client</param>
        /// <param name="address">IP address and port of the simulator</param>
        public Simulator(SecondLife client, IPEndPoint address)
        {
            Client = client;

            Estate = new EstateTools(Client);
            Network = client.Network;
            PacketArchive = new Queue<uint>(Settings.PACKET_ARCHIVE_SIZE);
            InBytes = new Queue<ulong>(Client.Settings.STATS_QUEUE_SIZE);
            OutBytes = new Queue<ulong>(Client.Settings.STATS_QUEUE_SIZE);

            // Create an endpoint that we will be communicating with (need it in two 
            // types due to .NET weirdness)
            ipEndPoint = address;
            endPoint = (EndPoint)ipEndPoint;

            // Initialize the callback for receiving a new packet
            ReceivedData = new AsyncCallback(OnReceivedData);

            AckTimer = new System.Timers.Timer(Settings.NETWORK_TICK_LENGTH);
            AckTimer.Elapsed += new System.Timers.ElapsedEventHandler(AckTimer_Elapsed);

            StatsTimer = new System.Timers.Timer(1000);
            StatsTimer.Elapsed += new System.Timers.ElapsedEventHandler(StatsTimer_Elapsed);

            PingTimer = new System.Timers.Timer(Settings.PING_INTERVAL);
            PingTimer.Elapsed += new System.Timers.ElapsedEventHandler(PingTimer_Elapsed);
        }