Beispiel #1
0
        public virtual void SendState(NewPackets.EntityUpdate statePacket = default)
        {
            statePacket.unitIndex = _context.ownerID;
            statePacket.unitType  = Type;
            statePacket.hidden    = Hidden;
            statePacket.dead      = Dead;

            statePacket.position = CurrentPosition;

            statePacket.health         = HealthPoints;
            statePacket.healthCapacity = HealthCapacity;

            for (int i = 1; i < _context.gameManager.PlayerFactions.Count; i++)
            {
                if (_context.gameManager.PlayerFactions[i].Territory.Contains(CurrentPosition))
                {
                    if (!Cloaked || InFaction(i) || InFaction(0))    // Send only if not cloaked or i is own faction
                    {
                        _context.gameManager.Send(
                            (byte)_context.factionID,
                            NewPackets.PacketType.UpdateEntity,
                            statePacket.ByteArray(),
                            _context.gameManager.PlayerFactions[i].FactionClient);
                    }
                }
            }
        }
Beispiel #2
0
        public virtual void BroadcastState(NewPackets.EntityUpdate statePacket = default)
        {
            statePacket.unitIndex = _context.ownerID;
            statePacket.unitType  = Type;
            statePacket.hidden    = Hidden;
            statePacket.dead      = Dead;

            statePacket.position = CurrentPosition;

            statePacket.health         = HealthPoints;
            statePacket.healthCapacity = HealthCapacity;

            _context.gameManager.Broadcast(
                (byte)_context.factionID,
                NewPackets.PacketType.UpdateEntity,
                statePacket.ByteArray());
        }
Beispiel #3
0
        public override void BroadcastState(NewPackets.EntityUpdate statePacket = default)
        {
            statePacket.moveSpeed = _moveSpeed;

            statePacket.carryCapacity = _inventorySize;

            List <byte> invRep = new List <byte>();

            foreach (Entity item in _inventory)
            {
                invRep.Add(item.Type);
            }
            statePacket.inventory = invRep;

            if (_attackTarget != null)
            {
                statePacket.attacking = true;
            }
            statePacket.attackDamage = _attackDamage;
            statePacket.attackRange  = _attackRange;

            base.BroadcastState(statePacket);
        }
Beispiel #4
0
        public override void BroadcastState(NewPackets.EntityUpdate statePacket = default)
        {
            statePacket.status = _status;

            base.BroadcastState(statePacket);
        }
Beispiel #5
0
        public override void SendState(NewPackets.EntityUpdate statePacket = default)
        {
            statePacket.status = _status;

            base.SendState(statePacket);
        }
Beispiel #6
0
 public override void SendState(NewPackets.EntityUpdate statePacket = default(NewPackets.EntityUpdate))
 {
     base.BroadcastState(statePacket);
 }