/* * Remove a target, regardless of it being a pull or push target. */ public bool RemoveTarget(Magnetic target, bool startWithPullTargets = false) { // Try to remove target from both arrays, if necessary if (startWithPullTargets) { if (PullTargets.RemoveTarget(target)) { return(true); } else { return(PushTargets.RemoveTarget(target)); } } else { if (PushTargets.RemoveTarget(target)) { return(true); } else { return(PullTargets.RemoveTarget(target)); } } }
/* * Add a target * If it's a pullTarget, remove it from pullTargets and move it to pushTargets */ public void AddPushTarget(Magnetic target) { StartBurning(false); if (HasSteel) { if (VacuouslyPushTargeting) { SetVacuousTarget(null, steel); } if (PullTargets.IsTarget(target)) { PullTargets.RemoveTarget(target, false); } if (target != null) { if (PushTargets.AddTarget(target, this)) { CalculateForce(target, PushTargets.NetCharge(), PushTargets.SumOfCharges(), steel); } } } }
public bool RemovePullTarget(Magnetic target) { return(PullTargets.RemoveTarget(target)); }