/// <summary> /// Runs the script event with the given input. /// </summary> /// <param name="prio">The priority to run with.</param> /// <param name="oevt">The details of the script to be ran.</param> /// <returns>The event details after firing.</returns> public void Run(int prio, VehicleDestroyedEventArgs oevt) { VehicleDestroyedScriptEvent evt = (VehicleDestroyedScriptEvent)Duplicate(); evt.Cancelled = oevt.Cancelled; evt.Vehicle = oevt.Vehicle; evt.Amount = oevt.Amount; evt.Repairable = oevt.Repairable; evt.Call(prio); oevt.Amount = evt.Amount; oevt.Repairable = evt.Repairable; oevt.Cancelled = evt.Cancelled; }
public static bool VehicleDamaged(InteractableVehicle vehicle, ref ushort amount, ref bool repairable) { // TODO: causes? VehicleTag vehicleTag = new VehicleTag(vehicle); if (!repairable && (vehicle.isDead || amount >= vehicle.health)) { VehicleDestroyedEventArgs explodeevt = new VehicleDestroyedEventArgs(); explodeevt.Vehicle = vehicleTag; explodeevt.Amount = new NumberTag(amount); explodeevt.Repairable = new BooleanTag(repairable); UnturnedFreneticEvents.OnVehicleDestroyed.Fire(explodeevt); amount = (ushort)explodeevt.Amount.Internal; repairable = explodeevt.Repairable.Internal; return explodeevt.Cancelled || EntityDestroyed(vehicleTag, ref amount); } VehicleDamagedEventArgs evt = new VehicleDamagedEventArgs(); evt.Vehicle = vehicleTag; evt.Amount = new NumberTag(amount); evt.Repairable = new BooleanTag(repairable); UnturnedFreneticEvents.OnVehicleDamaged.Fire(evt); amount = (ushort)evt.Amount.Internal; return evt.Cancelled || EntityDamaged(vehicleTag, ref amount); }
/// <summary> /// Runs the script event with the given input. /// </summary> /// <param name="prio">The priority to run with.</param> /// <param name="oevt">The details of the script to be ran.</param> /// <returns>The event details after firing.</returns> public void Run(int prio, VehicleDestroyedEventArgs oevt) { VehicleDestroyedScriptEvent evt = (VehicleDestroyedScriptEvent)Duplicate(); evt.Cancelled = oevt.Cancelled; evt.Vehicle = oevt.Vehicle; evt.Amount = oevt.Amount; evt.Repairable = oevt.Repairable; evt.Call(prio); oevt.Amount = evt.Amount; oevt.Repairable = evt.Repairable; oevt.Cancelled = evt.Cancelled; }