Esempio n. 1
0
    private ECamerasRenderPreset GetPresetByCameraRenderState()
    {
        ECamerasRenderPreset camerasRenderPreset = default;

        foreach (var currentPresetMask in PresetMasks.Keys)
        {
            var isMatchPresetMask = true;
            for (var i = 0; i < currentPresetMask.Length; i++)
            {
                if (currentPresetMask[i] == 'x')
                {
                    continue;
                }

                var targetMap       = MapOfPresetMaskToCameraRenderStateProperty[i];
                var matchedProperty = _cameraRenderStates[targetMap.CameraPriorityType][targetMap.FunctionalPropertyName];

                var convertedPresetMaskElement = currentPresetMask[i].ToBoolean();
                isMatchPresetMask &= convertedPresetMaskElement == matchedProperty;
            }

            if (isMatchPresetMask)
            {
                camerasRenderPreset = PresetMasks[currentPresetMask];
                break;
            }
        }

        return(camerasRenderPreset);
    }
Esempio n. 2
0
    private void UpdateCamerasRenderStateByPreset(ECamerasRenderPreset preset)
    {
        if (PresetMasks.ContainsValue(preset) == false)
        {
            throw new NullReferenceException("The preset was not found in actual presets");
        }

        var matchedPresetMask = PresetMasks.First(mask => mask.Value == preset).Key;

        for (var i = 0; i < matchedPresetMask.Length; i++)
        {
            var targetMap         = MapOfPresetMaskToCameraRenderStateProperty[i];
            var targetCameraState = _cameraRenderStates[targetMap.CameraPriorityType];

            targetCameraState[targetMap.EnabledPropertyName] = matchedPresetMask[i] != 'x';
            if (matchedPresetMask[i] == 'x')
            {
                continue;
            }

            var convertedPresetMaskElement = matchedPresetMask[i].ToBoolean();
            targetCameraState[targetMap.FunctionalPropertyName] = convertedPresetMaskElement;
        }

        if (SlaveCameraState.IsActive == false)
        {
            MasterCameraState.IsEnabledActive = false;
        }

        if (MasterCameraState.IsActive == false)
        {
            SlaveCameraState.IsEnabledActive = false;
        }

        if (MasterCameraState.IsActive == false && SlaveCameraState.IsEnabledActive == false)
        {
            SlaveCameraState.IsActive = true;
        }

        if (SlaveCameraState.IsActive == false && MasterCameraState.IsEnabledActive == false)
        {
            MasterCameraState.IsActive = true;
        }
    }
Esempio n. 3
0
 public void SetCamerasRenderPreset(ECamerasRenderPreset preset)
 {
     UpdateCamerasRenderStateByPreset(preset);
     CamerasRenderPreset = preset;
 }