private void UnBind() { if (CameraMount.top == this) { CameraMount.SetMountInactive(); if (CameraMount.queue.Count <= 0) { CameraMount.top = null; } else { CameraMount.top = CameraMount.queue.Pop(); CameraMount.SetMountActive(); } } else if (CameraMount.queue.Count <= 1) { CameraMount.queue.Pop(); } else if (CameraMount.queue.Peek() != this) { CameraMount.REMOVE_FROM_QUEUE(this); } else { CameraMount.queue.Pop(); } this.bound = false; }
private void Bind() { if (!CameraMount.top) { CameraMount.top = this; CameraMount.SetMountActive(); } else if (CameraMount.top.importance < this.importance) { CameraMount.SetMountInactive(); CameraMount.queue.Push(CameraMount.top); CameraMount.top = this; CameraMount.SetMountActive(); } else if (CameraMount.queue.Count == 0 || CameraMount.queue.Peek().importance <= this.importance) { CameraMount.queue.Push(this); } else { CameraMount.SORT_QUEUE(this); } this.bound = true; }