public void OnCameraDestroyed(CameraRoles role) { // If we have a good copy, use that if (CameraRegistry.Contains(role)) { Camera OurCamera = CameraRegistry[role]; if (OurCamera != null) { UIManager.ProvideCamera(OurCamera); } } // If we don't have a good copy, // try to find the prefab and build a new one foreach (Camera cam in CameraPrefabs) { CameraIdentifier ID = cam.GetComponent <CameraIdentifier>(); MyContract.RequireFieldNotNull(ID, "Camera Identifier"); CameraRoles PrefabRole = ID.Role; if (ID.Equals(role)) { List <Camera> ArgList = new List <Camera>(); ArgList.Add(cam); CameraRegistry.InitialiseAndRegisterGenericPrefabs(ArgList); Camera CreatedCamera = CameraRegistry[role]; UIManager.ProvideCamera(CreatedCamera); return; } } // If we don't have the prefab, we can't do anything }
// -- Properties -- public Camera this[CameraRoles index] { get { return(RetrieveObject((int)index)); } }
public void CameraTransition(CameraRoles newActiveCameras) { // Deactivate cameras CameraRegistry.ActivateGameObjectsFromIntFlag( false, (int)ActiveCameras ); // Activate cameras CameraRegistry.ActivateGameObjectsFromIntFlag( true, (int)newActiveCameras ); ActiveCameras = newActiveCameras; }
public bool Contains(CameraRoles role) { return(Contains((int)role)); }