// Start is called before the first frame update void Start() { udpm = new _UDPManager(); udpm.DefaultTarget = this; //Add listeners on the instance of UDPManager udpm.On <UDPManagerEvent>(UDPManagerEvent.Names.BOUND, (UDPManagerEvent e) => { listeners.OnBound?.Invoke(e); }); udpm.On <UDPManagerEvent>(UDPManagerEvent.Names.DATA_CANCELED, (UDPManagerEvent e) => { listeners.OnDataCanceled?.Invoke(e); }); udpm.On <UDPManagerEvent>(UDPManagerEvent.Names.DATA_DELIVERED, (UDPManagerEvent e) => { listeners.OnDataDelivered?.Invoke(e); }); udpm.On <UDPManagerEvent>(UDPManagerEvent.Names.DATA_RECEIVED, (UDPManagerEvent e) => { listeners.OnDataReceived?.Invoke(e); }); udpm.On <UDPManagerEvent>(UDPManagerEvent.Names.DATA_RETRIED, (UDPManagerEvent e) => { listeners.OnDataRetried?.Invoke(e); }); udpm.On <UDPManagerEvent>(UDPManagerEvent.Names.DATA_SENT, (UDPManagerEvent e) => { listeners.OnDataSent?.Invoke(e); }); channels.ForEach((UChannel uc) => { udpm.AddChannel(uc.Name, uc.GuarantiesDelivery, uc.MaintainOrder, uc.RetryTime, uc.CancelTime); }); udpm.Bind(port); }