using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using VisionCommon;
namespace VisionUI.Camera {
///
/// 메인 카메라 뷰 매니저
///
public class MainCameraViewManager {
private static Dictionary _MainCameraViews = new Dictionary();
private static object LockObj = new object();
private static MainCameraViewManager _instance = null;
///
/// 싱글톤 패턴 객체
///
public static MainCameraViewManager Instance {
get {
lock (LockObj) {
if (_instance == null) {
_instance = new MainCameraViewManager();
}
return _instance;
}
}
}
///
/// 메인 카메라 뷰 가져오기
///
/// 디스플레이 타입
///
public MainCameraView GetMainCameraView(eDisplayType displayType) {
foreach (var itemPairs in _MainCameraViews) {
if (itemPairs.Key == displayType) {
return itemPairs.Value;
}
}
_MainCameraViews[displayType] = new MainCameraView(displayType);
return _MainCameraViews[displayType];
}
///
/// 생성자
///
public MainCameraViewManager() {
_instance = this;
}
///
/// 메인 카메라 뷰 해제/제거
///
/// 디스플레이 타입
public void DisposeMainCameraView(eDisplayType displayType) {
if (_MainCameraViews.ContainsKey(displayType)) {
_MainCameraViews.Remove(displayType);
}
}
}
}