mirror of
https://github.com/PepperDash/Essentials.git
synced 2026-02-07 00:35:07 +00:00
fix: invert interface to be custom instead of default
This way, existing rooms and devices will build messengers by default, while new plugins can implement their own messengers
This commit is contained in:
@@ -6,9 +6,9 @@ using PepperDash.Core;
|
||||
namespace PepperDash.Essentials.Core.DeviceTypeInterfaces
|
||||
{
|
||||
/// <summary>
|
||||
/// Use this interface on a device or room if it should use default Mobile Control messengers
|
||||
/// Use this interface on a device or room if it uses custom Mobile Control messengers
|
||||
/// </summary>
|
||||
public interface IStandardMobileControl : IKeyed
|
||||
public interface ICustomMobileControl : IKeyed
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
@@ -48,6 +48,20 @@ namespace PepperDash.Essentials.Core
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public override bool CustomActivate()
|
||||
{
|
||||
CreateMobileControlMessengers();
|
||||
|
||||
return base.CustomActivate();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Override this method to build and create custom Mobile Control Messengers during the Activation phase
|
||||
/// </summary>
|
||||
protected virtual void CreateMobileControlMessengers() {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
[AttributeUsage(AttributeTargets.Class, Inherited = true, AllowMultiple = true)]
|
||||
|
||||
@@ -476,23 +476,23 @@ namespace PepperDash.Essentials
|
||||
var room = Core.DeviceFactory.GetDevice(roomConfig);
|
||||
|
||||
DeviceManager.AddDevice(room);
|
||||
if (!(room is IStandardMobileControl))
|
||||
if (room is ICustomMobileControl)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
BuildMC(room as IStandardMobileControl);
|
||||
BuildMC(room as IEssentialsRoom);
|
||||
}
|
||||
|
||||
Debug.Console(0, Debug.ErrorLogLevel.Notice, "All Rooms Loaded.");
|
||||
|
||||
}
|
||||
|
||||
private static void BuildMC(IStandardMobileControl room)
|
||||
private static void BuildMC(IEssentialsRoom room)
|
||||
{
|
||||
Debug.Console(0, Debug.ErrorLogLevel.Notice, "Attempting to build Mobile Control Bridge for ");
|
||||
Debug.Console(0, Debug.ErrorLogLevel.Notice, $"Attempting to build Mobile Control Bridge for {room?.Key}");
|
||||
|
||||
CreateMobileControlBridge(room as IEssentialsRoom);
|
||||
CreateMobileControlBridge(room);
|
||||
}
|
||||
|
||||
private static void CreateMobileControlBridge(IEssentialsRoom room)
|
||||
|
||||
Reference in New Issue
Block a user