From 5f393102b1b474ef0ee8b7afd86201194d28fe06 Mon Sep 17 00:00:00 2001
From: gareth
Date: Sun, 20 May 2007 01:10:29 +0000
Subject: Done more work on the world map downloading functionality
---
.../GridServerConnectionManager.cs | 28 ++++++++++++++++++++++
.../OpenGridServices.Manager/Main.cs | 3 ++-
.../OpenGridServices.Manager/MainWindow.cs | 7 +++++-
.../OpenGridServices.Manager.mdp | 1 +
4 files changed, 37 insertions(+), 2 deletions(-)
diff --git a/OpenGridServices.Manager/OpenGridServices.Manager/GridServerConnectionManager.cs b/OpenGridServices.Manager/OpenGridServices.Manager/GridServerConnectionManager.cs
index 668a1b8..1694805 100644
--- a/OpenGridServices.Manager/OpenGridServices.Manager/GridServerConnectionManager.cs
+++ b/OpenGridServices.Manager/OpenGridServices.Manager/GridServerConnectionManager.cs
@@ -1,5 +1,8 @@
using Nwc.XmlRpc;
using System;
+using System.Net;
+using System.IO;
+using System.Xml;
using System.Collections;
using System.Collections.Generic;
using libsecondlife;
@@ -12,6 +15,8 @@ namespace OpenGridServices.Manager
public LLUUID SessionID;
public bool connected=false;
+ public RegionBlock[][] WorldMap;
+
public bool Connect(string GridServerURL, string username, string password)
{
try {
@@ -39,6 +44,29 @@ namespace OpenGridServices.Manager
}
}
+ public void DownloadMap()
+ {
+ System.Net.WebClient mapdownloader = new WebClient();
+ Stream regionliststream = mapdownloader.OpenRead(ServerURL + "/regionlist");
+
+
+ XmlDocument doc = new XmlDocument();
+ doc.Load(regionliststream);
+ XmlNode rootnode = doc.FirstChild;
+ if (rootnode.Name != "regions")
+ {
+ // TODO - ERROR!
+ }
+
+ for(int i=0; i<=rootnode.ChildNodes.Count; i++)
+ {
+ if(rootnode.ChildNodes.Item(i).Name != "region") {
+ // TODO - ERROR!
+ } else {
+ }
+ }
+ }
+
public bool RestartServer()
{
return true;
diff --git a/OpenGridServices.Manager/OpenGridServices.Manager/Main.cs b/OpenGridServices.Manager/OpenGridServices.Manager/Main.cs
index c7c0dd7..42e09e0 100644
--- a/OpenGridServices.Manager/OpenGridServices.Manager/Main.cs
+++ b/OpenGridServices.Manager/OpenGridServices.Manager/Main.cs
@@ -43,7 +43,8 @@ namespace OpenGridServices.Manager
win.SetStatus("Connected OK with session ID:" + gridserverConn.SessionID);
win.SetGridServerConnected(true);
Thread.Sleep(3000);
- win.SetStatus("");
+ win.SetStatus("Downloading region maps...");
+ gridserverConn.DownloadMap();
} else {
win.SetStatus("Could not connect");
}
diff --git a/OpenGridServices.Manager/OpenGridServices.Manager/MainWindow.cs b/OpenGridServices.Manager/OpenGridServices.Manager/MainWindow.cs
index 598e380..1db38f0 100644
--- a/OpenGridServices.Manager/OpenGridServices.Manager/MainWindow.cs
+++ b/OpenGridServices.Manager/OpenGridServices.Manager/MainWindow.cs
@@ -17,7 +17,12 @@ namespace OpenGridServices.Manager {
public void DrawGrid(RegionBlock[][] regions)
{
-
+ for(int x=0; x<=regions.GetUpperBound(0); x++) {
+ for(int y=0; y<=regions.GetUpperBound(1); y++) {
+ Gdk.Image themap = new Gdk.Image(Gdk.ImageType.Fastest,Gdk.Visual.System,256,256);
+ this.drawingarea1.GdkWindow.DrawImage(new Gdk.GC(this.drawingarea1.GdkWindow),themap,0,0,x*256,y*256,256,256);
+ }
+ }
}
public void SetGridServerConnected(bool connected)
diff --git a/OpenGridServices.Manager/OpenGridServices.Manager/OpenGridServices.Manager.mdp b/OpenGridServices.Manager/OpenGridServices.Manager/OpenGridServices.Manager.mdp
index 3140034..cfdc085 100644
--- a/OpenGridServices.Manager/OpenGridServices.Manager/OpenGridServices.Manager.mdp
+++ b/OpenGridServices.Manager/OpenGridServices.Manager/OpenGridServices.Manager.mdp
@@ -37,6 +37,7 @@
+
\ No newline at end of file
--
cgit v1.1