Exemplo n.º 1
0
        /// <summary>
        /// Aktualisiert die Objektrefferenzen, die beim erzeugen des Objektes noch nicht vorhanden waren
        /// </summary>
        public void updateData(GameData data)
        {
            need_tech = new List<Tech>();

            string[] split1 = need_tech_temp.Split(new String[] { ", " }, StringSplitOptions.None);
            foreach (string id in split1)
            {
                if (id != "")
                {
                    int id2 = int.Parse(id);

                    need_tech.Add(data.getTech(id2));
                }
            }

            race = new List<Race>();

            string[] split2 = race_temp.Split(new String[] { ", " }, StringSplitOptions.None);
            foreach (string id in split2)
            {
                if (id != "")
                {
                    int id2 = int.Parse(id);

                    race.Add(data.getRace(id2));
                }
            }

            skills = new List<Skill>();

            string[] split3 = skills_temp.Split(new String[] { ", " }, StringSplitOptions.None);
            foreach (string id in split3)
            {
                if (id != "")
                {
                    int id2 = int.Parse(id);

                    skills.Add(data.getSkill(id2));
                }
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// Aktualisiert die Objektrefferenzen, die beim erzeugen des Objektes noch nicht vorhanden waren
        /// </summary>
        public void updateData(GameData data)
        {
            if (updateto_temp != 0)
            {
                updateto = data.getStationType(updateto_temp);
            }

            buildship = new List<ShipClass>();

            string[] split = buildship_temp.Split(new String[] { ", " }, StringSplitOptions.RemoveEmptyEntries);
            foreach (string id in split)
            {
                if (id != "")
                {
                    int id2 = int.Parse(id);

                    ShipClass add = data.getShipType(id2);

                    if (add != null)
                        buildship.Add(add);
                }
            }

            /*
            buildtroop = new List<TroopClass>();

            string[] split2 = buildtroop_temp.Split(new String[] { ", " }, StringSplitOptions.RemoveEmptyEntries);
            foreach (string id in split2)
            {
                if (id != "")
                {
                    int id2 = int.Parse(id);

                    TroopClass add = data.getTroopType(id2);

                    if (add != null)
                        buildtroop.Add(add);
                }
            }

            */

            need_tech = new List<Tech>();

            string[] split3 = need_tech_temp.Split(new String[] { ", " }, StringSplitOptions.None);
            foreach (string id in split3)
            {
                if (id != "")
                {
                    int id2 = int.Parse(id);

                    need_tech.Add(data.getTech(id2));
                }
            }

            race = new List<Race>();

            string[] split4 = race_temp.Split(new String[] { ", " }, StringSplitOptions.None);
            foreach (string id in split4)
            {
                if (id != "")
                {
                    int id2 = int.Parse(id);

                    race.Add(data.getRace(id2));
                }
            }

            //TODO: Skills, etc.

            skills = new List<Skill>();

            string[] split5 = skills_temp.Split(new String[] { ", " }, StringSplitOptions.None);
            foreach (string id in split5)
            {
                if (id != "")
                {
                    int id2 = int.Parse(id);

                    skills.Add(data.getSkill(id2));
                }
            }

            need = new System.Collections.Hashtable();
            string[] need_split = need_temp.Split(new string[] { ", " }, StringSplitOptions.None);
            string[] need_count = need_count_temp.Split(new String[] { ", " }, StringSplitOptions.None);

            for (int i = 0; i < need_split.Length; i++)
            {
                if ((need_count[i] != "") && (need_split[i] != ""))
                {

                    need.Add(data.getStationType(int.Parse(need_split[i])), int.Parse(need_count[i]));
                }
            }
        }
Exemplo n.º 3
0
        public void main()
        {
            try
            {
                int serverPort = int.Parse(config["TCP/port"]);
                network = new TCP(serverPort, "GamePW");
                network.OnTextRecieved += new TCP.TextRecievedEvent(TCP_TextRecieved);
                network.OnClientConnected += new TCP.ClientConnectedEvent(TCP_ClientConnected);
                network.OnError += new TCP.TCPErrorEvent(TCP_Error);
                network.OnClientDisconnected += new TCP.ClientDisconnectedEvent(TCP_ClientDisconnected);

                log("Lade Spiel Daten ... ");

                string filepath = config["Game/GameDataPath"] + "GameData.dat";
                if (!File.Exists(filepath))
                {
                    Console.WriteLine("Game Data Datei nicht gefunden!");
                    close = true;
                    return;
                }

                game = new GameData(filepath);
                log("Spiel Dateien erfolgreich geparsed");

                modulmanager = new ModulManager(this);
                log("Modul Manager erfolgreich gestartet");

                printStatistics();

                //  log("Server bereit für Anfragen ...");

                // TestUser
                User user = new User(1, "test", "4", game.getRace(1));
                user.password = "******";
                user.encryptPassword();

                addUser(user);

                log("Lade Map-Daten bitte warten...");

                modulmanager.map.load(config["Game/Map/File"]);

            }
            catch (Exception ex)
            {
                log("Fehler: " + ex.Message);
                close = true;
            }
        }