Files
HauntedBloodlines/Assets/Scripts/Photomode/PhotomodeManager.cs
2025-05-29 22:31:40 +03:00

1975 lines
84 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using TMPro;
//using UnityEngine.Rendering.PostProcessing;
using UnityEngine.Rendering;
using UnityEngine.Rendering.HighDefinition;
using UnityEngine.EventSystems;
using UnityStandardAssets.Utility;
public class PhotomodeManager : MonoBehaviour
{
[SerializeField] private Volume postProcess;
[SerializeField] private Volume photomodeVolumeEffectsDepthOfField;
[SerializeField] private Volume photomodeVolumeBrightnessSaturation;
[SerializeField] private Transform freeCamera;
private FreeCamera freeCameraLogic;
[SerializeField] private EventSystem eventSystem;
//private ShadowsMidtonesHighlights shadowsMidtonesHighlights;
private LiftGammaGain liftGammaGain;
private ColorAdjustments colorAdjustments;
private DepthOfField depthOfField;
private float Gain = 0f;
private float saturation = 0f;
private float exposure = 0f;
private float DepthOfFieldDistance = 0.85f;
private float DepthOfFieldIntensity = 40f;
private float LogoScale = 1f;
#region DefaultValues
private float GainDefault;
private float saturationDefault;
private float exposureDefault;
private float DepthOfFieldDistanceDefault;
private float DepthOfFieldIntensityDefault;
private float logoScaleDefault;
#endregion
[Header("Panels")]
[SerializeField] private GameObject _PhotoModePanel;
[SerializeField] private GameObject _cameraPanel;
[SerializeField] private GameObject _DepthOfFieldPanel;
[SerializeField] private GameObject _picturePanel;
[SerializeField] private GameObject _colorFiltersPanel;
[SerializeField] private GameObject _bordersPanel;
[SerializeField] private GameObject _logoPanel;
[SerializeField] private GameObject _posePanel;
[SerializeField] private GameObject _QuitPhotomodePanel;
[SerializeField] private GameObject _ResetPhotographPanel;
[Header("Quit Photomode Buttons UI")]
[SerializeField] private GameObject _quitPhotomodeYesPC;
[SerializeField] private GameObject _quitPhotomodeNoPC;
[SerializeField] private GameObject _quitPhotomodeYesController;
[SerializeField] private GameObject _quitPhotomodeNoController;
[Header("Reset Photograph Buttons UI")]
[SerializeField] private GameObject _resetPhotographYesPC;
[SerializeField] private GameObject _resetPhotographNoPC;
[SerializeField] private GameObject _resetPhotographYesController;
[SerializeField] private GameObject _resetPhotographNoController;
[Header("Sliders")]
public Slider _cameraRollSlider;
public Slider _cameraFieldOfViewSlider;
public Slider _BrightnessSlider;
public Slider _SaturationSlider;
public Slider _exposureSlider;
public Slider _DepthOfFieldNearBlurSlider;
public Slider _DepthOfFieldFarBlurSlider;
public Slider _colorFilterIntensitySlider;
public Slider _logoScaleSlider;
public Slider _headUpDownSlider;
public Slider _headLeftRightSlider;
public Slider _eyesUpDownSlider;
public Slider _eyesLeftRightSlider;
[Header("Logo Positions")]
[SerializeField] private Transform _topLeftPosition;
[SerializeField] private Transform _topCenterPosition;
[SerializeField] private Transform _topRightPosition;
[SerializeField] private Transform _leftPosition;
[SerializeField] private Transform _centerPosition;
[SerializeField] private Transform _rightPosition;
[SerializeField] private Transform _bottomLeftPosition;
[SerializeField] private Transform _bottomCenterPosition;
[SerializeField] private Transform _bottomRightPosition;
[SerializeField] private int indexPositions = 0;
[SerializeField] private int _LogoPosition = 1;
private int _indexLogos = 0;
[Header("Borders")]
[SerializeField] private List<GameObject> _bordersList = new List<GameObject>();
[Header("Logos")]
[SerializeField] private GameObject _logos;
[HideInInspector] public List<GameObject> _LogoList = new List<GameObject>();
[Header("Logo text")]
[SerializeField] private TextMeshProUGUI _logoName;
[SerializeField] private TextMeshProUGUI _logoPositionText;
[Header("Grids")]
[SerializeField] private GameObject _grid;
[SerializeField] private GameObject _grid1;
[Header("Bools")]
public bool HasPressedToOpenPhotoMode;
public bool photoModeOpen;
private bool updateCameraSliders = true;
[HideInInspector] public bool CanHoldDownSlider;
[HideInInspector] public bool DepthOfFieldOn;
[SerializeField] private bool CanChangeValueBySlider;
[SerializeField] public bool LogoVisibilityOn;
private bool HideHUD;
public bool quitPhotomodePanelOn;
public bool canQuitPhotomodePanel = true;
public bool resetPhotographPanelOn;
public bool canResetPhotograph = true;
private bool grid0IsEnabled;
private bool grid1IsEnabled;
[Header("HUD")]
[SerializeField] private Image _PhotomodePanelHUD;
[SerializeField] private GameObject _cameraPanelHUD;
[SerializeField] private GameObject _depthOfFieldPanelHUD;
[SerializeField] private GameObject _picturePanelHUD;
[SerializeField] private GameObject _colorFiltersPanelHUD;
[SerializeField] private GameObject _bordersPanelHUD;
[SerializeField] private GameObject _logoPanelHUD;
[SerializeField] private GameObject _posePanelHUD;
[SerializeField] private GameObject _buttonsHUD;
[SerializeField] private GameObject _borderlineHUD;
[SerializeField] private GameObject _bottomUIHUD_Controller;
[SerializeField] private GameObject _buttomUIHUD_PC;
[SerializeField] private GameObject _gridsHUD;
[SerializeField] private GameObject _controllerButtonsIndicationsHUD;
[Header("UI Animators")]
[Header("Top Buttons")]
[SerializeField] private Animator _cameraUIAnimator;
[SerializeField] private Animator _depthOfFieldUIAnimator;
[SerializeField] private Animator _pictureUIAnimator;
[SerializeField] private Animator _colorFiltersUIAnimator;
[SerializeField] private Animator _bordersUIAnimator;
[SerializeField] private Animator _logoUIAnimator;
[SerializeField] private Animator _PoseUIAnimator;
[Header("Panel Buttons")]
[SerializeField] private Animator _previousLogoLeftButtonAnimator;
[SerializeField] private Animator _nextLogoRightButtonAnimator;
[SerializeField] private Animator _ButtonPositionLeftArrowAnimator;
[SerializeField] private Animator _ButtonPositionRightArrowAnimator;
[Header("Photomode Mode")]
[SerializeField] private GameObject _photomodeSelectModePanel;
[SerializeField] private TextMeshProUGUI PhotomodeModeText;
[SerializeField] private Button _photomodeButton;
[SerializeField] private Button _lightmodeButton;
public bool IsInLightMode;
[Header("Photomode Check UI")]
public GameObject EyesControlONCheckUI;
public GameObject EyesControlOFFCheckUI;
[Header("------------------")]
#region Buttons OnClick
[SerializeField] private Button CameraPanelButton;
[SerializeField] private Button DepthOfFieldPanelButton;
[SerializeField] private Button PicturePanelButton;
[SerializeField] private Button ColorFiltersPanelButton;
[SerializeField] private Button BordersPanelButton;
[SerializeField] private Button LogoPanelButton;
[SerializeField] private Button PosePanelButton;
public Button DepthOfFieldON_Button;
public Button DepthOfFieldOFF_Button;
public Button LogoVisibilityON_Button;
public Button LogoVisibilityOFF_Button;
public Button PreviousLogoLeftButton;
public Button NextLogoRightButton;
public Button LogoPositionLeftButton;
public Button LogoPositionRightButton;
public Button ShowPlayeON;
public Button ShowPlayerOFF;
public Button ShowCompanionON;
public Button ShowCompanionOFF;
public Button PreviousFacePoseLeftButton;
public Button NextFacePoseRightButton;
public Button PreviousBodyPoseLeftButton;
public Button NextBodyPoseRightButton;
public Button PreviousOutfitLeftButton;
public Button NextOutfitRightButton;
[SerializeField] private Button QuitPhotomodeYesButton;
[SerializeField] private Button QuitPhotomodeNoButton;
[SerializeField] private Button ResetPhotographYesButton;
[SerializeField] private Button ResetPhotographNoButton;
[Header("Photomode Buttons Check")]
public GameObject checkDepthOfFieldON;
public GameObject checkDepthOfFieldOFF;
public GameObject checkLogoVisibilityON;
public GameObject checkLogoVisibilityOFF;
public GameObject checkShowPlayerON;
public GameObject checkShowPlayerOFF;
public GameObject checkShowCompanionON;
public GameObject checkShowCompanionOFF;
[Header("Selected Item UI")]
public GameObject _selectedItemUI_ColorFilters;
public GameObject _selectedItemUI_Borders;
//Eyes control buttons:
public Button EyesControlON;
public Button EyesControlOFF;
//------------------------------------
public Button[] ColorFilter = new Button[9];
//private Button[] ColorFilter;
public Button[] BorderButton = new Button[7];
#endregion
[Header("UI Menu Controller Navigation")]
[SerializeField] private UIMenuControllerNavigationPanel[] _uiMenuControllerNavigationPanel = new UIMenuControllerNavigationPanel[7];
int CurrentPanelIndex = 1;
public int CurrentModeIndex;
private Color defaultButtonColor;
private Color selectedButtonColor;
private static PhotomodeManager _instance;
public static PhotomodeManager GetInstance() { return _instance; }
void Awake()
{
if (!_instance)
{
_instance = this;
}
_PhotoModePanel.SetActive(false);
freeCameraLogic = freeCamera.GetComponent<FreeCamera>();
#region Update Logo name
UpdateLogoName();
#endregion
postProcess = GameObject.FindGameObjectWithTag("VolumeEffectsMain").GetComponent<Volume>();
postProcess.profile.TryGet(out liftGammaGain);
photomodeVolumeEffectsDepthOfField.profile.TryGet(out depthOfField);
photomodeVolumeBrightnessSaturation.profile.TryGet(out colorAdjustments);
//postProcess.profile.TryGet(out shadowsMidtonesHighlights);
if (eventSystem == null)
{
eventSystem = FindObjectOfType<EventSystem>();
}
}
private void Start()
{
//Here I save the values that the game starts with.
GainDefault = Gain;
saturationDefault = saturation;
exposureDefault = exposure;
DepthOfFieldDistanceDefault = DepthOfFieldDistance;
DepthOfFieldIntensityDefault = DepthOfFieldIntensity;
logoScaleDefault = LogoScale;
defaultButtonColor = new Color(255f, 255f, 255f, 255f);
selectedButtonColor = new Color(255f, 121f, 243f, 255f);
#region Buttons GetComponents Decleration
//UIManager.GetInstance().ColorFilter[UIManager.GetInstance().ColorFilter.Length]
CameraPanelButton = /*UIManager.GetInstance().CameraPanelButton.*/CameraPanelButton.gameObject.GetComponent<Button>();
DepthOfFieldPanelButton = /*UIManager.GetInstance().DepthOfFieldPanelButton.*/DepthOfFieldPanelButton.gameObject.GetComponent<Button>();
PicturePanelButton = /*UIManager.GetInstance().PicturePanelButton.*/PicturePanelButton.gameObject.GetComponent<Button>();
ColorFiltersPanelButton = /*UIManager.GetInstance().ColorFiltersPanelButton.*/ColorFiltersPanelButton.gameObject.GetComponent<Button>();
BordersPanelButton = /*UIManager.GetInstance().BordersPanelButton.*/BordersPanelButton.gameObject.GetComponent<Button>();
LogoPanelButton = /*UIManager.GetInstance().LogoPanelButton.*/LogoPanelButton.gameObject.GetComponent<Button>();
PosePanelButton = /*UIManager.GetInstance().PosePanelButton.*/PosePanelButton.gameObject.GetComponent<Button>();
DepthOfFieldON_Button = /*UIManager.GetInstance().DepthOfFieldON.*/DepthOfFieldON_Button.gameObject.GetComponent<Button>();
DepthOfFieldOFF_Button = /*UIManager.GetInstance().DepthOfFieldOFF.*/DepthOfFieldOFF_Button.gameObject.GetComponent<Button>();
LogoVisibilityON_Button = /*UIManager.GetInstance().LogoVisibilityON.*/LogoVisibilityON_Button.gameObject.GetComponent<Button>();
LogoVisibilityOFF_Button = /*UIManager.GetInstance().LogoVisibilityOFF.*/LogoVisibilityOFF_Button.gameObject.GetComponent<Button>();
PreviousLogoLeftButton = /*UIManager.GetInstance().PreviousLogoLeftButton.*/PreviousLogoLeftButton.gameObject.GetComponent<Button>();
NextLogoRightButton = /*UIManager.GetInstance().NextLogoRightButton.*/NextLogoRightButton.gameObject.GetComponent<Button>();
LogoPositionLeftButton = /*UIManager.GetInstance().LogoPositionLeftButton.*/LogoPositionLeftButton.gameObject.GetComponent<Button>();
LogoPositionRightButton = /*UIManager.GetInstance().LogoPositionRightButton.*/LogoPositionRightButton.gameObject.GetComponent<Button>();
ShowPlayeON = /*UIManager.GetInstance().ShowPlayeON.*/ShowPlayeON.gameObject.GetComponent<Button>();
ShowPlayerOFF = /*UIManager.GetInstance().ShowPlayerOFF.*/ShowPlayerOFF.gameObject.GetComponent<Button>();
ShowCompanionON = /*UIManager.GetInstance().ShowCompanionON.*/ShowCompanionON.gameObject.GetComponent<Button>();
ShowCompanionOFF = /*UIManager.GetInstance().ShowCompanionOFF.*/ShowCompanionOFF.gameObject.GetComponent<Button>();
PreviousFacePoseLeftButton = /*UIManager.GetInstance().PreviousFacePoseLeftButton.*/PreviousFacePoseLeftButton.gameObject.GetComponent<Button>();
NextFacePoseRightButton = /*UIManager.GetInstance().NextFacePoseRightButton.*/NextFacePoseRightButton.gameObject.GetComponent<Button>();
PreviousBodyPoseLeftButton = /*UIManager.GetInstance().PreviousBodyPoseLeftButton.*/PreviousBodyPoseLeftButton.gameObject.GetComponent<Button>();
NextBodyPoseRightButton = /*UIManager.GetInstance().NextBodyPoseRightButton.*/NextBodyPoseRightButton.gameObject.GetComponent<Button>();
PreviousOutfitLeftButton = PreviousOutfitLeftButton.gameObject.GetComponent<Button>();
NextOutfitRightButton = NextOutfitRightButton.gameObject.GetComponent<Button>();
QuitPhotomodeYesButton = /*UIManager.GetInstance().QuitPhotomodeYesButton.*/QuitPhotomodeYesButton.gameObject.GetComponent<Button>();
QuitPhotomodeNoButton = /*UIManager.GetInstance().QuitPhotomodeNoButton.*/QuitPhotomodeNoButton.gameObject.GetComponent<Button>();
ResetPhotographYesButton = /*UIManager.GetInstance().ResetPhotographYesButton.*/ResetPhotographYesButton.gameObject.GetComponent<Button>();
ResetPhotographNoButton = /*UIManager.GetInstance().ResetPhotographNoButton.*/ResetPhotographNoButton.gameObject.GetComponent<Button>();
ColorFilter[0] = /*UIManager.GetInstance().ColorFilter[0].*/ ColorFilter[0].gameObject.GetComponent<Button>();
ColorFilter[1] = /*UIManager.GetInstance().ColorFilter[1].*/ColorFilter[1].gameObject.GetComponent<Button>();
ColorFilter[2] = /*UIManager.GetInstance().ColorFilter[2].*/ColorFilter[2].gameObject.GetComponent<Button>();
ColorFilter[3] = /*UIManager.GetInstance().ColorFilter[3].*/ColorFilter[3].gameObject.GetComponent<Button>();
ColorFilter[4] = /*UIManager.GetInstance().ColorFilter[4].*/ColorFilter[4].gameObject.GetComponent<Button>();
ColorFilter[5] = /*UIManager.GetInstance().ColorFilter[5].*/ColorFilter[5].gameObject.GetComponent<Button>();
ColorFilter[6] = /*UIManager.GetInstance().ColorFilter[6].*/ColorFilter[6].gameObject.GetComponent<Button>();
ColorFilter[7] = /*UIManager.GetInstance().ColorFilter[7].*/ColorFilter[7].gameObject.GetComponent<Button>();
ColorFilter[8] = /*UIManager.GetInstance().ColorFilter[8].*/ColorFilter[8].gameObject.GetComponent<Button>();
BorderButton[0] = /*UIManager.GetInstance().BorderButton[0].*/BorderButton[0].gameObject.GetComponent<Button>();
BorderButton[1] = /*UIManager.GetInstance().BorderButton[1].*/BorderButton[1].gameObject.GetComponent<Button>();
BorderButton[2] = /*UIManager.GetInstance().BorderButton[2].*/BorderButton[2].gameObject.GetComponent<Button>();
BorderButton[3] = /*UIManager.GetInstance().BorderButton[3].*/BorderButton[3].gameObject.GetComponent<Button>();
BorderButton[4] = /*UIManager.GetInstance().BorderButton[4].*/BorderButton[4].gameObject.GetComponent<Button>();
BorderButton[5] = /*UIManager.GetInstance().BorderButton[5].*/BorderButton[5].gameObject.GetComponent<Button>();
BorderButton[6] = /*UIManager.GetInstance().BorderButton[6].*/BorderButton[6].gameObject.GetComponent<Button>();
//for (int i = 0; i < UIManager.GetInstance().ColorFilter.Length; i++)
//{
// ColorFilter[i] = UIManager.GetInstance().ColorFilter[i].GetComponent<Button>();
//}
//for (int i = 0; i < UIManager.GetInstance().ColorFilter.Length; i++)
//{
// ColorFilter.Add(UIManager.GetInstance().ColorFilter.Length);
// ColorFilter[i] = UIManager.GetInstance().ColorFilter[i].GetComponent<Button>();
//}
//BorderButton[BorderButton.Length] = UIManager.GetInstance().BorderButton[UIManager.GetInstance().BorderButton.Length].GetComponent<Button>();
#endregion
}
public void CaptureScreenshot()
{
//ScreenCapture.CaptureScreenshot("PhotoMode Screenshots");
//print("Screenshot taken");
}
#region Logo Positions
public enum LogoPositions
{
TopLeft,
TopCenter,
TopRight,
Left,
Center,
Right,
BottomLeft,
BottomCenter,
BottomRight
}
public LogoPositions stage = LogoPositions.TopLeft;
public void LogoPositionUpdate()
{
RectTransform logoRect = _LogoList[_indexLogos].GetComponent<RectTransform>();
switch (stage)
{
case LogoPositions.TopLeft:
UpdateLogoPosition(_topLeftPosition, "Top Left");
break;
case LogoPositions.TopCenter:
UpdateLogoPosition(_topCenterPosition, "Top Center");
break;
case LogoPositions.TopRight:
UpdateLogoPosition(_topRightPosition, "Top Right");
break;
case LogoPositions.Left:
UpdateLogoPosition(_leftPosition, "Left");
break;
case LogoPositions.Center:
UpdateLogoPosition(_centerPosition, "Center");
break;
case LogoPositions.Right:
UpdateLogoPosition(_rightPosition, "Right");
break;
case LogoPositions.BottomLeft:
UpdateLogoPosition(_bottomLeftPosition, "Bottom Left");
break;
case LogoPositions.BottomCenter:
UpdateLogoPosition(_bottomCenterPosition, "Bottom Center");
break;
case LogoPositions.BottomRight:
UpdateLogoPosition(_bottomRightPosition, "Bottom Right");
break;
}
// Ενημέρωση του μεγέθους του λογοτύπου
LogoScaleUpdater(logoRect.transform);
}
private void UpdateLogoPosition(Transform positionObject, string positionText)
{
if (positionObject == null || _logos == null) return;
RectTransform logoRect = _LogoList[_indexLogos].GetComponent<RectTransform>();
RectTransform positionRect = positionObject.GetComponent<RectTransform>();
if (logoRect != null && positionRect != null)
{
// Αντιγραφή θέσης
logoRect.anchoredPosition = positionRect.anchoredPosition;
// Αντιγραφή min & max anchor
logoRect.anchorMin = positionRect.anchorMin;
logoRect.anchorMax = positionRect.anchorMax;
// Αντιγραφή offset αν χρειάζεται
logoRect.offsetMin = positionRect.offsetMin;
logoRect.offsetMax = positionRect.offsetMax;
// Αντιγραφή pivot αν χρειάζεται
logoRect.pivot = positionRect.pivot;
}
_logoPositionText.text = positionText;
}
public void LogoScaleUpdater(Transform scalableObj)
{
scalableObj.localScale = new Vector3(LogoScale, LogoScale, LogoScale);
}
public void ChangeLogoPosition()
{
if (Input.GetKeyDown(KeyCode.RightArrow))
{
NextLogoPosition();
}
if (Input.GetKeyDown(KeyCode.LeftArrow))
{
PreviousLogoPosition();
}
}
public void ChangeLogo()
{
if (Input.GetKeyDown(KeyCode.Alpha2))
{
#region NextLogo
_indexLogos++;
if(_indexLogos >= _LogoList.Count)
{
_indexLogos = _LogoList.Count - 1;
return;
}
_LogoList[_indexLogos].SetActive(true);
if (_indexLogos > 0) _LogoList[_indexLogos - 1].SetActive(false);
else _LogoList[_LogoList.Count - 1].SetActive(false);
#endregion
}
if (Input.GetKeyDown(KeyCode.Alpha1))
{
#region PreviousLogo
_indexLogos--;
if (_indexLogos < 0)
{
_indexLogos = 0;
Debug.Log("Index can't be smaller than 0");
return;
}
_LogoList[_indexLogos].SetActive(true);
if (_indexLogos + 1 < _LogoList.Count)
{
_LogoList[_indexLogos + 1].SetActive(false);
Debug.Log("Previous logo");
}
#endregion
}
}
#endregion
public enum ModeState
{
Photomode,
Lightmode
}
public ModeState modeState = ModeState.Photomode;
public void PhotomodeModeUpdate()
{
switch (modeState)
{
case ModeState.Photomode:
PhotographerMode();
break;
case ModeState.Lightmode:
LightModeManager.GetInstance().LightModeStatesUpdate();
HUDVisibility();
//LightModeManager.GetInstance().LightModeSelectALight_Mode();
break;
default:
break;
}
}
public void EnableLightMode()
{
CurrentModeIndex = 1;
LightModeManager.GetInstance().SelectLightOrEditLightIndex = 0;
PhotomodeModeText.text = "Lightmode";
LightModeManager.GetInstance().LightModePanel.SetActive(true);
_PhotoModePanel.SetActive(false);
freeCameraLogic.enabled = false;
_lightmodeButton.gameObject.SetActive(true);
_photomodeButton.gameObject.SetActive(false);
IsInLightMode = true;
modeState = ModeState.Lightmode;
}
public void EnablePhotomode()
{
CurrentModeIndex = 0;
PhotomodeModeText.text = "Photomode";
LightModeManager.GetInstance().LightModePanel.SetActive(false);
_PhotoModePanel.SetActive(true);
freeCameraLogic.enabled = true;
_lightmodeButton.gameObject.SetActive(false);
_photomodeButton.gameObject.SetActive(true);
IsInLightMode = false;
//LightModeManager.GetInstance().DisableCurrentSpotLightMovement();
//LightModeManager.GetInstance().LightIndexUpdate();
modeState = ModeState.Photomode;
}
public void NextMode()
{
CurrentModeIndex += 1;
if(CurrentModeIndex > 1)
{
CurrentModeIndex = 0;
}
if(CurrentModeIndex == 1)
{
EnableLightMode();
}
else
{
EnablePhotomode();
}
}
public void PreviousMode()
{
CurrentModeIndex -= 1;
if (CurrentModeIndex < 0)
{
CurrentModeIndex = 1;
}
if (CurrentModeIndex == 1)
{
EnableLightMode();
}
else
{
EnablePhotomode();
}
}
public enum PhotoModeState
{
None,
Camera,
DepthOfField,
Picture,
ColorFilters,
Borders,
Logo,
Pose,
DisableEveryPanel
}
public PhotoModeState state = PhotoModeState.None;
public void PhotographerMode()
{
switch (state)
{
case PhotoModeState.None:
break;
case PhotoModeState.Camera:
UpdateButtonPanelStates();
HUDVisibility();
#region Panels
_PhotoModePanel.SetActive(true);
_cameraPanel.SetActive(true);
_DepthOfFieldPanel.SetActive(false);
_picturePanel.SetActive(false);
_colorFiltersPanel.SetActive(false);
_bordersPanel.SetActive(false);
_logoPanel.SetActive(false);
_posePanel.SetActive(false);
#endregion
#region Animators
_cameraUIAnimator.enabled = true;
_depthOfFieldUIAnimator.enabled = false;
_pictureUIAnimator.enabled = false;
_colorFiltersUIAnimator.enabled = false;
_bordersUIAnimator.enabled = false;
_logoUIAnimator.enabled = false;
_PoseUIAnimator.enabled = false;
#endregion
#region Button Selected Colors
//ColorBlock Cb_CameraPanelButton = new ColorBlock();
//Cb_CameraPanelButton.normalColor = selectedButtonColor;
//Cb_CameraPanelButton.colorMultiplier = 1;
//CameraPanelButton.colors = Cb_CameraPanelButton;
//ColorBlock Cb_DepthOfFieldPanelButton = DepthOfFieldPanelButton.colors;
//Cb_DepthOfFieldPanelButton.normalColor = defaultButtonColor;
//DepthOfFieldPanelButton.colors = Cb_DepthOfFieldPanelButton;
//ColorBlock Cb_PicturePanelButton = PicturePanelButton.colors;
//Cb_PicturePanelButton.normalColor = defaultButtonColor;
//DepthOfFieldPanelButton.colors = Cb_PicturePanelButton;
//ColorBlock Cb_ColorFiltersPanelButton = ColorFiltersPanelButton.colors;
//Cb_ColorFiltersPanelButton.normalColor = defaultButtonColor;
//ColorFiltersPanelButton.colors = Cb_ColorFiltersPanelButton;
//ColorBlock Cb_BordersPanelButton = BordersPanelButton.colors;
//Cb_BordersPanelButton.normalColor = defaultButtonColor;
//BordersPanelButton.colors = Cb_BordersPanelButton;
//ColorBlock Cb_LogoPanelButton = LogoPanelButton.colors;
//Cb_LogoPanelButton.normalColor = defaultButtonColor;
//LogoPanelButton.colors = Cb_LogoPanelButton;
//ColorBlock Cb_PosePanelButton = PosePanelButton.colors;
//Cb_PosePanelButton.normalColor = defaultButtonColor;
//PosePanelButton.colors = Cb_PosePanelButton;
#endregion
#region Selected Button
//eventSystem.firstSelectedGameObject = _cameraFieldOfViewSlider.gameObject;
#endregion
//PhotomodeControllerManager.GetInstance().ControllerNavigation_CameraPhotomodePanel();
CurrentPanelIndex = 1;
#region Sliders
//if (CanHoldDownSlider) //When you are changing the value from the slider.
//{
// FreeCamera.GetInstance().cameraRoll = _cameraRollSlider.value;
// FreeCamera.GetInstance().transform.localEulerAngles = new Vector3(FreeCamera.GetInstance().newRotationY, FreeCamera.GetInstance().newRotationX, FreeCamera.GetInstance().cameraRoll);
//}
//else //When you are changing the value fron the Keyboard.
//{
// _cameraRollSlider.value = FreeCamera.GetInstance().cameraRoll;
// CanHoldDownSlider = false;
//}
//FreeCamera.GetInstance().fieldOfView = _cameraFieldOfViewSlider.value; //Changes the camera's field of view value from the slider.
#endregion
break;
case PhotoModeState.DepthOfField:
UpdateButtonPanelStates();
HUDVisibility();
#region Panels
_cameraPanel.SetActive(false);
_DepthOfFieldPanel.SetActive(true);
_picturePanel.SetActive(false);
_colorFiltersPanel.SetActive(false);
_bordersPanel.SetActive(false);
_logoPanel.SetActive(false);
_posePanel.SetActive(false);
#endregion
#region Animators
_cameraUIAnimator.enabled = false;
_depthOfFieldUIAnimator.enabled = true;
_pictureUIAnimator.enabled = false;
_colorFiltersUIAnimator.enabled = false;
_bordersUIAnimator.enabled = false;
_logoUIAnimator.enabled = false;
_PoseUIAnimator.enabled = false;
#endregion
#region Button Selected Colors
//CameraPanelButton.image.color = new Color(255f, 255f, 255f);
//DepthOfFieldPanelButton.image.color = new Color(255f, 121f, 243f);
//PicturePanelButton.image.color = new Color(255f, 255f, 255f);
//ColorFiltersPanelButton.image.color = new Color(255f, 255f, 255f);
//BordersPanelButton.image.color = new Color(255f, 255f, 255f);
//LogoPanelButton.image.color = new Color(255f, 255f, 255f);
//PosePanelButton.image.color = new Color(255f, 255f, 255f);
#endregion
#region Sliders
DepthOfFieldDistance = _DepthOfFieldNearBlurSlider.value;
DepthOfFieldIntensity = _DepthOfFieldFarBlurSlider.value;
#endregion
//PhotomodeControllerManager.GetInstance().ControllerNavigation_DepthOfFieldPanel();
CurrentPanelIndex = 2;
UpdateDepthOfField();
//UpdateDepthOfFieldButtonsStates();
break;
case PhotoModeState.Picture:
UpdateButtonPanelStates();
HUDVisibility();
#region Panels
_cameraPanel.SetActive(false);
_DepthOfFieldPanel.SetActive(false);
_picturePanel.SetActive(true);
_colorFiltersPanel.SetActive(false);
_bordersPanel.SetActive(false);
_logoPanel.SetActive(false);
_posePanel.SetActive(false);
#endregion
#region Animators
_cameraUIAnimator.enabled = false;
_depthOfFieldUIAnimator.enabled = false;
_pictureUIAnimator.enabled = true;
_colorFiltersUIAnimator.enabled = false;
_bordersUIAnimator.enabled = false;
_logoUIAnimator.enabled = false;
_PoseUIAnimator.enabled = false;
#endregion
#region Button Selected Colors
//CameraPanelButton.image.color = new Color(255f, 255f, 255f);
//DepthOfFieldPanelButton.image.color = new Color(255f, 255f, 255f);
//PicturePanelButton.image.color = new Color(255f, 121f, 243f);
//ColorFiltersPanelButton.image.color = new Color(255f, 255f, 255f);
//BordersPanelButton.image.color = new Color(255f, 255f, 255f);
//LogoPanelButton.image.color = new Color(255f, 255f, 255f);
//PosePanelButton.image.color = new Color(255f, 255f, 255f);
#endregion
#region Sliders
Gain = _BrightnessSlider.value;
saturation = _SaturationSlider.value;
exposure = _exposureSlider.value;
#endregion
UpdateColorGrading();
#region Selected Button
eventSystem.firstSelectedGameObject = _BrightnessSlider.gameObject;
#endregion
//PhotomodeControllerManager.GetInstance().ControllerNavigation_Picture();
CurrentPanelIndex = 3;
break;
case PhotoModeState.ColorFilters:
UpdateButtonPanelStates();
HUDVisibility();
#region Panels
_cameraPanel.SetActive(false);
_DepthOfFieldPanel.SetActive(false);
_picturePanel.SetActive(false);
_colorFiltersPanel.SetActive(true);
_bordersPanel.SetActive(false);
_logoPanel.SetActive(false);
_posePanel.SetActive(false);
#endregion
#region Animators
_cameraUIAnimator.enabled = false;
_depthOfFieldUIAnimator.enabled = false;
_pictureUIAnimator.enabled = false;
_colorFiltersUIAnimator.enabled = true;
_bordersUIAnimator.enabled = false;
_logoUIAnimator.enabled = false;
_PoseUIAnimator.enabled = false;
#endregion
#region Sliders
ColorFiltersManager.GetInstance().filterIntensity = _colorFilterIntensitySlider.value;
//ColorFiltersManager.GetInstance().UpdateColorGradingFilters();
ColorFiltersManager.GetInstance().UpdateColorFiltersWeight();
#endregion
UpdateColorFiltersButtonStates();
//PhotomodeControllerManager.GetInstance().ControllerNavigation_ColorFilters();
CurrentPanelIndex = 4;
break;
case PhotoModeState.Borders:
UpdateButtonPanelStates();
HUDVisibility();
#region Panels
_cameraPanel.SetActive(false);
_DepthOfFieldPanel.SetActive(false);
_picturePanel.SetActive(false);
_colorFiltersPanel.SetActive(false);
_bordersPanel.SetActive(true);
_logoPanel.SetActive(false);
_posePanel.SetActive(false);
#endregion
#region Animators
_cameraUIAnimator.enabled = false;
_depthOfFieldUIAnimator.enabled = false;
_pictureUIAnimator.enabled = false;
_colorFiltersUIAnimator.enabled = false;
_bordersUIAnimator.enabled = true;
_logoUIAnimator.enabled = false;
_PoseUIAnimator.enabled = false;
#endregion
UpdateBordersButtons();
//PhotomodeControllerManager.GetInstance().ControllerNavigation_Borders();
CurrentPanelIndex = 5;
break;
case PhotoModeState.Logo:
UpdateButtonPanelStates();
HUDVisibility();
#region Panels
_cameraPanel.SetActive(false);
_DepthOfFieldPanel.SetActive(false);
_picturePanel.SetActive(false);
_colorFiltersPanel.SetActive(false);
_bordersPanel.SetActive(false);
_logoPanel.SetActive(true);
_posePanel.SetActive(false);
#endregion
#region Animators
_cameraUIAnimator.enabled = false;
_depthOfFieldUIAnimator.enabled = false;
_pictureUIAnimator.enabled = false;
_colorFiltersUIAnimator.enabled = false;
_bordersUIAnimator.enabled = false;
_logoUIAnimator.enabled = true;
_PoseUIAnimator.enabled = false;
#endregion
#region Sliders
LogoScale = _logoScaleSlider.value;
#endregion
//UpdateLogoButtonStates();
UpdateLogoPanel();
LogoPositionUpdate();
ChangeLogoPosition();
//PhotomodeControllerManager.GetInstance().ControllerNavigation_Logo();
CurrentPanelIndex = 6;
break;
case PhotoModeState.Pose:
PoseManager.Getinstance().UpdateFaceRenderer();
UpdateButtonPanelStates();
HUDVisibility();
#region Panels
_cameraPanel.SetActive(false);
_DepthOfFieldPanel.SetActive(false);
_picturePanel.SetActive(false);
_colorFiltersPanel.SetActive(false);
_bordersPanel.SetActive(false);
_logoPanel.SetActive(false);
_posePanel.SetActive(true);
#endregion
#region Animators
_cameraUIAnimator.enabled = false;
_depthOfFieldUIAnimator.enabled = false;
_pictureUIAnimator.enabled = false;
_colorFiltersUIAnimator.enabled = false;
_bordersUIAnimator.enabled = false;
_logoUIAnimator.enabled = false;
_PoseUIAnimator.enabled = true;
#endregion
UpdatePoseButtonStates();
UpdatePosePanel();
//PhotomodeControllerManager.GetInstance().ControllerNavigation_Pose();
CurrentPanelIndex = 7;
break;
case PhotoModeState.DisableEveryPanel:
_PhotoModePanel.SetActive(false);
LightModeManager.GetInstance().LightModePanel.SetActive(false);
_photomodeSelectModePanel.SetActive(false);
//Time.timeScale = 1f; //Reset the timescale back to normal.
state = PhotoModeState.None;
break;
}
}
public void CameraSlidersUpdate()
{
#region Sliders
if (CanHoldDownSlider) //When you are changing the value from the slider.
{
FreeCamera.GetInstance().cameraRoll = _cameraRollSlider.value;
FreeCamera.GetInstance().transform.localEulerAngles = new Vector3(FreeCamera.GetInstance().newRotationY, FreeCamera.GetInstance().newRotationX, FreeCamera.GetInstance().cameraRoll);
}
else //When you are changing the value fron the Keyboard.
{
_cameraRollSlider.value = FreeCamera.GetInstance().cameraRoll;
CanHoldDownSlider = false;
}
FreeCamera.GetInstance().fieldOfView = _cameraFieldOfViewSlider.value; //Changes the camera's field of view value from the slider.
#endregion
}
IEnumerator UpdateCameraSlidersAfterSecs()
{
updateCameraSliders = false;
yield return new WaitForSecondsRealtime(0.01f);
updateCameraSliders = true;
}
// Update is called once per frame
void Update()
{
//PhotographerMode();
PhotomodeModeUpdate();
#region Open or Close Photomode
if (/*Input.GetKeyDown(KeyCode.Escape)*/ HasPressedToOpenPhotoMode && !photoModeOpen/* && InventoryManager.GetInstance()._inventoryOpen == false*/ /*COMMENTED OUT TODAY 05.05.2025*/)
{
state = PhotoModeState.Camera;
Time.timeScale = 0f;
photoModeOpen = true;
Cursor.visible = true;
Cursor.lockState = CursorLockMode.None;
#region Cameras Update
StartCoroutine(UpdateCameraSlidersAfterSecs());
UpdateFreeCameraPositionRotation();
freeCamera.gameObject.SetActive(true);
FreeCamera.GetInstance().enabled = true;
FreeCameraClippingPlanesValueChange();
//PlayerManager.GetInstance().DisablePlayerCameraMovement();
PlayerManager.GetInstance().PlayerMainCamera.SetActive(false);
#endregion
#region Player
//PlayerManager.GetInstance().DisablePlayerMovement();
//PlayerManager.GetInstance().PlayerMovementCannotBeEnabled();
PoseManager.Getinstance().temporarilySavedPlayerPos = PlayerManager.GetInstance().playerGameObj.transform.position;
PoseManager.Getinstance().temporarilySavedPlayerRot = PlayerManager.GetInstance().playerGameObj.transform.rotation;
#endregion
#region Animation & State Save
PoseManager.Getinstance().SaveAnimatorStateAndAnimationFrame();
#endregion
#region Pose Update
PoseLookAt.GetInstance().ValuesUpdate();
PoseManager.Getinstance().UpdateFaceRendererValues();
PoseManager.Getinstance().Cry_NoseBleed_SmoothnessDefaultValues(); //Saves the default values.
PoseManager.Getinstance().EyeMotionDefaultValues(); //Saves the default values.
PoseManager.Getinstance().EyesMotionOFF();
PoseManager.Getinstance().PlayerBodyUpdate();
PoseManager.Getinstance().PlayerFaceUpdate();
PoseManager.Getinstance().SetCharacterFingers();
#endregion
#region HUD Update
HideHUD = false;
visibility = HUD.DisplayHUD;
EnablePhotomode();
#endregion
if (InventoryManager.GetInstance() != null)
{
//COMMENTED OUT TODAY 05.05.2025
//InventoryManager.GetInstance().canOpenInventory = false;
}
}
else if (Input.GetKeyDown(KeyCode.Escape) && HasPressedToOpenPhotoMode && photoModeOpen && quitPhotomodePanelOn == false && canQuitPhotomodePanel || Input.GetKeyDown(KeyCode.JoystickButton1) && HasPressedToOpenPhotoMode && photoModeOpen && quitPhotomodePanelOn == false && canQuitPhotomodePanel)
{
QuitPhotomodePanelQuestion();
}
#endregion
if (photoModeOpen)
{
#region Controller
if (InputControlManager.Getinstance().IsUsingJoystick)
{
if (!IsInLightMode)
{
if (Input.GetKeyDown(KeyCode.JoystickButton5))
{
CurrentPanelIndex++;
if (CurrentPanelIndex > 7)
{
CurrentPanelIndex = 1;
}
switch (CurrentPanelIndex)
{
case 1:
state = PhotoModeState.Camera;
break;
case 2:
state = PhotoModeState.DepthOfField;
break;
case 3:
state = PhotoModeState.Picture;
break;
case 4:
state = PhotoModeState.ColorFilters;
break;
case 5:
state = PhotoModeState.Borders;
break;
case 6:
state = PhotoModeState.Logo;
break;
case 7:
state = PhotoModeState.Pose;
break;
}
}
else if (Input.GetKeyDown(KeyCode.JoystickButton4))
{
CurrentPanelIndex--;
if (CurrentPanelIndex < 1)
{
CurrentPanelIndex = 7;
}
switch (CurrentPanelIndex)
{
case 1:
state = PhotoModeState.Camera;
break;
case 2:
state = PhotoModeState.DepthOfField;
break;
case 3:
state = PhotoModeState.Picture;
break;
case 4:
state = PhotoModeState.ColorFilters;
break;
case 5:
state = PhotoModeState.Borders;
break;
case 6:
state = PhotoModeState.Logo;
break;
case 7:
state = PhotoModeState.Pose;
break;
}
}
}
#region Change mode
if (Input.GetKeyDown(KeyCode.Joystick1Button0) && quitPhotomodePanelOn == false && resetPhotographPanelOn == false)
{
NextMode();
LightModeManager.GetInstance().LightModeSelectALight_Mode();
LightModeManager.GetInstance().SelectALight();
}
#endregion
}
#endregion
if (updateCameraSliders)
{
CameraSlidersUpdate();
}
if (quitPhotomodePanelOn)
{
if (Input.GetKeyDown(KeyCode.Return) || Input.GetKeyDown(KeyCode.JoystickButton0))
{
QuitPhotomode();
}
else if (Input.GetKeyDown(KeyCode.Escape) || Input.GetKeyDown(KeyCode.JoystickButton1))
{
DoNotQuitPhotomode();
}
}
#region Grids Input
if ((Input.GetKeyDown(KeyCode.T) || Input.GetKeyDown(KeyCode.JoystickButton2)) && grid0IsEnabled == false && grid1IsEnabled == false)
{
Grid0Enabled();
}
else if ((Input.GetKeyDown(KeyCode.T) || Input.GetKeyDown(KeyCode.JoystickButton2)) && grid0IsEnabled)
{
Grid1Enabled();
}
else if ((Input.GetKeyDown(KeyCode.T) || Input.GetKeyDown(KeyCode.JoystickButton2)) && grid1IsEnabled)
{
GridsDisabled();
}
#endregion
#region Capture screenshot
if (Input.GetKeyDown(KeyCode.P) || Input.GetKeyDown(KeyCode.JoystickButton6))
{
CaptureScreenshot();
}
#endregion
#region Reset Settings
if (Input.GetKeyDown(KeyCode.R/*R = Reset*/) && resetPhotographPanelOn == false && canResetPhotograph || Input.GetKeyDown(KeyCode.JoystickButton9) && resetPhotographPanelOn == false && canResetPhotograph)
{
ResetPhotographPanelQuestion();
}
if (resetPhotographPanelOn)
{
if (Input.GetKeyDown(KeyCode.Return) || Input.GetKeyDown(KeyCode.JoystickButton0))
{
ResetSettings();
}
else if (Input.GetKeyDown(KeyCode.Escape) || Input.GetKeyDown(KeyCode.JoystickButton1))
{
DoNotResetPhotograph();
}
}
#endregion
}
}
#region Grids
public void Grid0Enabled()
{
_grid.SetActive(true);
_grid1.SetActive(false);
grid0IsEnabled = true;
grid1IsEnabled = false;
}
public void Grid1Enabled()
{
_grid.SetActive(false);
_grid1.SetActive(true);
grid0IsEnabled = false;
grid1IsEnabled = true;
}
public void GridsDisabled()
{
_grid.SetActive(false);
_grid1.SetActive(false);
grid0IsEnabled = false;
grid1IsEnabled = false;
}
#endregion
#region Quit Photomode
public void QuitPhotomodePanelQuestion()
{
Debug.Log("Exited photomode");
StartCoroutine(quitPhotomodePanelOnTrue());
_QuitPhotomodePanel.SetActive(true);
UpdateQuitPhotomodePanelButtons();
FreeCamera.GetInstance().enabled = false;
canResetPhotograph = false;
}
IEnumerator quitPhotomodePanelOnTrue()
{
yield return new WaitForSecondsRealtime(0.1f);
quitPhotomodePanelOn = true;
}
public void DoNotQuitPhotomode()
{
quitPhotomodePanelOn = false;
_QuitPhotomodePanel.SetActive(false);
if (!IsInLightMode)
{
FreeCamera.GetInstance().enabled = true;
}
canResetPhotograph = true;
}
public void QuitPhotomode()
{
modeState = ModeState.Photomode;
state = PhotoModeState.DisableEveryPanel;
quitPhotomodePanelOn = false;
photoModeOpen = false;
HasPressedToOpenPhotoMode = false;
canResetPhotograph = true;
ResetSettings();
_QuitPhotomodePanel.SetActive(false);
//Cursor.lockState = CursorLockMode.Locked;
//Cursor.visible = false;
#region Pause Game Menu
PauseMenu.GetInstance().GoToPauseMenuHome();
#endregion
#region Cameras Update
PlayerManager.GetInstance().PlayerMainCamera.SetActive(true);
PlayerCameraDecideIfEnabled();
freeCamera.gameObject.SetActive(false);
#endregion
#region Player
//PlayersManager.GetInstance()._PlayerController.enabled = true;
#endregion
}
#endregion
#region Reset Photograph
public void ResetPhotographPanelQuestion()
{
StartCoroutine(ResetPhotographPanelOnTrue());
_ResetPhotographPanel.SetActive(true);
UpdateResetPhotographPanelButtons();
FreeCamera.GetInstance().enabled = false;
canQuitPhotomodePanel = false;
}
IEnumerator ResetPhotographPanelOnTrue()
{
yield return new WaitForSecondsRealtime(0.1f);
resetPhotographPanelOn = true;
}
public void DoNotResetPhotograph()
{
resetPhotographPanelOn = false;
_ResetPhotographPanel.SetActive(false);
if (!IsInLightMode)
{
FreeCamera.GetInstance().enabled = true;
}
canQuitPhotomodePanel = true;
}
#endregion
public void UpdateFreeCameraPositionRotation()
{
freeCamera.position = PlayerManager.GetInstance().PlayerMainCamera.transform.position;
freeCamera.rotation = PlayerManager.GetInstance().PlayerMainCamera.transform.rotation;
}
public void UpdateColorGrading()
{
//liftGammaGain.gain.value = new Vector4(Gain, Gain, Gain, Gain); //Brightness
//Vector4 GainValue = new Vector4(Gain, Gain, Gain, Gain);
//shadowsMidtonesHighlights.shadows = new Vector4Parameter(GainValue, true);
//shadowsMidtonesHighlights.midtones = new Vector4Parameter(GainValue, true);
//shadowsMidtonesHighlights.highlights = new Vector4Parameter(GainValue, true);
colorAdjustments.saturation.value = saturation;
colorAdjustments.postExposure.value = exposure;
}
public void UpdateDepthOfField()
{
// depthOfField.focusDistance.value = DepthOfFieldDistance;
depthOfField.nearMaxBlur = DepthOfFieldDistance;
depthOfField.farMaxBlur = DepthOfFieldIntensity;
if (DepthOfFieldOn)
{
_DepthOfFieldNearBlurSlider.interactable = true;
_DepthOfFieldFarBlurSlider.interactable = true;
/*UIManager.GetInstance().*/checkDepthOfFieldON.SetActive(true);
/*UIManager.GetInstance().*/checkDepthOfFieldOFF.SetActive(false);
}
else
{
_DepthOfFieldNearBlurSlider.interactable = false;
_DepthOfFieldFarBlurSlider.interactable = false;
/*UIManager.GetInstance().*/checkDepthOfFieldON.SetActive(false);
/*UIManager.GetInstance().*/checkDepthOfFieldOFF.SetActive(true);
}
}
public void NextLogo()
{
#region NextLogo
_indexLogos++;
if (_indexLogos >= _LogoList.Count)
{
_indexLogos = _LogoList.Count - 1;
return;
}
_LogoList[_indexLogos].SetActive(true);
if (_indexLogos > 0) _LogoList[_indexLogos - 1].SetActive(false);
else _LogoList[_LogoList.Count - 1].SetActive(false);
#endregion
#region Update Logo name
UpdateLogoName();
#endregion
}
public void PreviousLogo()
{
#region PreviousLogo
_indexLogos--;
if (_indexLogos < 0)
{
_indexLogos = 0;
Debug.Log("Index can't be smaller than 0");
return;
}
_LogoList[_indexLogos].SetActive(true);
if (_indexLogos + 1 < _LogoList.Count)
{
_LogoList[_indexLogos + 1].SetActive(false);
}
#endregion
#region Update Logo name
UpdateLogoName();
#endregion
}
public void UpdateLogoName()
{
_logoName.text = _LogoList[_indexLogos].name;
}
public void NextLogoPosition()
{
#region NextLogoPosition
indexPositions++;
if (indexPositions >= _LogoPosition) //If index is greater or equals to the last page:
{
indexPositions = _LogoPosition++;
switch (_LogoPosition)
{
case 1:
stage = LogoPositions.TopLeft;
break;
case 2:
stage = LogoPositions.TopCenter;
break;
case 3:
stage = LogoPositions.TopRight;
break;
case 4:
stage = LogoPositions.Left;
break;
case 5:
stage = LogoPositions.Center;
break;
case 6:
stage = LogoPositions.Right;
break;
case 7:
stage = LogoPositions.BottomLeft;
break;
case 8:
stage = LogoPositions.BottomCenter;
break;
case 9:
stage = LogoPositions.BottomRight;
break;
default:
stage = LogoPositions.TopLeft;
indexPositions = 0;
_LogoPosition = 1;
break;
}
}
#endregion
}
public void PreviousLogoPosition()
{
#region Previous logo position
indexPositions--;
if (indexPositions <= _LogoPosition) //If index is greater or equals to the last page:
{
indexPositions = _LogoPosition--;
switch (_LogoPosition)
{
case 1:
stage = LogoPositions.TopLeft;
break;
case 2:
stage = LogoPositions.TopCenter;
break;
case 3:
stage = LogoPositions.TopRight;
break;
case 4:
stage = LogoPositions.Left;
break;
case 5:
stage = LogoPositions.Center;
break;
case 6:
stage = LogoPositions.Right;
break;
case 7:
stage = LogoPositions.BottomLeft;
break;
case 8:
stage = LogoPositions.BottomCenter;
break;
case 9:
stage = LogoPositions.BottomRight;
break;
default:
stage = LogoPositions.BottomRight;
indexPositions = 8;
_LogoPosition = 9;
break;
}
}
#endregion
}
#region Color Filters
//public void UpdateColorFilter0() //No Filter
//{
// liftGammaGain.colorFilter.value = new Color(1f, 1f, 1f);
//}
//public void UpdateColorFilter1()
//{
// //colorGrading.colorFilter.value = new Color(GRAPSE, GRAPSE, GRAPSE );
//}
//public void UpdateColorFilter2()
//{
// liftGammaGain.colorFilter.value = new Color(0.8431373f, 0.6078432f, 1f);
// StartCoroutine(CanChangeValueBySliderBoolChangeSecs());
//}
#endregion
public void UpdateLogoPanel()
{
#region UpdateLogoVisibility
if (LogoVisibilityOn)
{
_LogoList[_indexLogos].SetActive(true);
/*UIManager.GetInstance().*/checkLogoVisibilityON.SetActive(true);
/*UIManager.GetInstance().*/checkLogoVisibilityOFF.SetActive(false);
_logoScaleSlider.interactable = true;
#region Logo Previous, Next Stuff
/*UIManager.GetInstance().*/
PreviousLogoLeftButton.GetComponent<Button>().interactable = true;
/*UIManager.GetInstance().*/NextLogoRightButton.GetComponent<Button>().interactable = true;
_previousLogoLeftButtonAnimator.enabled = true;
_nextLogoRightButtonAnimator.enabled = true;
#endregion
#region Logo Position Stuff
/*UIManager.GetInstance().*/LogoPositionLeftButton.GetComponent<Button>().interactable = true;
/*UIManager.GetInstance().*/LogoPositionRightButton.GetComponent<Button>().interactable = true;
_ButtonPositionLeftArrowAnimator.enabled = true;
_ButtonPositionRightArrowAnimator.enabled = true;
#endregion
}
else
{
_LogoList[_indexLogos].SetActive(false);
/*UIManager.GetInstance().*/checkLogoVisibilityON.SetActive(false);
/*UIManager.GetInstance().*/checkLogoVisibilityOFF.SetActive(true);
_logoScaleSlider.interactable = false;
#region Logo Previous, Next Stuff
/*UIManager.GetInstance().*/PreviousLogoLeftButton.GetComponent<Button>().interactable = false;
/*UIManager.GetInstance().*/NextLogoRightButton.GetComponent<Button>().interactable = false;
_previousLogoLeftButtonAnimator.enabled = false;
_nextLogoRightButtonAnimator.enabled = false;
#endregion
#region Logo Position Stuff
/*UIManager.GetInstance().*/LogoPositionLeftButton.GetComponent<Button>().interactable = false;
/*UIManager.GetInstance().*/LogoPositionRightButton.GetComponent<Button>().interactable = false;
_ButtonPositionLeftArrowAnimator.enabled = false;
_ButtonPositionRightArrowAnimator.enabled = false;
#endregion
}
#endregion
}
IEnumerator CanChangeValueBySliderBoolChangeSecs()
{
CanChangeValueBySlider = false;
yield return new WaitForSeconds(0.1f);
CanChangeValueBySlider = true;
}
public void UpdatePosePanel()
{
#region Update player or companion visibility
if (PoseManager.Getinstance()._currentlySelectedCharacterIsHidden)
{
/*UIManager.GetInstance().*/checkShowPlayerOFF.SetActive(true);
/*UIManager.GetInstance().*/checkShowPlayerON.SetActive(false);
}
else
{
/*UIManager.GetInstance().*/checkShowPlayerOFF.SetActive(false);
/*UIManager.GetInstance().*/checkShowPlayerON.SetActive(true);
}
if (PoseManager.Getinstance()._companionIsHidden)
{
/*UIManager.GetInstance().*/checkShowCompanionOFF.SetActive(true);
/*UIManager.GetInstance().*/checkShowCompanionON.SetActive(false);
}
else
{
/*UIManager.GetInstance().*/checkShowCompanionOFF.SetActive(false);
/*UIManager.GetInstance().*/checkShowCompanionON.SetActive(true);
}
#endregion
}
#region Borders
public void NoBorder()
{
_bordersList[0].SetActive(false);
_bordersList[1].SetActive(false);
_bordersList[2].SetActive(false);
_bordersList[3].SetActive(false);
_bordersList[4].SetActive(false);
_bordersList[5].SetActive(false);
#region Selected Item UI Position
/*UIManager.GetInstance().*/_selectedItemUI_Borders.transform.position = /*UIManager.GetInstance().*/BorderButton[0].transform.position;
#endregion
}
public void BorderVignette()
{
_bordersList[0].SetActive(true);
_bordersList[1].SetActive(false);
_bordersList[2].SetActive(false);
_bordersList[3].SetActive(false);
_bordersList[4].SetActive(false);
_bordersList[5].SetActive(false);
#region Selected Item UI Position
/*UIManager.GetInstance().*/_selectedItemUI_Borders.transform.position = /*UIManager.GetInstance().*/BorderButton[1].transform.position;
#endregion
}
public void BorderPolaroid()
{
_bordersList[0].SetActive(false);
_bordersList[1].SetActive(true);
_bordersList[2].SetActive(false);
_bordersList[3].SetActive(false);
_bordersList[4].SetActive(false);
_bordersList[5].SetActive(false);
#region Selected Item UI Position
/*UIManager.GetInstance().*/_selectedItemUI_Borders.transform.position = /*UIManager.GetInstance().*/BorderButton[2].transform.position;
#endregion
}
public void BorderUpDownBlackBars()
{
_bordersList[0].SetActive(false);
_bordersList[1].SetActive(false);
_bordersList[2].SetActive(true);
_bordersList[3].SetActive(false);
_bordersList[4].SetActive(false);
_bordersList[5].SetActive(false);
#region Selected Item UI Position
/*UIManager.GetInstance().*/_selectedItemUI_Borders.transform.position = /*UIManager.GetInstance().*/BorderButton[3].transform.position;
#endregion
}
public void BorderSideBlackBars()
{
_bordersList[0].SetActive(false);
_bordersList[1].SetActive(false);
_bordersList[2].SetActive(false);
_bordersList[3].SetActive(true);
_bordersList[4].SetActive(false);
_bordersList[5].SetActive(false);
#region Selected Item UI Position
/*UIManager.GetInstance().*/_selectedItemUI_Borders.transform.position = /*UIManager.GetInstance().*/BorderButton[4].transform.position;
#endregion
}
public void BorderButterflies()
{
_bordersList[0].SetActive(false);
_bordersList[1].SetActive(false);
_bordersList[2].SetActive(false);
_bordersList[3].SetActive(false);
_bordersList[4].SetActive(true);
_bordersList[5].SetActive(false);
#region Selected Item UI Position
/*UIManager.GetInstance().*/_selectedItemUI_Borders.transform.position = /*UIManager.GetInstance().*/BorderButton[5].transform.position;
#endregion
}
public void BorderLISOriginalBoxArt()
{
_bordersList[0].SetActive(false);
_bordersList[1].SetActive(false);
_bordersList[2].SetActive(false);
_bordersList[3].SetActive(false);
_bordersList[4].SetActive(false);
_bordersList[5].SetActive(true);
#region Selected Item UI Position
/*UIManager.GetInstance().*/_selectedItemUI_Borders.transform.position = /*UIManager.GetInstance().*/BorderButton[6].transform.position;
#endregion
}
#endregion
#region HUD Visibility
public enum HUD
{
DisplayHUD,
HideHUD
}
public HUD visibility = HUD.DisplayHUD;
public void HUDVisibility()
{
if (Input.GetKeyDown(KeyCode.H) && !HideHUD && photoModeOpen || Input.GetKeyDown(KeyCode.JoystickButton3) && !HideHUD && photoModeOpen)
{
visibility = HUD.HideHUD;
HideHUD = true;
}
else if (Input.GetKeyDown(KeyCode.H) && HideHUD && photoModeOpen || Input.GetKeyDown(KeyCode.JoystickButton3) && HideHUD && photoModeOpen)
{
visibility = HUD.DisplayHUD;
HideHUD = false;
}
switch (visibility)
{
case HUD.DisplayHUD:
_PhotomodePanelHUD.enabled = true;
_cameraPanelHUD.SetActive(true);
_depthOfFieldPanelHUD.SetActive(true);
_picturePanelHUD.SetActive(true);
_colorFiltersPanelHUD.SetActive(true);
_bordersPanelHUD.SetActive(true);
_logoPanelHUD.SetActive(true);
_posePanelHUD.SetActive(true);
_buttonsHUD.SetActive(true);
_borderlineHUD.SetActive(true);
_gridsHUD.SetActive(true);
if (InputControlManager.Getinstance().IsUsingJoystick)
{
_controllerButtonsIndicationsHUD.SetActive(true);
_bottomUIHUD_Controller.SetActive(true);
_buttomUIHUD_PC.SetActive(false);
LightModeManager.GetInstance().BottomHelpButtonsHUD_Controller.SetActive(true);
LightModeManager.GetInstance().BottomHelpButtonsHUD_PC.SetActive(false);
_quitPhotomodeNoController.SetActive(true);
_quitPhotomodeYesController.SetActive(true);
_quitPhotomodeNoPC.SetActive(false);
_quitPhotomodeYesPC.SetActive(false);
_resetPhotographNoController.SetActive(true);
_resetPhotographYesController.SetActive(true);
_resetPhotographNoPC.SetActive(false);
_resetPhotographYesPC.SetActive(false);
}
else
{
_controllerButtonsIndicationsHUD.SetActive(false);
_buttomUIHUD_PC.SetActive(true);
_bottomUIHUD_Controller.SetActive(false);
_controllerButtonsIndicationsHUD.SetActive(false);
LightModeManager.GetInstance().BottomHelpButtonsHUD_Controller.SetActive(false);
LightModeManager.GetInstance().BottomHelpButtonsHUD_PC.SetActive(true);
_quitPhotomodeNoController.SetActive(false);
_quitPhotomodeYesController.SetActive(false);
_quitPhotomodeNoPC.SetActive(true);
_quitPhotomodeYesPC.SetActive(true);
_resetPhotographNoController.SetActive(false);
_resetPhotographYesController.SetActive(false);
_resetPhotographNoPC.SetActive(true);
_resetPhotographYesPC.SetActive(true);
}
LightModeManager.GetInstance().LightModePanelHUD.SetActive(true);
_photomodeSelectModePanel.SetActive(true);
break;
case HUD.HideHUD:
_PhotomodePanelHUD.enabled = false;
_cameraPanelHUD.SetActive(false);
_depthOfFieldPanelHUD.SetActive(false);
_picturePanelHUD.SetActive(false);
_colorFiltersPanelHUD.SetActive(false);
_bordersPanelHUD.SetActive(false);
_logoPanelHUD.SetActive(false);
_posePanelHUD.SetActive(false);
_buttonsHUD.SetActive(false);
_borderlineHUD.SetActive(false);
_buttomUIHUD_PC.SetActive(false);
_gridsHUD.SetActive(false);
if (InputControlManager.Getinstance().IsUsingJoystick)
{
_controllerButtonsIndicationsHUD.SetActive(false);
_bottomUIHUD_Controller.SetActive(false);
LightModeManager.GetInstance().BottomHelpButtonsHUD_Controller.SetActive(false);
_quitPhotomodeNoController.SetActive(true);
_quitPhotomodeYesController.SetActive(true);
_quitPhotomodeNoPC.SetActive(false);
_quitPhotomodeYesPC.SetActive(false);
_resetPhotographNoController.SetActive(true);
_resetPhotographYesController.SetActive(true);
_resetPhotographNoPC.SetActive(false);
_resetPhotographYesPC.SetActive(false);
}
else
{
_quitPhotomodeNoController.SetActive(false);
_quitPhotomodeYesController.SetActive(false);
_quitPhotomodeNoPC.SetActive(true);
_quitPhotomodeYesPC.SetActive(true);
_resetPhotographNoController.SetActive(false);
_resetPhotographYesController.SetActive(false);
_resetPhotographNoPC.SetActive(true);
_resetPhotographYesPC.SetActive(true);
}
LightModeManager.GetInstance().BottomHelpButtonsHUD_PC.SetActive(false);
LightModeManager.GetInstance().LightModePanelHUD.SetActive(false);
_photomodeSelectModePanel.SetActive(false);
break;
}
}
#endregion
public void UpdateDepthOfFieldButtonsStates() //Updates the button states When OnClick.
{
//UIManager.GetInstance().DepthOfFieldON.GetComponent<Button>().onClick.AddListener(DepthOfFieldON); //If button is clicked call method.
//UIManager.GetInstance().DepthOfFieldOFF.GetComponent<Button>().onClick.AddListener(DepthOfFieldOFF); //If button is clicked call method.
DepthOfFieldON_Button.onClick.AddListener(DepthOfFieldON); //If button is clicked call method.
DepthOfFieldOFF_Button.onClick.AddListener(DepthOfFieldOFF); //If button is clicked call method.
}
public void UpdateColorFiltersButtonStates()
{
//UIManager.GetInstance().ColorFilter[0].GetComponent<Button>().onClick.AddListener(ColorFiltersManager.GetInstance().NoFilter);
//UIManager.GetInstance().ColorFilter[1].GetComponent<Button>().onClick.AddListener(ColorFiltersManager.GetInstance().ForestFilter);
//UIManager.GetInstance().ColorFilter[2].GetComponent<Button>().onClick.AddListener(ColorFiltersManager.GetInstance().ColdFilter);
//UIManager.GetInstance().ColorFilter[3].GetComponent<Button>().onClick.AddListener(ColorFiltersManager.GetInstance().GreyFilter);
//UIManager.GetInstance().ColorFilter[4].GetComponent<Button>().onClick.AddListener(ColorFiltersManager.GetInstance().SepiaFilter);
//UIManager.GetInstance().ColorFilter[5].GetComponent<Button>().onClick.AddListener(ColorFiltersManager.GetInstance().NatureGreenFilter);
//UIManager.GetInstance().ColorFilter[6].GetComponent<Button>().onClick.AddListener(ColorFiltersManager.GetInstance().PurpleParadiseFilter);
//UIManager.GetInstance().ColorFilter[7].GetComponent<Button>().onClick.AddListener(ColorFiltersManager.GetInstance().SummertimeFilter);
//UIManager.GetInstance().ColorFilter[8].GetComponent<Button>().onClick.AddListener(ColorFiltersManager.GetInstance().GreenForestFilter);
ColorFilter[0].onClick.AddListener(() => { ColorFiltersManager.GetInstance().NoFilter(); });
ColorFilter[1].onClick.AddListener(() => { ColorFiltersManager.GetInstance().FilterUpdate(0); });
ColorFilter[2].onClick.AddListener(() => { ColorFiltersManager.GetInstance().FilterUpdate(1); });
ColorFilter[3].onClick.AddListener(() => { ColorFiltersManager.GetInstance().FilterUpdate(2); });
ColorFilter[4].onClick.AddListener(() => { ColorFiltersManager.GetInstance().FilterUpdate(3); });
ColorFilter[5].onClick.AddListener(() => { ColorFiltersManager.GetInstance().FilterUpdate(4); });
ColorFilter[6].onClick.AddListener(() => { ColorFiltersManager.GetInstance().FilterUpdate(5); });
ColorFilter[7].onClick.AddListener(() => { ColorFiltersManager.GetInstance().FilterUpdate(6); });
ColorFilter[8].onClick.AddListener(() => { ColorFiltersManager.GetInstance().FilterUpdate(7); });
}
public void UpdateBordersButtons()
{
//UIManager.GetInstance().BorderButton[0].GetComponent<Button>().onClick.AddListener(NoBorder);
//UIManager.GetInstance().BorderButton[1].GetComponent<Button>().onClick.AddListener(BorderVignette);
//UIManager.GetInstance().BorderButton[2].GetComponent<Button>().onClick.AddListener(BorderPolaroid);
//UIManager.GetInstance().BorderButton[3].GetComponent<Button>().onClick.AddListener(BorderUpDownBlackBars);
//UIManager.GetInstance().BorderButton[4].GetComponent<Button>().onClick.AddListener(BorderSideBlackBars);
//UIManager.GetInstance().BorderButton[5].GetComponent<Button>().onClick.AddListener(BorderButterflies);
//UIManager.GetInstance().BorderButton[6].GetComponent<Button>().onClick.AddListener(BorderLISOriginalBoxArt);
BorderButton[0].onClick.AddListener(() => { NoBorder(); });
BorderButton[1].onClick.AddListener(() => { BorderVignette(); });
BorderButton[2].onClick.AddListener(() => { BorderPolaroid(); });
BorderButton[3].onClick.AddListener(() => { BorderUpDownBlackBars(); });
BorderButton[4].onClick.AddListener(() => { BorderSideBlackBars(); });
BorderButton[5].onClick.AddListener(() => { BorderButterflies(); });
BorderButton[6].onClick.AddListener(() => { BorderLISOriginalBoxArt(); });
}
public void UpdateLogoButtonStates() //SEE WHY THOSE BUTTONS DON'T WORK FROM HERE CORRECTLY.
{
//UIManager.GetInstance().LogoVisibilityON.GetComponent<Button>().onClick.AddListener(LogoVisibilityON);
//UIManager.GetInstance().LogoVisibilityOFF.GetComponent<Button>().onClick.AddListener(LogoVisibilityOFF);
LogoVisibilityON_Button.onClick.AddListener(() => { LogoVisibilityON(); });
LogoVisibilityOFF_Button.onClick.AddListener(() => { LogoVisibilityOFF(); });
//UIManager.GetInstance().LogoPositionLeftButton.GetComponent<Button>().onClick.AddListener(PreviousLogoPosition); //If button is clicked call method.
//UIManager.GetInstance().LogoPositionRightButton.GetComponent<Button>().onClick.AddListener(NextLogoPosition); //If button is clicked call method.
}
public void UpdatePoseButtonStates()
{
//UIManager.GetInstance().ShowPlayeON.GetComponent<Button>().onClick.AddListener(PoseManager.Getinstance().DisplayPlayer);
//UIManager.GetInstance().ShowPlayerOFF.GetComponent<Button>().onClick.AddListener(PoseManager.Getinstance().HidePlayer);
//UIManager.GetInstance().ShowCompanionON.GetComponent<Button>().onClick.AddListener(PoseManager.Getinstance().DisplayCompanion);
//UIManager.GetInstance().ShowCompanionOFF.GetComponent<Button>().onClick.AddListener(PoseManager.Getinstance().HideCompanion);
ShowPlayeON.onClick.AddListener(() => { PoseManager.Getinstance().DisplayCharacter(); });
ShowPlayerOFF.onClick.AddListener(() => { PoseManager.Getinstance().HideCharacter(); });
ShowCompanionON.onClick.AddListener(() => { PoseManager.Getinstance().DisplayCompanion(); });
ShowCompanionOFF.onClick.AddListener(() => { PoseManager.Getinstance().HideCompanion(); });
EyesControlON.onClick.AddListener(() => { PoseManager.Getinstance().EyesMotionON(); });
EyesControlOFF.onClick.AddListener(() => { PoseManager.Getinstance().EyesMotionOFF(); });
//UIManager.GetInstance().PreviousBodyPoseLeftButton.GetComponent<Button>().onClick.AddListener(PoseManager.Getinstance().PreviousBodyPose); //Not working correctly from script.
//UIManager.GetInstance().NextBodyPoseRightButton.GetComponent<Button>().onClick.AddListener(PoseManager.Getinstance().NextBodyPose); //Not working correctly from script.
//UIManager.GetInstance().PreviousFacePoseLeftButton.GetComponent<Button>().onClick.AddListener(PoseManager.Getinstance().PreviousFacePose); //Not working correctly from script.
//UIManager.GetInstance().NextFacePoseRightButton.GetComponent<Button>().onClick.AddListener(PoseManager.Getinstance().NextFacePose); //Not working correctly from script.
}
public void UpdateButtonPanelStates()
{
//UIManager.GetInstance().CameraPanelButton.GetComponent<Button>().onClick.AddListener(CameraPanelON);
CameraPanelButton.onClick.AddListener(CameraPanelON);
//UIManager.GetInstance().DepthOfFieldPanelButton.GetComponent<Button>().onClick.AddListener(DepthOfFieldPanelON);
DepthOfFieldPanelButton.onClick.AddListener(DepthOfFieldPanelON);
//UIManager.GetInstance().PicturePanelButton.GetComponent<Button>().onClick.AddListener(PicturePanelON);
PicturePanelButton.onClick.AddListener(PicturePanelON);
//UIManager.GetInstance().ColorFiltersPanelButton.GetComponent<Button>().onClick.AddListener(ColorFiltersPanelON);
ColorFiltersPanelButton.onClick.AddListener(ColorFiltersPanelON);
//UIManager.GetInstance().BordersPanelButton.GetComponent<Button>().onClick.AddListener(BordersPanelON);
BordersPanelButton.onClick.AddListener(BordersPanelON);
//UIManager.GetInstance().LogoPanelButton.GetComponent<Button>().onClick.AddListener(LogoPanelON);
LogoPanelButton.onClick.AddListener(LogoPanelON);
//UIManager.GetInstance().PosePanelButton.GetComponent<Button>().onClick.AddListener(PosePanelON);
PosePanelButton.onClick.AddListener(PosePanelON);
}
public void UpdateQuitPhotomodePanelButtons()
{
//UIManager.GetInstance().QuitPhotomodeYesButton.GetComponent<Button>().onClick.AddListener(QuitPhotomode);
//UIManager.GetInstance().QuitPhotomodeNoButton.GetComponent<Button>().onClick.AddListener(DoNotQuitPhotomode);
QuitPhotomodeYesButton.onClick.AddListener(QuitPhotomode);
QuitPhotomodeNoButton.onClick.AddListener(DoNotQuitPhotomode);
}
public void UpdateResetPhotographPanelButtons()
{
//UIManager.GetInstance().ResetPhotographYesButton.GetComponent<Button>().onClick.AddListener(ResetSettings);
//UIManager.GetInstance().ResetPhotographNoButton.GetComponent<Button>().onClick.AddListener(DoNotResetPhotograph);
ResetPhotographYesButton.onClick.AddListener(ResetSettings);
ResetPhotographNoButton.onClick.AddListener(DoNotResetPhotograph);
}
#region Panel States
public void CameraPanelON()
{
state = PhotoModeState.Camera;
}
public void DepthOfFieldPanelON()
{
state = PhotoModeState.DepthOfField;
}
public void PicturePanelON()
{
state = PhotoModeState.Picture;
}
public void ColorFiltersPanelON()
{
state = PhotoModeState.ColorFilters;
}
public void BordersPanelON()
{
state = PhotoModeState.Borders;
}
public void LogoPanelON()
{
state = PhotoModeState.Logo;
}
public void PosePanelON()
{
state = PhotoModeState.Pose;
}
#endregion
public void DepthOfFieldON()
{
depthOfField.active = true;
DepthOfFieldOn = true;
}
public void DepthOfFieldOFF()
{
depthOfField.active = false;
DepthOfFieldOn = false;
}
public void LogoVisibilityON()
{
LogoVisibilityOn = true;
}
public void LogoVisibilityOFF()
{
LogoVisibilityOn = false;
}
public void FreeCameraClippingPlanesValueChange()
{
//if (CutscenesManager.GetInstance()._cutsceneActive || CutscenesManager.GetInstance()._MomentOfCalmActive || DialogueManager.GetInstance().IsHavingADialogue && DialogueManager.GetInstance().GameplayDialogueOccurring == false)
//{
// FreeCamera.GetInstance().freeCamera.farClipPlane = FreeCamera.GetInstance().clippingFarPlanes = 1f;
//}
//else
//{
// FreeCamera.GetInstance().freeCamera.farClipPlane = FreeCamera.GetInstance().clippingPlanesFarDefault;
//}
}
public void PlayerCameraDecideIfEnabled()
{
//if (CutscenesManager.GetInstance()._cutsceneActive || CutscenesManager.GetInstance()._MomentOfCalmActive || DialogueManager.GetInstance().IsHavingADialogue && DialogueManager.GetInstance().GameplayDialogueOccurring == false)
//{
// PlayersManager.GetInstance()._PlayerMainCamera.SetActive(false);
//}
//else
//{
// PlayersManager.GetInstance()._PlayerMainCamera.SetActive(true);
//}
}
IEnumerator ResetFreeCameraValues()
{
FreeCamera.GetInstance().enabled = true;
//FieldOfView
_cameraFieldOfViewSlider.value = FreeCamera.GetInstance().fieldOfViewDefault; //Changes the camera's field of view value from the slider.
FreeCamera.GetInstance().fieldOfView = FreeCamera.GetInstance().fieldOfViewDefault;
//Camera Roll
_cameraRollSlider.value = FreeCamera.GetInstance().cameraRollDefault;
FreeCamera.GetInstance().cameraRoll = FreeCamera.GetInstance().cameraRollDefault;
FreeCamera.GetInstance().transform.localEulerAngles = new Vector3(FreeCamera.GetInstance().newRotationY, FreeCamera.GetInstance().newRotationX, FreeCamera.GetInstance().cameraRoll);
yield return new WaitForSecondsRealtime(0.1f);
if (IsInLightMode)
{
FreeCamera.GetInstance().enabled = false; //Disables the camera because it's in lightmode.
}
}
public void ResetSettings()
{
// Lightmode:
LightModeManager.GetInstance().ResetSettings();
//-----------------------------------------------
resetPhotographPanelOn = false;
canQuitPhotomodePanel = true;
_ResetPhotographPanel.SetActive(false);
#region Camera
StartCoroutine(ResetFreeCameraValues());
#endregion
#region DepthOfField
_DepthOfFieldNearBlurSlider.value = DepthOfFieldDistanceDefault;
_DepthOfFieldFarBlurSlider.value = DepthOfFieldIntensityDefault;
DepthOfFieldOFF();
UpdateDepthOfField();
#endregion
#region Picture
_BrightnessSlider.value = GainDefault;
Gain = GainDefault;
_SaturationSlider.value = saturationDefault;
saturation = saturationDefault;
_exposureSlider.value = exposureDefault;
exposure = exposureDefault;
UpdateColorGrading();
#endregion
#region ColorFilters
//ColorFiltersManager.GetInstance().ResetColorGradingFilters();
//ColorFiltersManager.GetInstance().UpdateColorGradingFilters();
ColorFiltersManager.GetInstance().NoFilter();
#endregion
#region Borders
NoBorder();
#endregion
#region Logo
UpdateLogoPanel(); //Updates the panel.
_indexLogos = 0; //Set the index of the logos to the default value.
foreach (GameObject obj in _LogoList) //Hides every Logo in the list.
{
obj.SetActive(false);
}
foreach (var logo in _LogoList)
{
logo.transform.localScale = new Vector3(logoScaleDefault, logoScaleDefault, logoScaleDefault); //Resets the scale of the logo to 1f;
}
_logoScaleSlider.value = logoScaleDefault;
UpdateLogoName(); //Calls the method to update the logos name.
indexPositions = 0; //Sets the index of the positions to the default value.
_LogoPosition = 1; //Sets the logo position to 1.
LogoPositionUpdate(); //Calls the method to update the positions of the logos.
stage = LogoPositions.TopLeft; //Sets the position to the default one.
LogoVisibilityOFF(); //The logo is no longer visible.
#endregion
#region Pose
PoseLookAt.GetInstance().ValuesUpdate();
//PoseManager.Getinstance().DisplayPlayer();
//PoseManager.Getinstance().DisplayCompanion();
//PoseManager.Getinstance().PlayerBodyPoseReset();
//PoseManager.Getinstance().PlayerFacePoseReset();
PoseManager.Getinstance().PoseManagerReset();
UpdatePosePanel();
#endregion
#region Grids
GridsDisabled();
#endregion
#region Controller
CurrentPanelIndex = 1;
foreach (var uiMenuControllerNavigationPanel in _uiMenuControllerNavigationPanel)
{
uiMenuControllerNavigationPanel.ResetToStartValues();
}
#endregion
StartCoroutine(UpdateCameraSlidersAfterSecs());
UpdateFreeCameraPositionRotation();
Debug.Log("Photomode Settings restored");
}
}