示例#1
0
 public void EnterArea(CameraAreaTrigger area)
 {
     if (_areasList.IndexOf(area) > 0)
     {
         return;
     }
     _areasList.Add(area);
     area.Activate(this);
 }
示例#2
0
        public void ExitArea(CameraAreaTrigger area)
        {
            int areaIndex = _areasList.IndexOf(area);

            if (areaIndex < 0)
            {
                return;
            }

            if (areaIndex == _areasList.Count - 1)
            {
                _areasList.Remove(area);
                area.Deactivate(this);
                if (_areasList.Count > 0)
                {
                    CameraAreaTrigger lastArea = _areasList[_areasList.Count - 1];
                    lastArea.Activate(this);
                }
            }
            else
            {
                _areasList.Remove(area);
            }
        }