mission

package
v0.0.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 5, 2024 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Event

type Event struct {
	Id        string
	MissionId string
	Time      gameclock.GameTime
	Cancelled bool
	Index     int
	Execute   func(*Mission, *gamecomm.GameChannels)
}

type EventQueue

type EventQueue []*Event

func (EventQueue) Len

func (eq EventQueue) Len() int

func (EventQueue) Less

func (eq EventQueue) Less(i, j int) bool

func (*EventQueue) Pop

func (eq *EventQueue) Pop() any

func (*EventQueue) Push

func (eq *EventQueue) Push(e any)

func (EventQueue) Swap

func (eq EventQueue) Swap(i, j int)

func (*EventQueue) Update

func (eq *EventQueue) Update(event *Event, t gameclock.GameTime, cancelled bool)

type EventScheduler

type EventScheduler struct {
	// contains filtered or unexported fields
}

func NewEventScheduler

func NewEventScheduler(gameChannels *gamecomm.GameChannels, missions map[string]*Mission, gc *gameclock.GameClock) *EventScheduler

func (*EventScheduler) Run

func (s *EventScheduler) Run()

func (*EventScheduler) Schedule

func (s *EventScheduler) Schedule(e *Event)

func (*EventScheduler) UpdateEvent

func (s *EventScheduler) UpdateEvent(eventId string, newTime gameclock.GameTime, cancelled bool) error

type Mission

type Mission struct {
	Id               string
	CorporationId    uint64
	Squads           []int
	PlanetId         string
	DestinationTime  time.Time
	ReturnalTime     time.Time
	Status           string
	Type             gamecomm.MissionType
	Resources        []string
	NotificationChan chan string
	Amount           int // TODO: You should have and object for transfers {resource, amount}
}

func CreateMission

func CreateMission(mc gamecomm.MissionCommand) (Mission, error)

type MissionScheduler

type MissionScheduler struct {
	RW sync.RWMutex
	// contains filtered or unexported fields
}

func NewMissionScheduler

func NewMissionScheduler(gameChannels *gamecomm.GameChannels, gc *gameclock.GameClock) *MissionScheduler

func (*MissionScheduler) CalculateTravelDistance

func (ms *MissionScheduler) CalculateTravelDistance(m Mission)

func (*MissionScheduler) CreateSquadMission

func (ms *MissionScheduler) CreateSquadMission(m Mission)

func (*MissionScheduler) CreateTransferMission

func (ms *MissionScheduler) CreateTransferMission(m Mission) error

amount int, itemName world.Resource, planetId string, corporationId uint64

func (*MissionScheduler) Run

func (ms *MissionScheduler) Run()

func (*MissionScheduler) StartMission

func (ms *MissionScheduler) StartMission(m Mission)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL