public void DropHangTarget() { if (ActiveHangTarget == null) { return; } _previousHangTarget = ActiveHangTarget; _hangQueue.RemoveAt(0); if (ActiveHangTarget == null) { _activePlatform = null; } }
// Methods for hanging public void AddHangTarget(HangableObject hangTarget) { if (_hangQueue.Contains(hangTarget)) { return; } if (hangTarget is Ledge || hangTarget == _previousHangTarget) { _hangQueue.Insert(0, hangTarget); } else { _hangQueue.Add(hangTarget); } }
public void RemoveHangTarget(HangableObject hangTarget) { if (!_hangQueue.Contains(hangTarget)) { return; } if (ActiveHangTarget == hangTarget) { _previousHangTarget = ActiveHangTarget; } _hangQueue.Remove(hangTarget); if (ActiveHangTarget == null) { _activePlatform = null; } }