public void Write(OutBlob stream) { stream.Write(Hit.Damage); stream.Write((byte)Hit.Type); stream.Write(Hit.CurrentHealth); stream.Write(Hit.MaxHealth); }
public void Send(OutBlob stream) { // don't write the packet if no indicies have been passed. if (!_indicies.Any()) { return; } stream.BeginPacket(Id); stream.Write16((short)_interf.Id); foreach (var i in _indicies) { // write index if (i < 128) { stream.Write((byte)i); } else { stream.Write16((short)i); } var item = _container.Provider[i]; // write id stream.Write16((short)item.Id.ItemId); // write size as byte-int32 smart stream.WriteByteInt32Smart(item.Amount); } stream.EndPacket(); }
public void Send(OutBlob stream) { stream.BeginPacket(Id); stream.Write16(_x); stream.Write16(_y); stream.EndPacket(); }
public void Write(OutBlob stream) { stream.Write((byte)Chat.Color); stream.Write((byte)Chat.Effects); stream.Write((byte)Chat.Title); stream.WriteString(Chat.Message); }
private static void WriteInitSegments(OutBlob stream, IEnumerable <IUpdateSegment> initializeSegments) { foreach (var init in initializeSegments) { init.Write(stream); } }
private static void WriteFlagSegments(OutBlob stream, IList <IUpdateSegment> flagSegments) { foreach (var flag in flagSegments) { flag.Write(stream); } }
public void Write(OutBlob stream) { stream.WriteBits(11, _pid + 1); // id stream.WriteBits(1, _needsUpdate ? 1 : 0); // needs update? stream.WriteBits(1, 1); // todo : setpos flag stream.WriteBits(5, _ydelta); // ydelta stream.WriteBits(5, _xdelta); // xdelta }
public void Send(OutBlob stream) { stream.BeginPacket(249); stream.Write((byte)(_isMember ? 1 : 0)); stream.Write16((short)(_pid + 1)); stream.EndPacket(); }
public void Write(OutBlob stream) { stream.WriteBits(1, 1); // continue reading? stream.WriteBits(2, 1); // type stream.WriteBits(3, (byte)_dir); stream.WriteBits(1, _needsUpdate ? 1 : 0); // add to needs updating list }
public void Send(OutBlob stream) { stream.BeginPacket(Id); stream.Write16((short)_dt); stream.Write16((short)_processTime); stream.EndPacket(); }
public void Send(OutBlob stream) { if (IsInvalid) { return; } InternalSend(stream); }
public void Send(OutBlob stream) { stream.BeginPacket(Id); stream.WriteString(_text); stream.Write16((short)_id); stream.EndPacket(); }
public void Send(OutBlob stream) { stream.BeginPacket(Id); stream.Write16(-1); stream.Write((byte)_sidebarInterfaceIndex); stream.EndPacket(); }
public void Send(OutBlob stream) { stream.BeginPacket(Id); stream.Write(_index); stream.Write(_isOnTop); stream.WriteString(_msg); stream.EndPacket(); }
public void Send(OutBlob stream) { stream.BeginPacket(Id); stream.Write16(_id); stream.Write(_sidebarIndex); stream.EndPacket(); }
private static void WriteInitSegmentsEndMarkerIfNeeded( OutBlob stream, IList <IUpdateSegment> flagSegments, int numIdBits, int maxIdValue) { if (flagSegments.Any()) { stream.WriteBits(numIdBits, maxIdValue); } }
public void Send(OutBlob stream) { stream.BeginPacket(Id); stream.Write16((short)_id); stream.Write16((short)_zoom); stream.Write16((short)_itemId); stream.EndPacket(); }
public void Write(OutBlob stream) { stream.Write(Movement.Start.x); stream.Write(Movement.Start.y); stream.Write(Movement.End.x); stream.Write(Movement.End.y); stream.Write(Movement.Duration.x); stream.Write(Movement.Duration.y); stream.Write((byte)Movement.Direction); }
public void Send(OutBlob stream) { stream.BeginPacket(Id); stream.Write(_skillIdx); stream.Write32(_exp); stream.Write(_level); stream.EndPacket(); }
public void Write(OutBlob stream) { stream.WriteBits(14, _npcInstanceId); stream.WriteBits(5, _yDelta); stream.WriteBits(5, _xDelta); stream.WriteBits(1, 1); // setpos?? flag // todo : setpos flag stream.WriteBits(12, _definitionId); stream.WriteBits(1, _needsUpdate ? 1 : 0); }
public void Write(OutBlob stream) { stream.WriteBits(1, 1); // continue reading? stream.WriteBits(2, 3); // type stream.WriteBits(2, _local.Z); // plane stream.WriteBits(1, 1); // todo : setpos flag stream.WriteBits(1, _needsUpdate ? 1 : 0); // add to needs updating list stream.WriteBits(7, _local.Y); // local y stream.WriteBits(7, _local.X); // local x }
public override void Write(OutBlob stream) { var header = (PlayerFlag)GetHeader(f => (int)f.ToPlayer()); if (header == 0) { return; } // write header stream.Write((byte)header); stream.Write((byte)((short)header >> 8)); // write flags if ((header & PlayerFlag.ForcedMovement) != 0) { GetFlag(FlagType.ForcedMovement).Write(stream); } if ((header & PlayerFlag.ParticleEffect) != 0) { GetFlag(FlagType.ParticleEffect).Write(stream); } if ((header & PlayerFlag.Animation) != 0) { GetFlag(FlagType.Animation).Write(stream); } if ((header & PlayerFlag.ForcedText) != 0) { GetFlag(FlagType.OverheadText).Write(stream); } if ((header & PlayerFlag.Chat) != 0) { GetFlag(FlagType.ChatMessage).Write(stream); } if ((header & PlayerFlag.InteractEnt) != 0) { GetFlag(FlagType.InteractingEntity).Write(stream); } if ((header & PlayerFlag.Appearance) != 0) { GetFlag(FlagType.Appearance).Write(stream); } if ((header & PlayerFlag.FacingCoordinate) != 0) { GetFlag(FlagType.FacingDir).Write(stream); } if ((header & PlayerFlag.PrimaryHit) != 0 || (header & PlayerFlag.SecondaryHit) != 0) { GetFlag(FlagType.Damage).Write(stream); } }
private static void WriteSyncSegments(OutBlob stream, IEnumerable <IUpdateSegment> syncSegments) { // avoid double enumeration if the syncSegments IEnumerable var enumeratedSyncSegments = syncSegments as IList <IUpdateSegment> ?? syncSegments.ToList(); stream.WriteBits(8, enumeratedSyncSegments.Count); foreach (var segment in enumeratedSyncSegments) { segment.Write(stream); } }
public void Send(OutBlob stream) { stream.BeginPacket(PacketId); stream.BeginBitAccess(); GenericEntityUpdateWriter.WriteIntoPacket(stream, _syncSegments, _initializeSegments, _flagSegments, NumIdBits, MaxIdValue); stream.EndPacket(); }
public override int GetHashCode() { int hash = 1; if (InBlob.Length != 0) { hash ^= InBlob.GetHashCode(); } if (OutBlob.Length != 0) { hash ^= OutBlob.GetHashCode(); } hash ^= internalBlobInt8_.GetHashCode(); return(hash); }
public override void Write(OutBlob stream) { var header = (NpcFlag)GetHeader(f => (int)f.ToNpc()); if (header == 0) { return; } // header stream.Write((byte)header); // flags if ((header & NpcFlag.Animation) != 0) { GetFlag(FlagType.Animation).Write(stream); } if ((header & NpcFlag.PrimaryHit) != 0 || (header & NpcFlag.SecondaryHit) != 0) { GetFlag(FlagType.Damage).Write(stream); } if ((header & NpcFlag.ParticleEffect) != 0) { GetFlag(FlagType.ParticleEffect).Write(stream); } if ((header & NpcFlag.InteractingEntity) != 0) { GetFlag(FlagType.InteractingEntity).Write(stream); } if ((header & NpcFlag.Text) != 0) { GetFlag(FlagType.OverheadText).Write(stream); } if ((header & NpcFlag.Definition) != 0) { GetFlag(FlagType.DefinitionChange).Write(stream); } if ((header & NpcFlag.FacingCoordinate) != 0) { GetFlag(FlagType.FacingDir).Write(stream); } }
public void Send(OutBlob stream) { stream.BeginPacket(Id); stream.Write16((short)_id); // find upper bound in inventory var upperBoundIdx = 0; for (var i = 0; i < _container.Provider.Count; i++) { if (_container.Provider[i].IsEmpty()) { continue; } upperBoundIdx = i; } // write payload upperBoundIdx += 1; stream.Write16((short)upperBoundIdx); for (var i = 0; i < upperBoundIdx; i++) { var item = _container.Provider[i]; if (item.IsEmpty()) { stream.Write(0); // amnt stream.Write16(0); // id continue; } // write amount. If amount is > 255, write it as an int32 stream.WriteByteInt32Smart(item.Amount); // write id stream.Write16((short)item.Id.ItemId); } stream.EndPacket(); }
public static void WriteIntoPacket(OutBlob stream, [NotNull] IEnumerable <IUpdateSegment> syncSegments, [NotNull] IEnumerable <IUpdateSegment> initializeSegments, [NotNull] IEnumerable <IUpdateSegment> flagSegments, int numIdBits, int maxIdValue) { stream.BeginBitAccess(); WriteSyncSegments(stream, syncSegments); WriteInitSegments(stream, initializeSegments); // avoid double enumeration of the flagSegments enumerable var enumeratedUpdateSegments = flagSegments as IList <IUpdateSegment> ?? flagSegments.ToList(); WriteInitSegmentsEndMarkerIfNeeded(stream, enumeratedUpdateSegments, numIdBits, maxIdValue); stream.EndBitAccess(); WriteFlagSegments(stream, enumeratedUpdateSegments); }
public void Send(OutBlob stream) { stream.BeginPacket(Id); stream.EndPacket(); }
public void Write(OutBlob stream) { stream.WriteBits(1, 1); // is not noop? stream.WriteBits(2, 3); // type }