package repository import "joylink.club/rtsssimulation/repository/model/proto" type Signal struct { Identity code string km *proto.Kilometer //section *PhysicalSection //turnoutPort TurnoutPort linkPosition LinkPosition //信号机电路系统电子元器件 componentGroups []*ElectronicComponentGroup model proto.Signal_Model } func NewSignal(id string, km *proto.Kilometer, code string, model proto.Signal_Model) *Signal { return &Signal{ Identity: identity{id, proto.DeviceType_DeviceType_Signal}, km: km, code: code, model: model, } } func (s *Signal) RelayGroups() []*ElectronicComponentGroup { return s.componentGroups } func (s *Signal) Code() string { return s.code } func (s *Signal) Model() proto.Signal_Model { return s.model } func (s *Signal) LinkPosition() LinkPosition { return s.linkPosition } func (s *Signal) bindLinkPosition(position LinkPosition) { s.linkPosition = position }