示例#1
0
        public void SendMessage(EventArgs message)
        {
            BdaMessage messageToSend = new BdaMessage()
            {
                Type = message.GetType(), Content = message
            };

            byte[] messageToBeSend = BinaryUtils.Serialize(messageToSend);

            ModApiSystem.Singleton.SendModMessage(ModName, messageToBeSend, messageToBeSend.Length, true);
        }
示例#2
0
        private void ProcessReceivedMessage(BdaMessage messageReceived)
        {
            switch (messageReceived.Content)
            {
            case DamageEventArgs args:
                Dependencies.Get <IBdaMessageHandler <DamageEventArgs> >().ProcessMessage(args);
                break;

            case ExplosionEventArgs args:
                Dependencies.Get <IBdaMessageHandler <ExplosionEventArgs> >().ProcessMessage(args);
                break;

            case ForceEventArgs args:
                Dependencies.Get <IBdaMessageHandler <ForceEventArgs> >().ProcessMessage(args);
                break;

            case VesselTeamChangeEventArgs args:
                Dependencies.Get <IBdaMessageHandler <VesselTeamChangeEventArgs> >().ProcessMessage(args);
                break;

            case ArmorEventArgs args:
                Dependencies.Get <IBdaMessageHandler <ArmorEventArgs> >().ProcessMessage(args);
                break;

            case FireEventArgs args:
                Dependencies.Get <IBdaMessageHandler <FireEventArgs> >().ProcessMessage(args);
                break;

            case TurretAimEventArgs args:
                Dependencies.Get <IBdaMessageHandler <TurretAimEventArgs> >().ProcessMessage(args);
                break;

            case MissileFireEventArgs args:
                Dependencies.Get <IBdaMessageHandler <MissileFireEventArgs> >().ProcessMessage(args);
                break;

            case RequestVesselTeamEventArgs args:
                Dependencies.Get <IBdaMessageHandler <RequestVesselTeamEventArgs> >().ProcessMessage(args);
                break;
            }
        }
示例#3
0
        public void HandlerFunction(byte[] messageData)
        {
            BdaMessage messageReceived = BinaryUtils.Deserialize <BdaMessage>(messageData);

            ProcessReceivedMessage(messageReceived);
        }