public void PlaceCone(FirefighterEquipmentController controller) { ConesController c = controller.Memory.GetOrDefault(ConesControllerMemoryKey, null) as ConesController; if (c != null && c.IsActive) { c.PlaceCone(); } }
public Firefighter(Vector3 position, float heading) : base(EntityCreator.CreateFirefighterPed(position, heading)) { Equipment = new FirefighterEquipmentController(Ped); // all AdvancedPeds should call RegisterAdvancedPed but can't put it in the base constructor // because the generic type will always be AdvancedPed, instead of Firefighter, Paramedic, etc. // each AdvancedPed subclass with its own fiber and list RegisterAdvancedPed(this); }
private static void Main() { while (Game.IsLoading) { GameFiber.Sleep(500); } MathHelper.RandomizationSeed = Environment.TickCount; if (!Directory.Exists(ResourcesFolder)) { Directory.CreateDirectory(ResourcesFolder); } if (!Directory.Exists(AddonsFolder)) { Directory.CreateDirectory(AddonsFolder); } LoadControls(); LoadSettings(); NotificationsManager.Instance.StartFiber(); RespawnController.Instance.StartFiber(); AddonsManager.Instance.LoadAddons(); FirefighterEquipmentController.RegisterEquipments(); while (true) { GameFiber.Yield(); PluginMenu.Instance.Update(); PlayerManager.Instance.Update(); FireStationsManager.Instance.Update(); HospitalsManager.Instance.Update(); if (PlayerManager.Instance.IsFirefighter) { FireCalloutsManager.Instance.Update(); PlayerFireEquipmentController.Instance.Update(); } else if (PlayerManager.Instance.IsEMS) { EMSCalloutsManager.Instance.Update(); } CPRManager.Instance.Update(); } }
void IFirefighterEquipment.OnLeaveEquipment(FirefighterEquipmentController controller) { SawController c = controller.Memory.GetOrDefault(SawControllerMemoryKey, null) as SawController; if (c == null) { c = new SawController(controller); controller.Memory.SetOrAdd(SawControllerMemoryKey, c); } c.IsActive = false; }
void IFirefighterEquipment.OnGetEquipment(FirefighterEquipmentController controller) { ConesController c = controller.Memory.GetOrDefault(ConesControllerMemoryKey, null) as ConesController; if (c == null) { c = new ConesController(controller); controller.Memory.SetOrAdd(ConesControllerMemoryKey, c); } c.IsActive = true; }
void IFirefighterEquipment.OnLeaveEquipment(FirefighterEquipmentController controller) { Ped ped = controller.Ped; foreach (Settings.PedComponentVariation var in Plugin.UserSettings.PEDS.FIREFIGHTER_FIRE_GEAR_DISABLED_COMPONENTS) { ped.SetVariation(var.ComponentIndex, var.DrawableIndex, var.DrawableTextureIndex); } foreach (Settings.PedPropVariation var in Plugin.UserSettings.PEDS.FIREFIGHTER_FIRE_GEAR_ENABLED_PROPS) { NativeFunction.Natives.ClearPedProp(ped, var.ComponentIndex); } ped.IsFireProof = false; controller.Memory.SetOrAdd(IsFireGearEquippedMemoryKey, false); }
void IFirefighterEquipment.OnEquippedUpdate(FirefighterEquipmentController controller) { }
bool IFirefighterEquipment.IsEquipped(FirefighterEquipmentController controller) { return((bool)controller.Memory.GetOrDefault(IsFireGearEquippedMemoryKey, false)); }
void IFirefighterEquipment.OnLeaveEquipment(FirefighterEquipmentController controller) { controller.Ped.Inventory.Weapons.Remove(WeaponHash.FireExtinguisher); }
void IFirefighterEquipment.OnGetEquipment(FirefighterEquipmentController controller) { controller.Ped.Inventory.GiveNewWeapon(WeaponHash.FireExtinguisher, -1, true); }
bool IFirefighterEquipment.IsEquipped(FirefighterEquipmentController controller) { return(controller.Ped.Inventory.Weapons.Contains(WeaponHash.FireExtinguisher)); }
void IFirefighterEquipment.OnEquippedUpdate(FirefighterEquipmentController controller) { SawController c = controller.Memory.GetOrDefault(SawControllerMemoryKey, null) as SawController; c?.OnActiveUpdate(); }
bool IFirefighterEquipment.IsEquipped(FirefighterEquipmentController controller) { SawController c = controller.Memory.GetOrDefault(SawControllerMemoryKey, null) as SawController; return(c != null && c.IsActive); }
public SawController(FirefighterEquipmentController controller) { this.controller = controller; }