diff --git a/RageCoop.Client/Main.cs b/RageCoop.Client/Main.cs
index 47f0667..2b4cffc 100644
--- a/RageCoop.Client/Main.cs
+++ b/RageCoop.Client/Main.cs
@@ -128,7 +128,6 @@ namespace RageCoop.Client
}
- MapLoader.LoadAll();
#if DEBUG
if (Networking.ShowNetworkInfo)
diff --git a/RageCoop.Client/Networking/MapLoader.cs b/RageCoop.Client/Networking/MapLoader.cs
deleted file mode 100644
index 62767d0..0000000
--- a/RageCoop.Client/Networking/MapLoader.cs
+++ /dev/null
@@ -1,180 +0,0 @@
-using System;
-using System.IO;
-using System.Linq;
-using System.Xml.Serialization;
-using System.Collections.Generic;
-using RageCoop.Core;
-using GTA;
-using GTA.Math;
-using GTA.Native;
-
-namespace RageCoop.Client
-{
- ///
- ///
- ///
- [XmlRoot(ElementName = "Map")]
- public class Map
- {
- ///
- ///
- ///
- [XmlArray("Props")]
- [XmlArrayItem("Prop")]
- public List Props { get; set; } = new List();
- }
-
- ///
- ///
- ///
- public struct CoopProp
- {
- ///
- ///
- ///
- public Vector3 Position { get; set; }
- ///
- ///
- ///
- public Vector3 Rotation { get; set; }
- ///
- ///
- ///
- public int Hash { get; set; }
- ///
- ///
- ///
- public bool Dynamic { get; set; }
- ///
- ///
- ///
- public int Texture { get; set; }
- }
-
- internal static class MapLoader
- {
- // string = file name
- private static readonly Dictionary _maps = new Dictionary();
- private static readonly List _createdObjects = new List();
-
- public static void LoadAll()
- {
- string downloadFolder = DownloadManager.ResourceFolder;
-
- if (!Directory.Exists(downloadFolder))
- {
- try
- {
- Directory.CreateDirectory(downloadFolder);
- }
- catch (Exception ex)
- {
- Main.Logger.Error(ex.Message);
-
- // Without the directory we can't do the other stuff
- return;
- }
- }
-
- string[] files = Directory.GetFiles(downloadFolder, "*.xml");
- lock (_maps)
- {
- for (int i = 0; i < files.Length; i++)
- {
- string filePath = files[i];
- string fileName = Path.GetFileName(filePath);
-
- XmlSerializer serializer = new XmlSerializer(typeof(Map));
- Map map;
-
- using (var stream = new FileStream(filePath, FileMode.Open))
- {
- try
- {
- map = (Map)serializer.Deserialize(stream);
- }
- catch (Exception ex)
- {
- Main.Logger.Error($"The map with the name \"{fileName}\" couldn't be added!");
- Main.Logger.Error($"{ex.Message}");
- continue;
- }
- }
-
- _maps.Add(fileName, map);
- }
- }
- }
-
- public static void LoadMap(string name)
- {
- lock (_maps) lock (_createdObjects)
- {
- if (!_maps.ContainsKey(name) || _createdObjects.Count != 0)
- {
- GTA.UI.Notification.Show($"The map with the name \"{name}\" couldn't be loaded!");
- Main.Logger.Error($"The map with the name \"{name}\" couldn't be loaded!");
- return;
- }
-
- Map map = _maps[name];
-
- foreach (CoopProp prop in map.Props)
- {
- Model model = prop.Hash.ModelRequest();
- if (model == null)
- {
- Main.Logger.Error($"Model for object \"{model.Hash}\" couldn't be loaded!");
- continue;
- }
-
- int handle = Function.Call(Hash.CREATE_OBJECT, model.Hash, prop.Position.X, prop.Position.Y, prop.Position.Z, 1, 1, prop.Dynamic);
- model.MarkAsNoLongerNeeded();
- if (handle == 0)
- {
- Main.Logger.Error($"Object \"{prop.Hash}\" couldn't be created!");
- continue;
- }
-
- _createdObjects.Add(handle);
-
- if (prop.Texture > 0 && prop.Texture < 16)
- {
- Function.Call(Hash._SET_OBJECT_TEXTURE_VARIATION, handle, prop.Texture);
- }
- }
- }
- }
-
- public static bool AnyMapLoaded()
- {
- lock (_createdObjects) return _createdObjects.Any();
- }
-
- public static void UnloadMap()
- {
- lock (_createdObjects)
- {
- foreach (int handle in _createdObjects)
- {
- unsafe
- {
- int tmpHandle = handle;
- Function.Call(Hash.DELETE_OBJECT, &tmpHandle);
- }
- }
-
- _createdObjects.Clear();
- }
- }
-
- public static void DeleteAll()
- {
- UnloadMap();
- lock (_maps)
- {
- _maps.Clear();
- }
- }
- }
-}
diff --git a/RageCoop.Client/Networking/Receive.cs b/RageCoop.Client/Networking/Receive.cs
index 0200cdb..3f4724f 100644
--- a/RageCoop.Client/Networking/Receive.cs
+++ b/RageCoop.Client/Networking/Receive.cs
@@ -81,7 +81,6 @@ namespace RageCoop.Client
Main.QueueAction(() =>
GTA.UI.Notification.Show("~r~Disconnected: " + reason));
- MapLoader.DeleteAll();
Main.Resources.Unload();
Main.Logger.Info($">> Disconnected << reason: {reason}");