1
Fork 0
mirror of https://github.com/thegeneralist01/Scene-Manager-DevRepo synced 2026-01-11 23:50:29 +01:00

Renamed Object Classes folder to Objects

This commit is contained in:
Rich Dunne 2020-12-06 07:29:50 -07:00
parent a2b935659f
commit 8ae65246f8
5 changed files with 134 additions and 64 deletions

View file

@ -0,0 +1,72 @@
using System;
using System.Collections.Generic;
using System.Linq;
using Rage;
using SceneManager.Utils;
namespace SceneManager.Objects
{
class Barrier
{
internal Rage.Object Object { get; }
internal Model @Model{ get; }
internal Vector3 Position { get; }
internal float Rotation { get; }
internal bool Invincible { get; }
internal bool Immobile { get; }
internal Barrier(Rage.Object barrier, Vector3 barrierPosition, float barrierRotation, bool invincible, bool immobile)
{
Object = barrier;
@Model = barrier.Model;
Position = barrierPosition;
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);
}
});
}
}
}