コード例 #1
0
        protected override Vob.VobSendFlags getSendInfo()
        {
            Vob.VobSendFlags b = 0;
            if (this.amount != 1)
            {
                b |= VobSendFlags.Amount;
            }

            return(b);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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);
        }