protected override Vob.VobSendFlags getSendInfo() { Vob.VobSendFlags b = 0; if (this.amount != 1) { b |= VobSendFlags.Amount; } return(b); }
public override Vob.VobSendFlags Write(BitStream stream) { Vob.VobSendFlags b = base.Write(stream); stream.Write(this.itemInstance.ID); if (b.HasFlag(Vob.VobSendFlags.Amount)) { stream.Write(this.amount); } return(b); }
public override Vob.VobSendFlags Read(BitStream stream) { Vob.VobSendFlags sendInfo = base.Read(stream); int instanceID, amount = 1; stream.Read(out instanceID); if (sendInfo.HasFlag(Vob.VobSendFlags.Amount)) { stream.Read(out amount); } if (!ItemInstance.ItemInstanceDict.ContainsKey(instanceID)) { throw new Exception("ItemInstance with id \"" + instanceID + "\" was not found! " + ItemInstance.ItemInstanceDict.Count); } this.itemInstance = ItemInstance.ItemInstanceDict[instanceID]; this.amount = amount; return(sendInfo); }