Exemplo n.º 1
0
    private void TrySetAsActiveCamera(CustomCameraContainer camContainer)
    {
        CustomCameraContainer previousActiveCam;

        if (_activeCustomCams.TryGetValue(camContainer.type, out previousActiveCam))
        {
            if (previousActiveCam != null)
            {
                previousActiveCam.Hide();
            }
        }

        _hud.ToggleCustomCameraScreen(camContainer.type, true);

        _activeCustomCams[camContainer.type] = camContainer;
        camContainer.Show();
    }
Exemplo n.º 2
0
    public void Unregister(CustomCameraContainer camContainer)
    {
        var type = camContainer.type;

        if (_customCams.ContainsKey(type))
        {
            _customCams[type].Remove(camContainer);
        }
        if (_activeCustomCams.ContainsKey(type))
        {
            _activeCustomCams[type] = null;
        }

        if (!TrySetNextActiveCamera(type))
        {
            _hud.ToggleCustomCameraScreen(type, false);
        }
    }
Exemplo n.º 3
0
    public Rect RegisterAndGetViewportPixelRect(CustomCameraContainer camContainer)
    {
        var type = camContainer.type;

        if (!_customCams.ContainsKey(type))
        {
            _customCams[type] = new List <CustomCameraContainer> {
                camContainer
            };
        }
        else
        {
            _customCams[type].Add(camContainer);
        }

        TrySetAsActiveCamera(camContainer);

        return(_hud.GetPixelRectForCamViewport(type));
    }