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); }
public void TestSerde() { var a = new AttackPacket(123); var b = SerializeAndDeserialize(a); Assert.Equal(a, b); }
void Start() { player = GameObject.Find ("Player"); List<DamagePacket> damageList = new List<DamagePacket> (); damageList.Add (new DamagePacket ("RP", 10)); proxAttackPacket = new AttackPacket (damageList); }
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); }
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(); } } }
public void handleAttackPacket(AttackPacket packet) { Debug.Log (packet.getAttackPacket().Count.ToString()); packet.getAttackPacket().ForEach(delegate(DamagePacket dpack){ handleDamagePacket(dpack); }); }
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}."); }
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(); }
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); }
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); } }
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); }
// ---------------------------------------------------------------- // 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); } }
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); } }
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)); }
private void handleAttackPacket(AttackPacket p) { //Attack packet received client side (shouldn't ever happen) throw new Exception("Attack packet recieved client side."); }