mirror of
https://github.com/PepperDash/Essentials.git
synced 2026-02-15 12:44:58 +00:00
Merge branch 'main' into hotfix/unable-to-use-hightest-IR-port-number
This commit is contained in:
@@ -272,6 +272,20 @@ namespace PepperDash.Essentials
|
|||||||
public const uint VCCameraPreset3 = 1283;
|
public const uint VCCameraPreset3 = 1283;
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 1291
|
||||||
|
/// </summary>
|
||||||
|
public const uint VCCameraPreset1Visible = 1291;
|
||||||
|
/// <summary>
|
||||||
|
/// 1292
|
||||||
|
/// </summary>
|
||||||
|
public const uint VCCameraPreset2Visible = 1292;
|
||||||
|
/// <summary>
|
||||||
|
/// 1293
|
||||||
|
/// </summary>
|
||||||
|
public const uint VCCameraPreset3Visible = 1293;
|
||||||
|
|
||||||
|
|
||||||
// Letter joins start at 2921;
|
// Letter joins start at 2921;
|
||||||
|
|
||||||
//******************************************************
|
//******************************************************
|
||||||
|
|||||||
@@ -1,80 +1,81 @@
|
|||||||
using System;
|
using System;
|
||||||
using Crestron.SimplSharp;
|
using Crestron.SimplSharp;
|
||||||
using Crestron.SimplSharpPro.DeviceSupport;
|
using Crestron.SimplSharpPro.DeviceSupport;
|
||||||
using Crestron.SimplSharpPro.UI;
|
using Crestron.SimplSharpPro.UI;
|
||||||
using PepperDash.Essentials.Core;
|
using PepperDash.Core;
|
||||||
using PepperDash.Essentials.Core.SmartObjects;
|
using PepperDash.Essentials.Core;
|
||||||
|
using PepperDash.Essentials.Core.SmartObjects;
|
||||||
namespace PepperDash.Essentials
|
|
||||||
{
|
namespace PepperDash.Essentials
|
||||||
/// <summary>
|
{
|
||||||
///
|
/// <summary>
|
||||||
/// </summary>
|
///
|
||||||
public class EssentialsPanelMainInterfaceDriver : PanelDriverBase
|
/// </summary>
|
||||||
{
|
public class EssentialsPanelMainInterfaceDriver : PanelDriverBase, IHasScreenSaverController
|
||||||
CTimer InactivityTimer;
|
{
|
||||||
|
CTimer InactivityTimer;
|
||||||
/// <summary>
|
|
||||||
/// Assign the appropriate A/V driver.
|
/// <summary>
|
||||||
/// Want to keep the AvDriver alive, because it may hold states
|
/// Assign the appropriate A/V driver.
|
||||||
/// </summary>
|
/// Want to keep the AvDriver alive, because it may hold states
|
||||||
public IAVDriver AvDriver { get; set; }
|
/// </summary>
|
||||||
|
public IAVDriver AvDriver { get; set;}
|
||||||
public EssentialsHeaderDriver HeaderDriver { get; set; }
|
|
||||||
|
public EssentialsHeaderDriver HeaderDriver { get; set; }
|
||||||
public EssentialsEnvironmentDriver EnvironmentDriver { get; set; }
|
|
||||||
|
public EssentialsEnvironmentDriver EnvironmentDriver { get; set; }
|
||||||
public PanelDriverBase CurrentChildDriver { get; private set; }
|
|
||||||
|
public PanelDriverBase CurrentChildDriver { get; private set; }
|
||||||
|
|
||||||
public ScreenSaverController ScreenSaverController { get; set; }
|
public ScreenSaverController ScreenSaverController { get; set; }
|
||||||
|
|
||||||
private readonly long _timeoutMs;
|
private readonly long _timeoutMs;
|
||||||
|
|
||||||
CrestronTouchpanelPropertiesConfig Config;
|
CrestronTouchpanelPropertiesConfig Config;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// The main interlock for popups
|
/// The main interlock for popups
|
||||||
/// </summary>
|
/// </summary>
|
||||||
//public JoinedSigInterlock PopupInterlock { get; private set; }
|
//public JoinedSigInterlock PopupInterlock { get; private set; }
|
||||||
|
|
||||||
public EssentialsPanelMainInterfaceDriver(BasicTriListWithSmartObject trilist,
|
public EssentialsPanelMainInterfaceDriver(BasicTriListWithSmartObject trilist,
|
||||||
CrestronTouchpanelPropertiesConfig config)
|
CrestronTouchpanelPropertiesConfig config)
|
||||||
: base(trilist)
|
: base(trilist)
|
||||||
{
|
{
|
||||||
Config = config;
|
Config = config;
|
||||||
|
|
||||||
_timeoutMs = Config.ScreenSaverTimeoutMin * 60 * 1000;
|
_timeoutMs = Config.ScreenSaverTimeoutMin * 60 * 1000;
|
||||||
|
|
||||||
var tsx52or60 = trilist as Tswx52ButtonVoiceControl;
|
var tsx52or60 = trilist as Tswx52ButtonVoiceControl;
|
||||||
|
|
||||||
if (tsx52or60 != null)
|
if (tsx52or60 != null)
|
||||||
{
|
{
|
||||||
tsx52or60.ExtenderTouchDetectionReservedSigs.Use();
|
tsx52or60.ExtenderTouchDetectionReservedSigs.Use();
|
||||||
tsx52or60.ExtenderTouchDetectionReservedSigs.DeviceExtenderSigChange += ExtenderTouchDetectionReservedSigs_DeviceExtenderSigChange;
|
tsx52or60.ExtenderTouchDetectionReservedSigs.DeviceExtenderSigChange += ExtenderTouchDetectionReservedSigs_DeviceExtenderSigChange;
|
||||||
tsx52or60.ExtenderTouchDetectionReservedSigs.Time.UShortValue = 1;
|
tsx52or60.ExtenderTouchDetectionReservedSigs.Time.UShortValue = 1;
|
||||||
ManageInactivityTimer();
|
ManageInactivityTimer();
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
var tswx70 = trilist as TswX70Base;
|
var tswx70 = trilist as TswX70Base;
|
||||||
if (tswx70 != null)
|
if (tswx70 != null)
|
||||||
{
|
{
|
||||||
tswx70.ExtenderTouchDetectionReservedSigs.Use();
|
tswx70.ExtenderTouchDetectionReservedSigs.Use();
|
||||||
tswx70.ExtenderTouchDetectionReservedSigs.DeviceExtenderSigChange += ExtenderTouchDetectionReservedSigs_DeviceExtenderSigChange;
|
tswx70.ExtenderTouchDetectionReservedSigs.DeviceExtenderSigChange += ExtenderTouchDetectionReservedSigs_DeviceExtenderSigChange;
|
||||||
tswx70.ExtenderTouchDetectionReservedSigs.Time.UShortValue = 1;
|
tswx70.ExtenderTouchDetectionReservedSigs.Time.UShortValue = 1;
|
||||||
ManageInactivityTimer();
|
ManageInactivityTimer();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ExtenderTouchDetectionReservedSigs_DeviceExtenderSigChange(Crestron.SimplSharpPro.DeviceExtender currentDeviceExtender, Crestron.SimplSharpPro.SigEventArgs args)
|
void ExtenderTouchDetectionReservedSigs_DeviceExtenderSigChange(Crestron.SimplSharpPro.DeviceExtender currentDeviceExtender, Crestron.SimplSharpPro.SigEventArgs args)
|
||||||
{
|
{
|
||||||
|
|
||||||
if (args.Sig.BoolValue)
|
if (args.Sig.BoolValue)
|
||||||
{
|
{
|
||||||
ManageInactivityTimer();
|
ManageInactivityTimer();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ManageInactivityTimer()
|
private void ManageInactivityTimer()
|
||||||
@@ -87,46 +88,52 @@ namespace PepperDash.Essentials
|
|||||||
{
|
{
|
||||||
InactivityTimer = new CTimer((o) => InactivityTimerExpired(), _timeoutMs);
|
InactivityTimer = new CTimer((o) => InactivityTimerExpired(), _timeoutMs);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void InactivityTimerExpired()
|
void InactivityTimerExpired()
|
||||||
{
|
{
|
||||||
InactivityTimer.Stop();
|
InactivityTimer.Stop();
|
||||||
InactivityTimer.Dispose();
|
InactivityTimer.Dispose();
|
||||||
InactivityTimer = null;
|
InactivityTimer = null;
|
||||||
|
|
||||||
ScreenSaverController.Show();
|
ScreenSaverController.Show();
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void Show()
|
public override void Show()
|
||||||
{
|
{
|
||||||
CurrentChildDriver = null;
|
CurrentChildDriver = null;
|
||||||
ShowSubDriver(AvDriver as PanelDriverBase);
|
ShowSubDriver(AvDriver as PanelDriverBase);
|
||||||
base.Show();
|
|
||||||
}
|
base.Show();
|
||||||
|
}
|
||||||
public override void Hide()
|
|
||||||
{
|
public override void Hide()
|
||||||
TriList.BooleanInput[AvDriver.StartPageVisibleJoin].BoolValue = false;
|
{
|
||||||
base.Hide();
|
TriList.BooleanInput[AvDriver.StartPageVisibleJoin].BoolValue = false;
|
||||||
}
|
base.Hide();
|
||||||
|
}
|
||||||
void ShowSubDriver(PanelDriverBase driver)
|
|
||||||
{
|
void ShowSubDriver(PanelDriverBase driver)
|
||||||
CurrentChildDriver = driver;
|
{
|
||||||
if (driver == null)
|
CurrentChildDriver = driver;
|
||||||
return;
|
if (driver == null)
|
||||||
this.Hide();
|
return;
|
||||||
driver.Show();
|
this.Hide();
|
||||||
}
|
driver.Show();
|
||||||
|
}
|
||||||
/// <summary>
|
|
||||||
///
|
/// <summary>
|
||||||
/// </summary>
|
///
|
||||||
public override void BackButtonPressed()
|
/// </summary>
|
||||||
{
|
public override void BackButtonPressed()
|
||||||
if(CurrentChildDriver != null)
|
{
|
||||||
CurrentChildDriver.BackButtonPressed();
|
if(CurrentChildDriver != null)
|
||||||
}
|
CurrentChildDriver.BackButtonPressed();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public interface IHasScreenSaverController
|
||||||
|
{
|
||||||
|
ScreenSaverController ScreenSaverController { get; }
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -114,7 +114,7 @@ namespace PepperDash.Essentials
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// The parent driver for this
|
/// The parent driver for this
|
||||||
/// </summary>
|
/// </summary>
|
||||||
PanelDriverBase Parent;
|
public PanelDriverBase Parent { get; private set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// All children attached to this driver. For hiding and showing as a group.
|
/// All children attached to this driver. For hiding and showing as a group.
|
||||||
|
|||||||
@@ -72,7 +72,7 @@ namespace PepperDash.Essentials
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// The parent driver for this
|
/// The parent driver for this
|
||||||
/// </summary>
|
/// </summary>
|
||||||
PanelDriverBase Parent;
|
public PanelDriverBase Parent { get; private set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// All children attached to this driver. For hiding and showing as a group.
|
/// All children attached to this driver. For hiding and showing as a group.
|
||||||
@@ -1430,6 +1430,7 @@ namespace PepperDash.Essentials
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public interface IAVDriver
|
public interface IAVDriver
|
||||||
{
|
{
|
||||||
|
PanelDriverBase Parent { get; }
|
||||||
JoinedSigInterlock PopupInterlock { get; }
|
JoinedSigInterlock PopupInterlock { get; }
|
||||||
void ShowNotificationRibbon(string message, int timeout);
|
void ShowNotificationRibbon(string message, int timeout);
|
||||||
void HideNotificationRibbon();
|
void HideNotificationRibbon();
|
||||||
|
|||||||
@@ -21,6 +21,8 @@ namespace PepperDash.Essentials
|
|||||||
private readonly EssentialsPanelMainInterfaceDriver _parent;
|
private readonly EssentialsPanelMainInterfaceDriver _parent;
|
||||||
|
|
||||||
|
|
||||||
|
private JoinedSigInterlock PositionInterlock;
|
||||||
|
|
||||||
CTimer PositionTimer;
|
CTimer PositionTimer;
|
||||||
|
|
||||||
uint PositionTimeoutMs;
|
uint PositionTimeoutMs;
|
||||||
@@ -38,7 +40,9 @@ namespace PepperDash.Essentials
|
|||||||
|
|
||||||
PositionJoins = new List<uint>() { UIBoolJoin.MCScreenSaverPosition1Visible, UIBoolJoin.MCScreenSaverPosition2Visible, UIBoolJoin.MCScreenSaverPosition3Visible, UIBoolJoin.MCScreenSaverPosition4Visible };
|
PositionJoins = new List<uint>() { UIBoolJoin.MCScreenSaverPosition1Visible, UIBoolJoin.MCScreenSaverPosition2Visible, UIBoolJoin.MCScreenSaverPosition3Visible, UIBoolJoin.MCScreenSaverPosition4Visible };
|
||||||
|
|
||||||
var cmdName = String.Format("shwscrsvr-{0}", config.IpId);
|
PositionInterlock = new JoinedSigInterlock(parent.TriList);
|
||||||
|
|
||||||
|
var cmdName = String.Format("shwscrsvr-{0}", parent.TriList.ID);
|
||||||
|
|
||||||
CrestronConsole.AddNewConsoleCommand((o) => Show(), cmdName, "Shows Panel Screensaver", ConsoleAccessLevelEnum.AccessOperator);
|
CrestronConsole.AddNewConsoleCommand((o) => Show(), cmdName, "Shows Panel Screensaver", ConsoleAccessLevelEnum.AccessOperator);
|
||||||
|
|
||||||
@@ -47,10 +51,13 @@ namespace PepperDash.Essentials
|
|||||||
|
|
||||||
public override void Show()
|
public override void Show()
|
||||||
{
|
{
|
||||||
_parent.AvDriver.PopupInterlock.ShowInterlockedWithToggle(UIBoolJoin.MCScreenSaverVisible);
|
if (_parent.AvDriver != null)
|
||||||
|
{
|
||||||
|
_parent.AvDriver.PopupInterlock.ShowInterlocked(UIBoolJoin.MCScreenSaverVisible);
|
||||||
|
}
|
||||||
|
|
||||||
CurrentPositionIndex = 0;
|
CurrentPositionIndex = 0;
|
||||||
SetCurrentPosition();
|
ShowCurrentPosition();
|
||||||
StartPositionTimer();
|
StartPositionTimer();
|
||||||
|
|
||||||
base.Show();
|
base.Show();
|
||||||
@@ -58,6 +65,8 @@ namespace PepperDash.Essentials
|
|||||||
|
|
||||||
public override void Hide()
|
public override void Hide()
|
||||||
{
|
{
|
||||||
|
Debug.Console(1, "Hiding ScreenSaverController");
|
||||||
|
|
||||||
if (PositionTimer != null)
|
if (PositionTimer != null)
|
||||||
{
|
{
|
||||||
PositionTimer.Stop();
|
PositionTimer.Stop();
|
||||||
@@ -67,7 +76,10 @@ namespace PepperDash.Essentials
|
|||||||
|
|
||||||
ClearAllPositions();
|
ClearAllPositions();
|
||||||
|
|
||||||
_parent.AvDriver.PopupInterlock.HideAndClear();
|
if (_parent.AvDriver != null)
|
||||||
|
{
|
||||||
|
_parent.AvDriver.PopupInterlock.HideAndClear();
|
||||||
|
}
|
||||||
|
|
||||||
base.Hide();
|
base.Hide();
|
||||||
}
|
}
|
||||||
@@ -89,7 +101,7 @@ namespace PepperDash.Essentials
|
|||||||
{
|
{
|
||||||
IncrementPositionIndex();
|
IncrementPositionIndex();
|
||||||
|
|
||||||
SetCurrentPosition();
|
ShowCurrentPosition();
|
||||||
|
|
||||||
StartPositionTimer();
|
StartPositionTimer();
|
||||||
}
|
}
|
||||||
@@ -109,20 +121,16 @@ namespace PepperDash.Essentials
|
|||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
void SetCurrentPosition()
|
void ShowCurrentPosition()
|
||||||
{
|
{
|
||||||
ClearAllPositions();
|
|
||||||
|
|
||||||
// Set based on current index
|
// Set based on current index
|
||||||
TriList.SetBool(PositionJoins[CurrentPositionIndex], true);
|
PositionInterlock.ShowInterlocked(PositionJoins[CurrentPositionIndex]);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ClearAllPositions()
|
void ClearAllPositions()
|
||||||
{
|
{
|
||||||
foreach (var join in PositionJoins)
|
Debug.Console(1, "Hiding all screensaver positions");
|
||||||
{
|
PositionInterlock.HideAndClear();
|
||||||
TriList.SetBool(join, false);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -398,6 +398,8 @@ namespace PepperDash.Essentials.UIDrivers.VC
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
void ShowIncomingModal(CodecActiveCallItem call)
|
void ShowIncomingModal(CodecActiveCallItem call)
|
||||||
{
|
{
|
||||||
|
Debug.Console(1, "Showing Incoming Call Modal");
|
||||||
|
|
||||||
(Parent as IAVWithVCDriver).PrepareForCodecIncomingCall();
|
(Parent as IAVWithVCDriver).PrepareForCodecIncomingCall();
|
||||||
IncomingCallModal = new ModalDialog(TriList);
|
IncomingCallModal = new ModalDialog(TriList);
|
||||||
string msg;
|
string msg;
|
||||||
@@ -413,13 +415,19 @@ namespace PepperDash.Essentials.UIDrivers.VC
|
|||||||
msg = string.Format("Incoming video call from: {0}", call.Name);
|
msg = string.Format("Incoming video call from: {0}", call.Name);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Parent.PopupInterlock.IsShown)
|
|
||||||
|
// Hide screensaver
|
||||||
|
var screenSaverParent = Parent.Parent as IHasScreenSaverController;
|
||||||
|
|
||||||
|
if (screenSaverParent != null)
|
||||||
{
|
{
|
||||||
if (Parent.PopupInterlock.CurrentJoin == UIBoolJoin.MCScreenSaverVisible)
|
screenSaverParent.ScreenSaverController.Hide();
|
||||||
{
|
|
||||||
Parent.PopupInterlock.HideAndClear();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Debug.Console(1, "Parent.Parent is null or does not implement IHasScreenSaverController");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
IncomingCallModal.PresentModalDialog(2, "Incoming Call", icon, msg,
|
IncomingCallModal.PresentModalDialog(2, "Incoming Call", icon, msg,
|
||||||
"Ignore", "Accept", false, false, b =>
|
"Ignore", "Accept", false, false, b =>
|
||||||
@@ -709,17 +717,45 @@ namespace PepperDash.Essentials.UIDrivers.VC
|
|||||||
uint holdTime = 5000;
|
uint holdTime = 5000;
|
||||||
presetsCodec.CodecRoomPresetsListHasChanged += new EventHandler<EventArgs>(presetsCodec_CodecRoomPresetsListHasChanged);
|
presetsCodec.CodecRoomPresetsListHasChanged += new EventHandler<EventArgs>(presetsCodec_CodecRoomPresetsListHasChanged);
|
||||||
|
|
||||||
TriList.BooleanOutput[UIBoolJoin.VCCameraPreset1].SetSigHeldAction(
|
var preset = 1;
|
||||||
holdTime, () => presetsCodec.CodecRoomPresetStore(1, presetsCodec.NearEndPresets[0].Description), ShowPresetStoreFeedback, () => presetsCodec.CodecRoomPresetSelect(1));
|
if (presetsCodec.NearEndPresets[preset - 1] != null && presetsCodec.NearEndPresets[preset - 1].Defined)
|
||||||
TriList.BooleanOutput[UIBoolJoin.VCCameraPreset2].SetSigHeldAction(
|
{
|
||||||
holdTime, () => presetsCodec.CodecRoomPresetStore(2, presetsCodec.NearEndPresets[1].Description), ShowPresetStoreFeedback, () => presetsCodec.CodecRoomPresetSelect(2));
|
TriList.SetBool(UIBoolJoin.VCCameraPreset1Visible, true);
|
||||||
TriList.BooleanOutput[UIBoolJoin.VCCameraPreset3].SetSigHeldAction(
|
TriList.BooleanOutput[UIBoolJoin.VCCameraPreset1].SetSigHeldAction(
|
||||||
holdTime, () => presetsCodec.CodecRoomPresetStore(3, presetsCodec.NearEndPresets[2].Description), ShowPresetStoreFeedback, () => presetsCodec.CodecRoomPresetSelect(3));
|
holdTime, ShowPresetStoreFeedback,() => presetsCodec.CodecRoomPresetStore(preset, presetsCodec.NearEndPresets[preset - 1].Description),
|
||||||
|
() => presetsCodec.CodecRoomPresetSelect(preset));
|
||||||
|
TriList.StringInput[UIStringJoin.VCCameraPresetLabel1].StringValue = presetsCodec.NearEndPresets[preset - 1].Description;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
TriList.SetBool(UIBoolJoin.VCCameraPreset1Visible, false);
|
||||||
|
}
|
||||||
|
|
||||||
TriList.StringInput[UIStringJoin.VCCameraPresetLabel1].StringValue = presetsCodec.NearEndPresets[0].Description;
|
if (presetsCodec.NearEndPresets[1] != null && presetsCodec.NearEndPresets[1].Defined)
|
||||||
TriList.StringInput[UIStringJoin.VCCameraPresetLabel2].StringValue = presetsCodec.NearEndPresets[1].Description;
|
{
|
||||||
TriList.StringInput[UIStringJoin.VCCameraPresetLabel3].StringValue = presetsCodec.NearEndPresets[2].Description;
|
TriList.SetBool(UIBoolJoin.VCCameraPreset2Visible, true);
|
||||||
|
TriList.BooleanOutput[UIBoolJoin.VCCameraPreset2].SetSigHeldAction(
|
||||||
|
holdTime, ShowPresetStoreFeedback, () => presetsCodec.CodecRoomPresetStore(preset, presetsCodec.NearEndPresets[preset - 1].Description),
|
||||||
|
() => presetsCodec.CodecRoomPresetSelect(preset));
|
||||||
|
TriList.StringInput[UIStringJoin.VCCameraPresetLabel2].StringValue = presetsCodec.NearEndPresets[1].Description;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
TriList.SetBool(UIBoolJoin.VCCameraPreset2Visible, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (presetsCodec.NearEndPresets[2] != null && presetsCodec.NearEndPresets[2].Defined)
|
||||||
|
{
|
||||||
|
TriList.SetBool(UIBoolJoin.VCCameraPreset3Visible, true);
|
||||||
|
TriList.BooleanOutput[UIBoolJoin.VCCameraPreset3].SetSigHeldAction(
|
||||||
|
holdTime, ShowPresetStoreFeedback, () => presetsCodec.CodecRoomPresetStore(preset, presetsCodec.NearEndPresets[preset - 1].Description),
|
||||||
|
() => presetsCodec.CodecRoomPresetSelect(preset));
|
||||||
|
TriList.StringInput[UIStringJoin.VCCameraPresetLabel3].StringValue = presetsCodec.NearEndPresets[2].Description;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
TriList.SetBool(UIBoolJoin.VCCameraPreset3Visible, false);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user