Example #1
0
        public override void HandleMessageContents(NetworkMessage message, Connection connection)
        {
            var attackPacket = new AttackPacket(message);
            var player       = Game.Instance.GetCreatureWithId(connection.PlayerId) as Player;

            player?.SetAttackTarget(attackPacket.CreatureId);
        }
Example #2
0
        public void TestSerde()
        {
            var a = new AttackPacket(123);
            var b = SerializeAndDeserialize(a);

            Assert.Equal(a, b);
        }
Example #3
0
 void Start()
 {
     player = GameObject.Find ("Player");
             List<DamagePacket> damageList = new List<DamagePacket> ();
             damageList.Add (new DamagePacket ("RP", 10));
             proxAttackPacket = new AttackPacket (damageList);
 }
Example #4
0
        private void handleAttackPacket(AttackPacket p)
        {
            //Attack packet recieved server side
            if (m.map.getData((int)p.from.X, (int)p.from.Y) == null)
            {
                return;
            }
            if (m.map.getData((int)p.to.X, (int)p.to.Y) == null)
            {
                return;
            }
            if (m.map.getData((int)p.from.X, (int)p.from.Y).AP == 0)
            {
                return;
            }

            Unit u = m.map.getData((int)p.from.X, (int)p.from.Y);

            u.AP--;
            m.map.setData((int)p.from.X, (int)p.from.Y, u);

            u = m.map.getData((int)p.to.X, (int)p.to.Y);
            u.HP--;             //TODO: Handle death
            m.map.setData((int)p.to.X, (int)p.to.Y, u);
            updateTile(p.from);
            updateTile(p.to);
        }
Example #5
0
    public void     OnReceiveAttackPacket(int node, PacketId id, byte[] data)
    {
        AttackPacket packet = new AttackPacket(data);
        AttackData   attack = packet.GetPacket();

        //Debug.Log("[CLIENT] Receive Attack packet:" + attack.characterId);

        chrController controller = findPlayer(attack.characterId);

        if (controller == null)
        {
            return;
        }

        // 캐릭터 좌표 보간.
        chrBehaviorNet behavior = controller.behavior as chrBehaviorNet;

        if (behavior != null)
        {
            if (attack.attackKind == 0)
            {
                behavior.cmdShotAttack();
            }
            else
            {
                behavior.cmdMeleeAttack();
            }
        }
    }
Example #6
0
 public void handleAttackPacket(AttackPacket packet)
 {
     Debug.Log (packet.getAttackPacket().Count.ToString());
     packet.getAttackPacket().ForEach(delegate(DamagePacket dpack){
         handleDamagePacket(dpack);
     });
 }
Example #7
0
        public void AttackPacket_Initialization()
        {
            const uint AnyCreatureId = 1u;

            IAttackInfo attackInfo = new AttackPacket(AnyCreatureId);

            Assert.AreEqual(AnyCreatureId, attackInfo.TargetCreatureId, $"Expected {nameof(attackInfo.TargetCreatureId)} to match {AnyCreatureId}.");
        }
Example #8
0
 public static void ReadPacket(ref NetIncomingMessage msg, ref AttackPacket packet)
 {
     packet.name            = msg.ReadString();
     packet.uid             = msg.ReadInt64();
     packet.posX            = msg.ReadInt32();
     packet.posY            = msg.ReadInt32();
     packet.facingDirection = (Player.FacingDirections)msg.ReadInt32();
 }
Example #9
0
 public static void WritePacket(ref NetOutgoingMessage msg, AttackPacket packet)
 {
     msg.Write((byte)Types.ATTACK);
     msg.Write(packet.name);
     msg.Write(packet.uid);
     msg.Write(packet.posX);
     msg.Write(packet.posY);
     msg.Write((Int32)packet.facingDirection);
 }
Example #10
0
        void HandleAttack(Session session, AttackPacket p)
        {
            var holder = GetPlayerHolder(session);

            if (holder.Mode == PlayerMode.Player)
            {
                var player = holder.Player;
                player.UseSkill(p.Mode);
                room.LaunchProjectile(player);
            }
        }
Example #11
0
        private void SendAttackPacket(ServerPlayer player, Vector2 target)
        {
            AttackPacket attackPacket = new AttackPacket
            {
                FromPlayer = player.Id,
                CommandId  = player.LastProcessedCommandId,
                ServerTick = _serverLogic.Tick,
                Hit        = target
            };

            ServerPacketHandler.Instance.SendSerializablePacketToRenderedPlayers(PacketType.RemotePlayerAttack, attackPacket, DeliveryMethod.ReliableUnordered, player.Position);
        }
Example #12
0
    // ---------------------------------------------------------------- //

    public void SendAttackData(string charId, int attacKind)
    {
        if (m_network != null)
        {
            AttackData data = new AttackData();

            data.characterId = charId;
            data.attackKind  = attacKind;

            AttackPacket packet = new AttackPacket(data);
            m_network.SendUnreliableToAll <AttackData>(packet);
        }
    }
    public void SendAttackCoord(int charId, float fireForce, Quaternion fireAngle, CharacterCoord fireCoord)
    {
        if(network != null)
        {
            // 패킷 데이터 만들기
            AttackData data = new AttackData();
            data.characterId = charId;
            data.fireForce = fireForce;
            data.fireAngle = fireAngle;
            data.fireCoord = fireCoord;

            // 데이터를 UDP송신
            AttackPacket packet = new AttackPacket(data);
            network.SendUnreliableToAll<AttackData>(packet);
        }
    }
Example #14
0
    public void SendAttackCoord(int charId, float fireForce, Quaternion fireAngle, CharacterCoord fireCoord)
    {
        if (network != null)
        {
            // 패킷 데이터 만들기
            AttackData data = new AttackData();
            data.characterId = charId;
            data.fireForce   = fireForce;
            data.fireAngle   = fireAngle;
            data.fireCoord   = fireCoord;

            // 데이터를 UDP송신
            AttackPacket packet = new AttackPacket(data);
            network.SendUnreliableToAll <AttackData>(packet);
        }
    }
    public void OnReceiveAttackPacket(int node, PacketId id, byte[] data)
    {
        // 패킷 수신
        AttackPacket packet = new AttackPacket(data);
        AttackData attackData = packet.GetPacket();
        Debug.Log("fireAngle:" + attackData.fireAngle);
        Debug.Log("fireForce:" + attackData.fireForce);

        // 송신한 플레이어 구별
        GameObject netplayer = findPlayer(attackData.characterId);

        // 해당 플레이어에게 좌표 전달
        if(netplayer != null)
        {
            netplayer.GetComponent<NetFireCtrl>().SetFirePos(attackData.fireCoord);
            netplayer.GetComponent<NetFireCtrl>().SetFireAngle(attackData.fireAngle);
            netplayer.GetComponent<NetFireCtrl>().SetFireForce(attackData.fireForce);
        }
    }
Example #16
0
    public void OnReceiveAttackPacket(int node, PacketId id, byte[] data)
    {
        // 패킷 수신
        AttackPacket packet     = new AttackPacket(data);
        AttackData   attackData = packet.GetPacket();

        Debug.Log("fireAngle:" + attackData.fireAngle);
        Debug.Log("fireForce:" + attackData.fireForce);

        // 송신한 플레이어 구별
        GameObject netplayer = findPlayer(attackData.characterId);

        // 해당 플레이어에게 좌표 전달
        if (netplayer != null)
        {
            netplayer.GetComponent <NetFireCtrl>().SetFirePos(attackData.fireCoord);
            netplayer.GetComponent <NetFireCtrl>().SetFireAngle(attackData.fireAngle);
            netplayer.GetComponent <NetFireCtrl>().SetFireForce(attackData.fireForce);
        }
    }
    public static bool IsRangedWeaponAttack(this AttackPacket attackPacket)
    {
        var weaponUsed = attackPacket.GetWeaponUsed();

        return(weaponUsed != null && GameSystems.Item.IsRangedWeapon(weaponUsed));
    }
Example #18
0
 private void handleAttackPacket(AttackPacket p)
 {
     //Attack packet received client side (shouldn't ever happen)
     throw new Exception("Attack packet recieved client side.");
 }