39 lines
1.1 KiB
C#
39 lines
1.1 KiB
C#
using Nocturnis.DataStructures;
|
|
using Nocturnis.Enigmos.Cables;
|
|
using Nocturnis.Enigmos.Ports;
|
|
using Nocturnis.Enigmos.Ports.DataPorts.Directions;
|
|
using Nocturnis.GlobalManagement.Providers;
|
|
|
|
namespace Enigmos.Ports.DataPorts;
|
|
public partial class DataInPort : DataPort, IDataInPort
|
|
{
|
|
public new IDataOutPort? ConnectedPort
|
|
{
|
|
get => (base.ConnectedPort as IDataOutPort)!;
|
|
set => base.ConnectedPort = value;
|
|
}
|
|
|
|
public override bool IsMatch(IBasePort other) =>
|
|
other is DataOutPort dataOut &&
|
|
GlobalProvider.DataTypeProvider!.DataPortTypeCompatible(DataType!, dataOut.DataType!);
|
|
|
|
public DataCache GetData => Connected ? ConnectedPort!.OutData : DefaultDataCache.Default;
|
|
|
|
/*public IDataPackage GetData(IRootModule root)
|
|
{
|
|
if (!Connected)
|
|
return GlobalProvider.DataStructureProvider!.DefaultDataPackage;
|
|
if(!ConnectedPort.DataUpdated)
|
|
ConnectedPort.DataUpdateRequest(root);
|
|
return ConnectedPort!.ResultData;
|
|
}*/
|
|
|
|
public override IBaseCable MakeCable(IBasePort other)
|
|
{
|
|
IBaseCable res = base.MakeCable(other);
|
|
res.PortFrom = this;
|
|
res.PortTo = other;
|
|
return res;
|
|
}
|
|
}
|