mirror of
https://github.com/thegeneralist01/Scene-Manager-DevRepo
synced 2026-01-11 23:50:29 +01:00
Preparing for barrier import/export
This commit is contained in:
parent
61141e9fb8
commit
ad36c50546
1 changed files with 11 additions and 57 deletions
|
|
@ -1,22 +1,19 @@
|
||||||
using System;
|
using Rage;
|
||||||
using System.Collections.Generic;
|
using System.Xml.Serialization;
|
||||||
using System.Linq;
|
|
||||||
using Rage;
|
|
||||||
using SceneManager.Utils;
|
|
||||||
|
|
||||||
namespace SceneManager.Objects
|
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; }
|
public Object Object { get; }
|
||||||
internal Model @Model{ get; }
|
public Model @Model{ get; }
|
||||||
internal Vector3 Position { get; }
|
public Vector3 Position { get; }
|
||||||
internal float Rotation { get; }
|
public float Rotation { get; }
|
||||||
internal bool Invincible { get; }
|
public bool Invincible { get; }
|
||||||
|
public bool Immobile { get; }
|
||||||
|
|
||||||
internal bool Immobile { get; }
|
internal Barrier(Object barrier, Vector3 barrierPosition, float barrierRotation, bool invincible, bool immobile)
|
||||||
|
|
||||||
internal Barrier(Rage.Object barrier, Vector3 barrierPosition, float barrierRotation, bool invincible, bool immobile)
|
|
||||||
{
|
{
|
||||||
Object = barrier;
|
Object = barrier;
|
||||||
@Model = barrier.Model;
|
@Model = barrier.Model;
|
||||||
|
|
@ -24,49 +21,6 @@ namespace SceneManager.Objects
|
||||||
Rotation = barrierRotation;
|
Rotation = barrierRotation;
|
||||||
Invincible = invincible;
|
Invincible = invincible;
|
||||||
Immobile = immobile;
|
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<Vehicle>();
|
|
||||||
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);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue