Ejemplo n.º 1
0
        /// <summary>
        /// Gets all the <see cref="CameraType"/> and <see cref="Room"/> values for for the <see cref="Camera079"/> instances using <see cref="Camera079.cameraId"/> and <see cref="UnityEngine.GameObject"/> name.
        /// </summary>
        internal static void RegisterCameraInfoOnLevelLoad()
        {
            OrderedCameraTypes.Clear();

            ReadOnlyCollection <Camera079> cameras = Map.Cameras;

            int cameraCount = cameras.Count;

            for (int i = 0; i < cameraCount; i++)
            {
                Camera079 camera   = cameras[i];
                int       cameraID = camera.GetInstanceID();

                CameraType cameraType = (CameraType)cameraID;
                Room       room       = Map.FindParentRoom(camera.gameObject);

                if (OrderedCameraTypes.ContainsKey(cameraID))
                {
                    OrderedCameraTypes.Remove(cameraID);
                }
                if (OrderedCameraRooms.ContainsKey(cameraID))
                {
                    OrderedCameraRooms.Remove(cameraID);
                }

                OrderedCameraTypes.Add(cameraID, cameraType);
                OrderedCameraRooms.Add(cameraID, room);
            }
        }
Ejemplo n.º 2
0
 /// <summary>
 /// Gets the <see cref="CameraType"/>.
 /// </summary>
 /// <param name="camera">The <see cref="Camera079"/> to check.</param>
 /// <returns>The <see cref="CameraType"/>.</returns>
 public static CameraType Type(this Camera079 camera) => OrderedCameraTypes.TryGetValue(camera.GetInstanceID(), out CameraType cameraType) ? cameraType : CameraType.Unknown;
Ejemplo n.º 3
0
 /// <summary>
 /// Returns the <see cref="Room"/> the camera is in, or null if not found.
 /// </summary>
 /// <param name="camera">The <see cref="Camera079"/> to check.</param>
 /// <returns>A <see cref="Room"/>, or null if not found.</returns>
 public static Room Room(this Camera079 camera) => OrderedCameraRooms.TryGetValue(camera.GetInstanceID(), out Room room) ? room : null;