mirror of
https://github.com/thegeneralist01/Scene-Manager-DevRepo
synced 2026-01-11 15:40: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 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<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