From ad36c505464474edf77e6d15eb8f009045dddf53 Mon Sep 17 00:00:00 2001 From: Rich Dunne Date: Sun, 10 Jan 2021 08:36:13 -0700 Subject: [PATCH] Preparing for barrier import/export --- SceneManager/Objects/Barrier.cs | 68 ++++++--------------------------- 1 file changed, 11 insertions(+), 57 deletions(-) diff --git a/SceneManager/Objects/Barrier.cs b/SceneManager/Objects/Barrier.cs index 327c852..acddf5c 100644 --- a/SceneManager/Objects/Barrier.cs +++ b/SceneManager/Objects/Barrier.cs @@ -1,22 +1,19 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using Rage; -using SceneManager.Utils; +using Rage; +using System.Xml.Serialization; namespace SceneManager.Objects { - class Barrier + [XmlRoot(ElementName = "Barrier", Namespace = "")] + public class Barrier // Change this and properties to Public for import/export { - internal Rage.Object Object { get; } - internal Model @Model{ get; } - internal Vector3 Position { get; } - internal float Rotation { get; } - internal bool Invincible { get; } + public Object Object { get; } + public Model @Model{ get; } + public Vector3 Position { get; } + public float Rotation { get; } + public bool Invincible { get; } + public bool Immobile { get; } - internal bool Immobile { get; } - - internal Barrier(Rage.Object barrier, Vector3 barrierPosition, float barrierRotation, bool invincible, bool immobile) + internal Barrier(Object barrier, Vector3 barrierPosition, float barrierRotation, bool invincible, bool immobile) { Object = barrier; @Model = barrier.Model; @@ -24,49 +21,6 @@ namespace SceneManager.Objects Rotation = barrierRotation; Invincible = invincible; Immobile = immobile; - //AddBlocker(); - } - - private void AddBlocker() - { - var blocker = new Rage.Object("prop_barier_conc_01a", Position, Rotation); - blocker.AttachTo(Object, 0, new Vector3(0, 0, 0), new Rotator()); - GameFiber.StartNew(() => - { - while (Object) - { - GameFiber.Yield(); - } - blocker.Delete(); - }); - } - - internal void GoAround() - { - GameFiber.StartNew(() => - { - var collected = new List(); - while (Object) - { - foreach (Vehicle v in World.GetAllVehicles()) - { - if(v && v.IsEngineOn) - { - if(v.HasDriver && v.Driver && v.Driver.IsAlive) - { - if (!collected.Contains(v)) - { - v.Driver.Tasks.Clear(); - v.Driver.Tasks.CruiseWithVehicle(5f, (VehicleDrivingFlags)17039872); - v.Driver.KeepTasks = true; - collected.Add(v); - } - } - } - } - GameFiber.Sleep(1000); - } - }); } } }