251 lines
12 KiB
C#
251 lines
12 KiB
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
|
|
public class LightModeControllerManager : MonoBehaviour
|
|
{
|
|
[Header("Lightmode Buttons")]
|
|
[Header("Select A Light")]
|
|
[SerializeField] private Button light1On;
|
|
[SerializeField] private Button light1Off;
|
|
|
|
[SerializeField] private Button light2On;
|
|
[SerializeField] private Button light2Off;
|
|
|
|
[SerializeField] private Button light3On;
|
|
[SerializeField] private Button light3Off;
|
|
[Header("Edit Light")]
|
|
[SerializeField] private Button selectedLightPrevious;
|
|
[SerializeField] private Button selectedLightNext;
|
|
|
|
[SerializeField] private Button castShadowsOn;
|
|
[SerializeField] private Button castShadowsOff;
|
|
[SerializeField] private Button previousLightType;
|
|
[SerializeField] private Button nextLightType;
|
|
|
|
private int editingLight;
|
|
|
|
[Header("LightMode selected Item")]
|
|
[HideInInspector] public List<GameObject> AllSelectedItemsFromLightMode;
|
|
|
|
[SerializeField] private GameObject[] _selectedItemSelectALight = new GameObject[3];
|
|
[SerializeField] private GameObject[] _selectedItemEditLight = new GameObject[9];
|
|
[SerializeField] private GameObject[] _selectedItemEditNaturalLight = new GameObject[5];
|
|
|
|
[SerializeField] private int _selectALightVerticalSelectedItemIndex;
|
|
[SerializeField] private int _editLightVerticalSelectedItemIndex;
|
|
[SerializeField] private int _editLightVerticalSelectedItemIndexMax;
|
|
|
|
private static LightModeControllerManager _instance;
|
|
public static LightModeControllerManager GetInstance() { return _instance; }
|
|
|
|
private void Awake()
|
|
{
|
|
if (!_instance)
|
|
{
|
|
_instance = this;
|
|
}
|
|
for (int i = 0; i < _selectedItemSelectALight.Length; i++)
|
|
{
|
|
AllSelectedItemsFromLightMode.Add(_selectedItemSelectALight[i]);
|
|
}
|
|
for (int i = 0; i < _selectedItemEditLight.Length; i++)
|
|
{
|
|
AllSelectedItemsFromLightMode.Add(_selectedItemEditLight[i]);
|
|
}
|
|
for (int i = 0; i < _selectedItemEditNaturalLight.Length; i++)
|
|
{
|
|
AllSelectedItemsFromLightMode.Add(_selectedItemEditNaturalLight[i]);
|
|
}
|
|
|
|
}
|
|
|
|
|
|
#region Lightmode Controller navigation
|
|
public void ControllerNavigation_SelectALight()
|
|
{
|
|
if (InputControlManager.Getinstance().IsUsingJoystick)
|
|
{
|
|
_editLightVerticalSelectedItemIndex = 0;
|
|
InputControlManager.Getinstance().SelectedMenuItemUpdate(ref _selectedItemSelectALight, _selectALightVerticalSelectedItemIndex);
|
|
InputControlManager.Getinstance().DpadNavigateVertical(ref _selectALightVerticalSelectedItemIndex, 2);
|
|
switch (_selectALightVerticalSelectedItemIndex)
|
|
{
|
|
case 0:
|
|
InputControlManager.Getinstance().DpadNavigateHorizontalButtonPress(light1On, light1Off);
|
|
break;
|
|
case 1:
|
|
InputControlManager.Getinstance().DpadNavigateHorizontalButtonPress(light2On, light2Off);
|
|
break;
|
|
case 2:
|
|
InputControlManager.Getinstance().DpadNavigateHorizontalButtonPress(light3On, light3Off);
|
|
break;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
InputControlManager.Getinstance().SelectedMenuItemHideAll(ref _selectedItemSelectALight);
|
|
}
|
|
}
|
|
|
|
public void ControllerNavigation_EditLight()
|
|
{
|
|
if (InputControlManager.Getinstance().IsUsingJoystick)
|
|
{
|
|
if (!LightModeManager.GetInstance().EditNaturalLight)
|
|
{
|
|
if (LightModeManager.GetInstance().EditLight1)
|
|
{
|
|
if (LightModeManager.GetInstance().lightIsActive[0])
|
|
{
|
|
_editLightVerticalSelectedItemIndexMax = 8;
|
|
}
|
|
else
|
|
{
|
|
_editLightVerticalSelectedItemIndexMax = 0;
|
|
}
|
|
editingLight = 0;
|
|
}
|
|
else if (LightModeManager.GetInstance().EditLight2)
|
|
{
|
|
if (LightModeManager.GetInstance().lightIsActive[1])
|
|
{
|
|
_editLightVerticalSelectedItemIndexMax = 8;
|
|
}
|
|
else
|
|
{
|
|
_editLightVerticalSelectedItemIndexMax = 0;
|
|
}
|
|
editingLight = 1;
|
|
}
|
|
else if (LightModeManager.GetInstance().EditLight3)
|
|
{
|
|
if (LightModeManager.GetInstance().lightIsActive[2])
|
|
{
|
|
_editLightVerticalSelectedItemIndexMax = 8;
|
|
}
|
|
else
|
|
{
|
|
_editLightVerticalSelectedItemIndexMax = 0;
|
|
}
|
|
editingLight = 2;
|
|
}
|
|
else
|
|
{
|
|
_editLightVerticalSelectedItemIndexMax = 0;
|
|
}
|
|
|
|
InputControlManager.Getinstance().DpadNavigateVertical(ref _editLightVerticalSelectedItemIndex, _editLightVerticalSelectedItemIndexMax);
|
|
|
|
switch (_editLightVerticalSelectedItemIndex)
|
|
{
|
|
case 0:
|
|
InputControlManager.Getinstance().SelectedMenuItemUpdate(ref _selectedItemEditLight, _editLightVerticalSelectedItemIndex);
|
|
InputControlManager.Getinstance().DpadNavigateHorizontalButtonPress(selectedLightPrevious, selectedLightNext);
|
|
break;
|
|
case 1:
|
|
InputControlManager.Getinstance().SelectedMenuItemUpdate(ref _selectedItemEditLight, _editLightVerticalSelectedItemIndex);
|
|
InputControlManager.Getinstance().DpadNavigateHorizontalButtonPress(previousLightType, nextLightType);
|
|
break;
|
|
case 2:
|
|
InputControlManager.Getinstance().SelectedMenuItemUpdate(ref _selectedItemEditLight, _editLightVerticalSelectedItemIndex);
|
|
InputControlManager.Getinstance().DpadHorizontalSliderValuesUpdate(LightModeManager.GetInstance().lightIntensity, 0.4f);
|
|
break;
|
|
case 3:
|
|
InputControlManager.Getinstance().SelectedMenuItemUpdate(ref _selectedItemEditLight, _editLightVerticalSelectedItemIndex);
|
|
InputControlManager.Getinstance().DpadNavigateHorizontalButtonPress(castShadowsOn, castShadowsOff);
|
|
break;
|
|
case 4:
|
|
InputControlManager.Getinstance().SelectedMenuItemUpdate(ref _selectedItemEditLight, _editLightVerticalSelectedItemIndex);
|
|
InputControlManager.Getinstance().DpadHorizontalSliderValuesUpdate(LightModeManager.GetInstance().colorSlider, 0.02f);
|
|
break;
|
|
case 5:
|
|
InputControlManager.Getinstance().SelectedMenuItemUpdate(ref _selectedItemEditLight, _editLightVerticalSelectedItemIndex);
|
|
InputControlManager.Getinstance().DpadHorizontalSliderValuesUpdate(LightModeManager.GetInstance().colorIntensitySlider, 0.06f);
|
|
break;
|
|
case 6:
|
|
if (!LightModeManager.GetInstance().SpotLightIsActive[editingLight])
|
|
{
|
|
if (InputControlManager.Getinstance().upDpadVerticalButton)
|
|
{
|
|
_editLightVerticalSelectedItemIndex = 5;
|
|
}
|
|
else
|
|
{
|
|
_editLightVerticalSelectedItemIndex = 8;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
InputControlManager.Getinstance().SelectedMenuItemUpdate(ref _selectedItemEditLight, _editLightVerticalSelectedItemIndex);
|
|
InputControlManager.Getinstance().DpadHorizontalSliderValuesUpdate(LightModeManager.GetInstance().lightSpreadSlider, 0.07f);
|
|
}
|
|
break;
|
|
case 7:
|
|
if (!LightModeManager.GetInstance().SpotLightIsActive[editingLight])
|
|
{
|
|
if (InputControlManager.Getinstance().upDpadVerticalButton)
|
|
{
|
|
_editLightVerticalSelectedItemIndex = 5;
|
|
}
|
|
else
|
|
{
|
|
_editLightVerticalSelectedItemIndex = 8;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
InputControlManager.Getinstance().SelectedMenuItemUpdate(ref _selectedItemEditLight, _editLightVerticalSelectedItemIndex);
|
|
InputControlManager.Getinstance().DpadHorizontalSliderValuesUpdate(LightModeManager.GetInstance().spotlightSoftnessSlider, 2.5f);
|
|
}
|
|
break;
|
|
case 8:
|
|
InputControlManager.Getinstance().SelectedMenuItemUpdate(ref _selectedItemEditLight, _editLightVerticalSelectedItemIndex);
|
|
InputControlManager.Getinstance().DpadHorizontalSliderValuesUpdate(LightModeManager.GetInstance().lightDistanceSlider, 0.3f);
|
|
break;
|
|
}
|
|
|
|
|
|
}
|
|
else
|
|
{
|
|
InputControlManager.Getinstance().DpadNavigateVertical(ref _editLightVerticalSelectedItemIndex, _editLightVerticalSelectedItemIndexMax);
|
|
_editLightVerticalSelectedItemIndexMax = 4;
|
|
|
|
switch (_editLightVerticalSelectedItemIndex)
|
|
{
|
|
case 0:
|
|
_selectedItemEditLight[0].SetActive(false);
|
|
InputControlManager.Getinstance().SelectedMenuItemUpdate(ref _selectedItemEditNaturalLight, _editLightVerticalSelectedItemIndex);
|
|
InputControlManager.Getinstance().DpadNavigateHorizontalButtonPress(selectedLightPrevious, selectedLightNext);
|
|
break;
|
|
case 1:
|
|
InputControlManager.Getinstance().SelectedMenuItemUpdate(ref _selectedItemEditNaturalLight, _editLightVerticalSelectedItemIndex);
|
|
InputControlManager.Getinstance().DpadHorizontalSliderValuesUpdate(NaturalLightMovement.GetInstance()._intensity, 700f);
|
|
break;
|
|
case 2:
|
|
InputControlManager.Getinstance().SelectedMenuItemUpdate(ref _selectedItemEditNaturalLight, _editLightVerticalSelectedItemIndex);
|
|
InputControlManager.Getinstance().DpadHorizontalSliderValuesUpdate(NaturalLightMovement.GetInstance()._elevation, 4f);
|
|
break;
|
|
case 3:
|
|
InputControlManager.Getinstance().SelectedMenuItemUpdate(ref _selectedItemEditNaturalLight, _editLightVerticalSelectedItemIndex);
|
|
InputControlManager.Getinstance().DpadHorizontalSliderValuesUpdate(NaturalLightMovement.GetInstance()._rotation, 4f);
|
|
break;
|
|
case 4:
|
|
InputControlManager.Getinstance().SelectedMenuItemUpdate(ref _selectedItemEditNaturalLight, _editLightVerticalSelectedItemIndex);
|
|
InputControlManager.Getinstance().DpadHorizontalSliderValuesUpdate(NaturalLightMovement.GetInstance()._ambientLight, 0.5f);
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
InputControlManager.Getinstance().SelectedMenuItemHideAll(ref _selectedItemEditNaturalLight);
|
|
}
|
|
|
|
}
|
|
#endregion
|
|
|
|
}
|