// Public Method #region Public Method public void SetActiveCamera(CameraKind kind) { var obj = GetCameraObject(kind); if (obj != null) { if (!obj.activeInHierarchy) { obj.SetActive(true); return; } } var data = GetCameraData(kind); if (data == null) { #if UNITY_EDITOR Debug.LogError(string.Format($"{kind.ToString()} 해당 카메라종류가 발견되지 않았습니다.")); #endif } else { var c = Instantiate <GameObject>(data.cameraObject, transform); c.SetActive(true); if (!dicCameraObjs.ContainsKey(data.kind)) { dicCameraObjs.Add(data.kind, c); } } }
public T GetCameraObjectComponent <T>(CameraKind kind) where T : class { if (this.dicCameraObjs.ContainsKey(kind)) { return(dicCameraObjs[kind].GetComponent(typeof(T)) as T); } return(null); }
public GameObject GetCameraObject(CameraKind kind) { if (this.dicCameraObjs.ContainsKey(kind)) { return(dicCameraObjs[kind]); } return(null); }
public Camera GetCamera(CameraKind kind) { if (this.dicCameras.ContainsKey(kind)) { return(dicCameras[kind].Camera); } return(null); }
private static ICamera TryAssembly(CameraKind camraKind) { string name = camraKind.ToString(); var realSense = LoadAssemblyOrNull(name); if (realSense == null) { return(null); } try { return((ICamera)Activator.CreateInstance( "SharpSenses." + name, "SharpSenses." + name + "." + name + "Camera", true, BindingFlags.Instance | BindingFlags.Public, null, null, null, null).Unwrap()); } catch (BadImageFormatException bex) { throw new CameraException("SharpSenses only works with x64 applications :("); } catch (Exception ex) { throw new CameraException(ex.Message); } }
public static ICamera Create(CameraKind cameraKind) { return TryAssembly(cameraKind); }
public static ICamera Create(CameraKind cameraKind) { return(TryAssembly(cameraKind)); }
private static ICamera TryAssembly(CameraKind camraKind) { string name = camraKind.ToString(); var realSense = LoadAssemblyOrNull(name); if (realSense == null) return null; try { return (ICamera) Activator.CreateInstance( "SharpSenses." + name, "SharpSenses." + name + "." + name + "Camera", true, BindingFlags.Instance | BindingFlags.Public, null, null, null, null).Unwrap(); } catch(BadImageFormatException bex) { throw new CameraException("SharpSenses only works with x64 applications :("); } catch (Exception ex) { throw new CameraException(ex.Message); } }