コード例 #1
0
        private void Network_N3MessageReceived(object s, SmokeLounge.AOtomation.Messaging.Messages.N3Message n3Msg)
        {
            //Chat.WriteLine($"{n3Msg.N3MessageType}");


            if (n3Msg.N3MessageType == SmokeLounge.AOtomation.Messaging.Messages.N3MessageType.PlayfieldAnarchyF)
            {
                PlayfieldAnarchyFMessage ayy = (PlayfieldAnarchyFMessage)n3Msg;
                //Chat.WriteLine($"GenericCmd: {ayy.Action.ToString()}\t{ayy.Count.ToString()}\t{ayy.Target.ToString()}\t{ayy.Temp1.ToString()}\t{ayy.Temp4.ToString()}\t{ayy.User.ToString()}\t{ayy.Identity.ToString()}");
            }

            //if (n3Msg.N3MessageType == N3MessageType.CharDCMove)
            //    Chat.WriteLine($"MoveType: {((CharDCMoveMessage)n3Msg).MoveType}");

            /*
             * if (n3Msg.N3MessageType == SmokeLounge.AOtomation.Messaging.Messages.N3MessageType.TemplateAction)
             * {
             *  TemplateActionMessage ayy = (TemplateActionMessage)n3Msg;
             *  Chat.WriteLine($"TemplateAction: {ayy.Unknown1.ToString()}\t{ayy.Unknown2.ToString()}\t{ayy.Unknown3.ToString()}\t{ayy.Unknown4.ToString()}\t{ayy.ItemLowId.ToString()}\t{ayy.Placement.ToString()}\t{ayy.Identity.ToString()}");
             * }
             */
            /*
             * if (n3Msg.N3MessageType == SmokeLounge.AOtomation.Messaging.Messages.N3MessageType.Feedback)
             * {
             *  FeedbackMessage ayy = (FeedbackMessage)n3Msg;
             *  Chat.WriteLine($"Feedback: {ayy.MessageId.ToString()}\t{ayy.CategoryId.ToString()}\t{ayy.Unknown1.ToString()}");
             * }
             *
             * if(n3Msg.N3MessageType == SmokeLounge.AOtomation.Messaging.Messages.N3MessageType.CharacterAction)
             * {
             *  CharacterActionMessage charActionMessage = (CharacterActionMessage)n3Msg;
             *  Chat.WriteLine($"CharacterAction {charActionMessage.Action}\t{charActionMessage.Identity}\t{charActionMessage.Target}\t{charActionMessage.Parameter1}\t{charActionMessage.Parameter2}\t{charActionMessage.Unknown1}\t{charActionMessage.Unknown2}");
             * }*/
        }
コード例 #2
0
        /// <summary>
        /// </summary>
        /// <param name="client">
        /// </param>
        /// <returns>
        /// </returns>
        public static PlayfieldAnarchyFMessage Create(IZoneClient client)
        {
            var message = new PlayfieldAnarchyFMessage
            {
                Identity =
                    new Identity
                {
                    Type     = IdentityType.Playfield2,
                    Instance =
                        client.Character.Playfield.Identity
                        .Instance
                },
                CharacterCoordinates =
                    new Vector3
                {
                    X = client.Character.Coordinates.x,
                    Y = client.Character.Coordinates.y,
                    Z = client.Character.Coordinates.z,
                },
                PlayfieldId1 =
                    new Identity
                {
                    Type     = IdentityType.Playfield1,
                    Instance =
                        client.Character.Playfield.Identity
                        .Instance
                },
                PlayfieldId2 =
                    new Identity
                {
                    Type     = IdentityType.Playfield2,
                    Instance =
                        client.Character.Playfield.Identity
                        .Instance
                },
                PlayfieldX =
                    Playfields.GetPlayfieldX(
                        client.Character.Playfield.Identity.Instance),
                PlayfieldZ =
                    Playfields.GetPlayfieldZ(
                        client.Character.Playfield.Identity.Instance)
            };

            // TODO: Add the VendorHandler again

            /* var vendorcount = VendorHandler.GetNumberofVendorsinPlayfield(client.Character.PlayField);
             * if (vendorcount > 0)
             * {
             *  var firstVendorId = VendorHandler.GetFirstVendor(client.Character.PlayField);
             *  message.PlayfieldVendorInfo = new PlayfieldVendorInfo
             *                                    {
             *                                        VendorCount = vendorcount,
             *                                        FirstVendorId = firstVendorId
             *                                    };
             * }
             */
            return(message);
        }
コード例 #3
0
        public void PlayfieldAnarchyFMessageTest()
        {
            var expected = new PlayfieldAnarchyFMessage
            {
                Identity             = Identity.None,
                CharacterCoordinates = new Vector3(),
                PlayfieldId1         = Identity.None,
                PlayfieldId2         = Identity.None,
                PlayfieldX           = 1,
                PlayfieldZ           = 2
            };

            var actual = (PlayfieldAnarchyFMessage)this.SerializeDeserialize(expected);

            Assert.AreEqual(expected.PlayfieldX, actual.PlayfieldX);
            Assert.AreEqual(expected.PlayfieldZ, actual.PlayfieldZ);
        }
コード例 #4
0
        /// <summary>
        /// </summary>
        /// <param name="client">
        /// </param>
        public static void Send(IZoneClient client)
        {
            PlayfieldAnarchyFMessage message = Create(client);

            client.SendCompressed(message);
        }