Campofinale/Campofinale/Game/Factory/Components/FComponentPortManager.cs
2025-03-07 20:49:49 +01:00

54 lines
1.4 KiB
C#

using Campofinale.Resource;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using static Campofinale.Game.Factory.FactoryNode;
namespace Campofinale.Game.Factory.Components
{
public class FComponentPortManager : FComponent
{
public class FPort
{
public int index = 0;
public uint ownerComId;
public uint touchComId;
public ScdFacComSubPort ToProto()
{
return new ScdFacComSubPort()
{
InBlock = false,
Index = index,
OwnerComId = ownerComId,
TouchComId = touchComId
};
}
}
public List<FPort> ports = new();
public FComponentPortManager(uint id, uint mainId) : base(id, FCComponentType.PortManager)
{
for(int i=0; i < 14; i++)
{
ports.Add(new FPort()
{
index = i,
ownerComId = mainId,
touchComId = 0
});
}
}
public override void SetComponentInfo(ScdFacCom proto)
{
proto.PortManager = new();
foreach(FPort port in ports)
{
proto.PortManager.Ports.Add(port.ToProto());
}
}
}
}