// Code generated by the FlatBuffers compiler. DO NOT EDIT.

package report

import (
	flatbuffers "github.com/google/flatbuffers/go"
)

type Bombing struct {
	_tab flatbuffers.Table
}

func GetRootAsBombing(buf []byte, offset flatbuffers.UOffsetT) *Bombing {
	n := flatbuffers.GetUOffsetT(buf[offset:])
	x := &Bombing{}
	x.Init(buf, n+offset)
	return x
}

func FinishBombingBuffer(builder *flatbuffers.Builder, offset flatbuffers.UOffsetT) {
	builder.Finish(offset)
}

func GetSizePrefixedRootAsBombing(buf []byte, offset flatbuffers.UOffsetT) *Bombing {
	n := flatbuffers.GetUOffsetT(buf[offset+flatbuffers.SizeUint32:])
	x := &Bombing{}
	x.Init(buf, n+offset+flatbuffers.SizeUint32)
	return x
}

func FinishSizePrefixedBombingBuffer(builder *flatbuffers.Builder, offset flatbuffers.UOffsetT) {
	builder.FinishSizePrefixed(offset)
}

func (rcv *Bombing) Init(buf []byte, i flatbuffers.UOffsetT) {
	rcv._tab.Bytes = buf
	rcv._tab.Pos = i
}

func (rcv *Bombing) Table() flatbuffers.Table {
	return rcv._tab
}

func (rcv *Bombing) Number() uint64 {
	o := flatbuffers.UOffsetT(rcv._tab.Offset(4))
	if o != 0 {
		return rcv._tab.GetUint64(o + rcv._tab.Pos)
	}
	return 0
}

func (rcv *Bombing) MutateNumber(n uint64) bool {
	return rcv._tab.MutateUint64Slot(4, n)
}

func (rcv *Bombing) Planet() []byte {
	o := flatbuffers.UOffsetT(rcv._tab.Offset(6))
	if o != 0 {
		return rcv._tab.ByteVector(o + rcv._tab.Pos)
	}
	return nil
}

func (rcv *Bombing) Owner() []byte {
	o := flatbuffers.UOffsetT(rcv._tab.Offset(8))
	if o != 0 {
		return rcv._tab.ByteVector(o + rcv._tab.Pos)
	}
	return nil
}

func (rcv *Bombing) Attacker() []byte {
	o := flatbuffers.UOffsetT(rcv._tab.Offset(10))
	if o != 0 {
		return rcv._tab.ByteVector(o + rcv._tab.Pos)
	}
	return nil
}

func (rcv *Bombing) Production() []byte {
	o := flatbuffers.UOffsetT(rcv._tab.Offset(12))
	if o != 0 {
		return rcv._tab.ByteVector(o + rcv._tab.Pos)
	}
	return nil
}

func (rcv *Bombing) Industry() float32 {
	o := flatbuffers.UOffsetT(rcv._tab.Offset(14))
	if o != 0 {
		return rcv._tab.GetFloat32(o + rcv._tab.Pos)
	}
	return 0.0
}

func (rcv *Bombing) MutateIndustry(n float32) bool {
	return rcv._tab.MutateFloat32Slot(14, n)
}

func (rcv *Bombing) Population() float32 {
	o := flatbuffers.UOffsetT(rcv._tab.Offset(16))
	if o != 0 {
		return rcv._tab.GetFloat32(o + rcv._tab.Pos)
	}
	return 0.0
}

func (rcv *Bombing) MutatePopulation(n float32) bool {
	return rcv._tab.MutateFloat32Slot(16, n)
}

func (rcv *Bombing) Colonists() float32 {
	o := flatbuffers.UOffsetT(rcv._tab.Offset(18))
	if o != 0 {
		return rcv._tab.GetFloat32(o + rcv._tab.Pos)
	}
	return 0.0
}

func (rcv *Bombing) MutateColonists(n float32) bool {
	return rcv._tab.MutateFloat32Slot(18, n)
}

func (rcv *Bombing) Capital() float32 {
	o := flatbuffers.UOffsetT(rcv._tab.Offset(20))
	if o != 0 {
		return rcv._tab.GetFloat32(o + rcv._tab.Pos)
	}
	return 0.0
}

func (rcv *Bombing) MutateCapital(n float32) bool {
	return rcv._tab.MutateFloat32Slot(20, n)
}

func (rcv *Bombing) Material() float32 {
	o := flatbuffers.UOffsetT(rcv._tab.Offset(22))
	if o != 0 {
		return rcv._tab.GetFloat32(o + rcv._tab.Pos)
	}
	return 0.0
}

func (rcv *Bombing) MutateMaterial(n float32) bool {
	return rcv._tab.MutateFloat32Slot(22, n)
}

func (rcv *Bombing) AttackPower() float32 {
	o := flatbuffers.UOffsetT(rcv._tab.Offset(24))
	if o != 0 {
		return rcv._tab.GetFloat32(o + rcv._tab.Pos)
	}
	return 0.0
}

func (rcv *Bombing) MutateAttackPower(n float32) bool {
	return rcv._tab.MutateFloat32Slot(24, n)
}

func (rcv *Bombing) Wiped() bool {
	o := flatbuffers.UOffsetT(rcv._tab.Offset(26))
	if o != 0 {
		return rcv._tab.GetBool(o + rcv._tab.Pos)
	}
	return false
}

func (rcv *Bombing) MutateWiped(n bool) bool {
	return rcv._tab.MutateBoolSlot(26, n)
}

func BombingStart(builder *flatbuffers.Builder) {
	builder.StartObject(12)
}
func BombingAddNumber(builder *flatbuffers.Builder, number uint64) {
	builder.PrependUint64Slot(0, number, 0)
}
func BombingAddPlanet(builder *flatbuffers.Builder, planet flatbuffers.UOffsetT) {
	builder.PrependUOffsetTSlot(1, flatbuffers.UOffsetT(planet), 0)
}
func BombingAddOwner(builder *flatbuffers.Builder, owner flatbuffers.UOffsetT) {
	builder.PrependUOffsetTSlot(2, flatbuffers.UOffsetT(owner), 0)
}
func BombingAddAttacker(builder *flatbuffers.Builder, attacker flatbuffers.UOffsetT) {
	builder.PrependUOffsetTSlot(3, flatbuffers.UOffsetT(attacker), 0)
}
func BombingAddProduction(builder *flatbuffers.Builder, production flatbuffers.UOffsetT) {
	builder.PrependUOffsetTSlot(4, flatbuffers.UOffsetT(production), 0)
}
func BombingAddIndustry(builder *flatbuffers.Builder, industry float32) {
	builder.PrependFloat32Slot(5, industry, 0.0)
}
func BombingAddPopulation(builder *flatbuffers.Builder, population float32) {
	builder.PrependFloat32Slot(6, population, 0.0)
}
func BombingAddColonists(builder *flatbuffers.Builder, colonists float32) {
	builder.PrependFloat32Slot(7, colonists, 0.0)
}
func BombingAddCapital(builder *flatbuffers.Builder, capital float32) {
	builder.PrependFloat32Slot(8, capital, 0.0)
}
func BombingAddMaterial(builder *flatbuffers.Builder, material float32) {
	builder.PrependFloat32Slot(9, material, 0.0)
}
func BombingAddAttackPower(builder *flatbuffers.Builder, attackPower float32) {
	builder.PrependFloat32Slot(10, attackPower, 0.0)
}
func BombingAddWiped(builder *flatbuffers.Builder, wiped bool) {
	builder.PrependBoolSlot(11, wiped, false)
}
func BombingEnd(builder *flatbuffers.Builder) flatbuffers.UOffsetT {
	return builder.EndObject()
}
