dctycoon

package module
v0.0.0-...-e2c201e Latest Latest
Warning

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

Go to latest
Published: Jan 10, 2023 License: GPL-3.0 Imports: 21 Imported by: 0

README

Introduction

This game is heavily influence by the unfinished Server Tycoon (http://www.servertycoon.com/).

i.e. I wanted to see the guys behind Server Tycoon create and release their game, but apparently they stopped developping it. So I decided to tentatively create my own. And because I began to learn Go in march 2017, I tried to use Go to develop it.

Compilation Requirements

For Linux

Get Ubuntu 17.10, change the resolution for at least 1024x768 and execute:

sudo apt-get install git golang-go libsdl2{,-mixer,-image,-ttf,-gfx}-dev
export GOPATH=~/go
go get github.com/nzin/dctycoon # there will be an error message "undefined Asset". Don't pay attention to it.
cd go/src/github.com/nzin/dctycoon
./compile.sh

For Mac

brew install sdl2{,_image,_ttf,_mixer} pkg-config go@1.8
export GOPATH=~/go
go get github.com/nzin/dctycoon # there will be an error message "undefined Asset". Don't pay attention to it.
cd go/src/github.com/nzin/dctycoon
./compile.sh

Licences

This software is covered by the GNU GPLv3 (see LICENCE file)

It use the Twitter Bootstrap v4 framework (https://github.com/twbs/bootstrap) covered by the MIT licence

It used the "Font Awesome" (https://www.flaticon.com/packs/font-awesome) covered by Creative Common BY 3.0

Documentation

Index

Constants

View Source
const (
	RACK_NORMAL_STATE = iota
	RACK_OVER_CURRENT = iota
	RACK_HEAT_WARNING = iota
	RACK_OVER_HEAT    = iota
	RACK_MELTING      = iota
)
View Source
const (
	SHOW_MAPWALL = iota
	SHOW_MAP     = iota
	SHOW_HEATMAP = iota
)
View Source
const (
	SPEED_STOP        = iota
	SPEED_FORWARD     = iota
	SPEED_FASTFORWARD = iota
)
View Source
const (
	DIFFICULTY_EASY   = 0
	DIFFICULTY_MEDIUM = 1
	DIFFICULTY_HARD   = 2
)
View Source
const (
	CHOICE_WIDTH = 230

	CATEGORY_SERVER_TOWER = 0
	CATEGORY_SERVER_RACK  = 1
	CATEGORY_RACK         = 2
	CATEGORY_AC           = 3
	CATEGORY_GENERATOR    = 4
)
View Source
const (
	COLOR_SALE_UNASSIGNED = 0xffaaaaaa
	COLOR_SALE_YOU        = 0xff8888ff
	COLOR_SALE_COMPETITOR = 0xffff7b44
)
View Source
const (
	CHASSIS_OFFSET = 35
	RACK_SIZE      = 15
)
View Source
const (
	TILE_WIDTH_STEP  = 96
	TILE_HEIGHT_STEP = 48
	TILE_HEIGHT      = 257
)

Variables

This section is empty.

Functions

This section is empty.

Types

type BuyoutProfile

type BuyoutProfile struct {
	Servertype    string
	Vps           bool
	Buyperyear    float64
	Margin        float64
	Configuration string
}
 buyoutprofile: {
	  "R100vps": {
    "servertype": "R100"
     "vps": true,
	    "buyperyear": 0.1,     // 10% of remaining capital
     "margin": 2.0,         // service price associated
     "configuration": "low" // [low, medium, high] => low = 1 cpu, 1 ram, 1 disk,... high=> max cpu, max ram, max disk ..., medium: high/2
   },
   "R200": {
     ...
   }
 }

type Customer

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

type DatacenterMap

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

DatacenterMap holds the map information, and is used to - show the datacenter on screen - show the heatmap on screen - spot a rack which is overused electrically - spot all racks when there is an electricity outage - spot a rack which is overtemperature (>50 degrees)

func NewDatacenterMap

func NewDatacenterMap() *DatacenterMap

func (*DatacenterMap) AddRackStatusSubscriber

func (self *DatacenterMap) AddRackStatusSubscriber(subscriber RackStatusSubscriber)

func (*DatacenterMap) ComputeHeatMap

func (self *DatacenterMap) ComputeHeatMap()

func (*DatacenterMap) ComputeOverLimits

func (self *DatacenterMap) ComputeOverLimits()

func (*DatacenterMap) GetGeneralOutage

func (self *DatacenterMap) GetGeneralOutage() bool

func (*DatacenterMap) GetHeight

func (self *DatacenterMap) GetHeight() int32

func (*DatacenterMap) GetMeterSquares

func (self *DatacenterMap) GetMeterSquares() int32

func (*DatacenterMap) GetRackStatus

func (self *DatacenterMap) GetRackStatus(x, y int32) int32

func (*DatacenterMap) GetTemperature

func (self *DatacenterMap) GetTemperature(x, y int32) float64

func (*DatacenterMap) GetTile

func (self *DatacenterMap) GetTile(x, y int32) *Tile

func (*DatacenterMap) GetWidth

func (self *DatacenterMap) GetWidth() int32

func (*DatacenterMap) InitMap

func (self *DatacenterMap) InitMap(assetdcmap string)

func (*DatacenterMap) InstallItem

func (self *DatacenterMap) InstallItem(item *supplier.InventoryItem, x, y int32) bool

InstallItem is used when we drag&drop something into a tile

func (*DatacenterMap) ItemChangedPool

func (self *DatacenterMap) ItemChangedPool(*supplier.InventoryItem)

func (*DatacenterMap) ItemInStock

func (self *DatacenterMap) ItemInStock(*supplier.InventoryItem)

func (*DatacenterMap) ItemInTransit

func (self *DatacenterMap) ItemInTransit(*supplier.InventoryItem)

func (*DatacenterMap) ItemInstalled

func (self *DatacenterMap) ItemInstalled(item *supplier.InventoryItem)

func (*DatacenterMap) ItemRemoveFromStock

func (self *DatacenterMap) ItemRemoveFromStock(*supplier.InventoryItem)

func (*DatacenterMap) ItemUninstalled

func (self *DatacenterMap) ItemUninstalled(item *supplier.InventoryItem)

func (*DatacenterMap) LoadMap

func (self *DatacenterMap) LoadMap(dc map[string]interface{})

func (*DatacenterMap) MigrateToMap

func (self *DatacenterMap) MigrateToMap(dc map[string]interface{})

MigrateToMap is used to upgrade a player from one map to another without loosing inventory

func (*DatacenterMap) MoveElement

func (self *DatacenterMap) MoveElement(xfrom, yfrom, xto, yto int32) bool

func (*DatacenterMap) PowerChange

func (self *DatacenterMap) PowerChange(time time.Time, consumed, generated, delivered, cooler float64)

func (*DatacenterMap) RemoveRackStatusSubscriber

func (self *DatacenterMap) RemoveRackStatusSubscriber(subscriber RackStatusSubscriber)

func (*DatacenterMap) SaveMap

func (self *DatacenterMap) SaveMap() string

func (*DatacenterMap) SetGame

func (self *DatacenterMap) SetGame(inventory *supplier.Inventory, location *supplier.LocationType, currenttime time.Time)

func (*DatacenterMap) UninstallItem

func (self *DatacenterMap) UninstallItem(item *supplier.InventoryItem)

type DcWidget

type DcWidget struct {
	sws.CoreWidget
	// contains filtered or unexported fields
}

This widget allow to display a Datacenter map (and more)

func NewDcWidget

func NewDcWidget(w, h int32, rootwindow *sws.RootWidget) *DcWidget

func (*DcWidget) DragDrop

func (self *DcWidget) DragDrop(x, y int32, payload sws.DragPayload) bool

func (*DcWidget) GeneralOutage

func (self *DcWidget) GeneralOutage(bool)

func (*DcWidget) HasFocus

func (self *DcWidget) HasFocus(focus bool)

func (*DcWidget) HideUpgrade

func (self *DcWidget) HideUpgrade()

func (*DcWidget) KeyDown

func (self *DcWidget) KeyDown(key sdl.Keycode, mod uint16)

func (*DcWidget) MouseDoubleClick

func (self *DcWidget) MouseDoubleClick(x, y int32)

func (*DcWidget) MouseMove

func (self *DcWidget) MouseMove(x, y, xrel, yrel int32)

func (*DcWidget) MousePressDown

func (self *DcWidget) MousePressDown(x, y int32, button uint8)

func (*DcWidget) MousePressUp

func (self *DcWidget) MousePressUp(x, y int32, button uint8)

func (*DcWidget) MoveDown

func (self *DcWidget) MoveDown()

func (*DcWidget) MoveLeft

func (self *DcWidget) MoveLeft()

func (*DcWidget) MoveRight

func (self *DcWidget) MoveRight()

func (*DcWidget) MoveUp

func (self *DcWidget) MoveUp()

func (*DcWidget) RackStatusChange

func (self *DcWidget) RackStatusChange(x, y int32, rackstate int32)

func (*DcWidget) Repaint

func (self *DcWidget) Repaint()

func (*DcWidget) SetGame

func (self *DcWidget) SetGame(inventory *supplier.Inventory, currenttime time.Time, dcmap *DatacenterMap)

func (*DcWidget) SetInventoryManagementCallback

func (self *DcWidget) SetInventoryManagementCallback(showInventoryManagement func())

func (*DcWidget) SetUpgradeCallback

func (self *DcWidget) SetUpgradeCallback(callback func())

func (*DcWidget) ShowUpgrade

func (self *DcWidget) ShowUpgrade()

type DebugOpponentWidget

type DebugOpponentWidget struct {
	sws.CoreWidget
	// contains filtered or unexported fields
}

func NewDebugOpponentWidget

func NewDebugOpponentWidget(w, h int32, game *Game) *DebugOpponentWidget

func (*DebugOpponentWidget) GetCell

func (self *DebugOpponentWidget) GetCell(column, row int32) string

func (*DebugOpponentWidget) GetHeader

func (self *DebugOpponentWidget) GetHeader(column int32) (string, int32)

func (*DebugOpponentWidget) GetNbColumns

func (self *DebugOpponentWidget) GetNbColumns() int32

func (*DebugOpponentWidget) GetNbRows

func (self *DebugOpponentWidget) GetNbRows() int32

func (*DebugOpponentWidget) Resize

func (self *DebugOpponentWidget) Resize(w, h int32)

func (*DebugOpponentWidget) SetDataChangeCallback

func (self *DebugOpponentWidget) SetDataChangeCallback(callback func())

when the table need to be refreshed

func (*DebugOpponentWidget) SetRowUpdateCallback

func (self *DebugOpponentWidget) SetRowUpdateCallback(callback func())

when the table grows/shrink

type DecorationElement

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

func NewDecorationElement

func NewDecorationElement(name string) *DecorationElement

func (*DecorationElement) Draw

func (self *DecorationElement) Draw(rotation, flasheffect uint32) *sdl.Surface

func (*DecorationElement) ElementType

func (self *DecorationElement) ElementType() int32

func (*DecorationElement) GetName

func (self *DecorationElement) GetName() string

func (*DecorationElement) InventoryItem

func (self *DecorationElement) InventoryItem() *supplier.InventoryItem

func (*DecorationElement) Power

func (self *DecorationElement) Power() float64

type DemandStat

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

func NewDemandStat

func NewDemandStat(v map[string]interface{}) *DemandStat

func (*DemandStat) Save

func (self *DemandStat) Save() string

type DemandStatDetailsWidget

type DemandStatDetailsWidget struct {
	sws.CoreWidget
	// contains filtered or unexported fields
}

DemandStatDetailsWidget is used to give some insight/details on on particular demand stat

func NewDemandStatDetailsWidget

func NewDemandStatDetailsWidget(bgcolor uint32, stat *DemandStat) *DemandStatDetailsWidget

type DemandStatSubscriber

type DemandStatSubscriber interface {
	NewDemandStat(*DemandStat)
}

DemandStatSubscriber is mainly used by the MainStatsWidget

type DemandStatWidget

type DemandStatWidget struct {
	sws.CoreWidget
	// contains filtered or unexported fields
}

DemandStatWidget is a customer demand stat widget

func NewDemandStatWidget

func NewDemandStatWidget(w, h int32, g *Game) *DemandStatWidget

func (*DemandStatWidget) NewDemandStat

func (self *DemandStatWidget) NewDemandStat(ds *DemandStat)

NewDemandStat is part of DemandStatSubscriber interface

func (*DemandStatWidget) Resize

func (self *DemandStatWidget) Resize(w, h int32)

func (*DemandStatWidget) SetGame

func (self *DemandStatWidget) SetGame(t time.Time, gamestats *GameStats)

type DockWidget

type DockWidget struct {
	sws.CoreWidget
	// contains filtered or unexported fields
}

func NewDockWidget

func NewDockWidget(root *sws.RootWidget, game *Game, gamemenu *MainGameMenu) *DockWidget

func (*DockWidget) ChangeSpeed

func (self *DockWidget) ChangeSpeed(speed int)

from GameTimerSubscriber interface

func (*DockWidget) LedgerChange

func (self *DockWidget) LedgerChange()

func (*DockWidget) NewDay

func (self *DockWidget) NewDay(timer *timer.GameTimer)

from GameTimerSubscriber interface

func (*DockWidget) SetElectricityCallback

func (self *DockWidget) SetElectricityCallback(callback func())

func (*DockWidget) SetFirewallCallback

func (self *DockWidget) SetFirewallCallback(callback func())

func (*DockWidget) SetGame

func (self *DockWidget) SetGame(timer *timer.GameTimer, ledger *accounting.Ledger)

func (*DockWidget) SetInventoryCallback

func (self *DockWidget) SetInventoryCallback(callback func())

func (*DockWidget) SetLedgerCallback

func (self *DockWidget) SetLedgerCallback(callback func())

func (*DockWidget) SetShopCallback

func (self *DockWidget) SetShopCallback(callback func())

func (*DockWidget) SetStatsCallback

func (self *DockWidget) SetStatsCallback(callback func())

type ElementDragPayload

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

func (*ElementDragPayload) GetType

func (self *ElementDragPayload) GetType() int32

func (*ElementDragPayload) PayloadAccepted

func (self *ElementDragPayload) PayloadAccepted(bool)

type FirewallEventDetailIcmp

type FirewallEventDetailIcmp struct {
	sws.CoreWidget
}

func NewFirewallEventDetailIcmp

func NewFirewallEventDetailIcmp(bgColor uint32, packet *firewall.Packet) *FirewallEventDetailIcmp

type FirewallEventDetailTcp

type FirewallEventDetailTcp struct {
	sws.CoreWidget
}

func NewFirewallEventDetailTcp

func NewFirewallEventDetailTcp(bgColor uint32, packet *firewall.Packet) *FirewallEventDetailTcp

type FirewallEventDetailUdp

type FirewallEventDetailUdp struct {
	sws.CoreWidget
}

func NewFirewallEventDetailUdp

func NewFirewallEventDetailUdp(bgColor uint32, packet *firewall.Packet) *FirewallEventDetailUdp

type FirewallRulesWidget

type FirewallRulesWidget struct {
	sws.CoreWidget
	// contains filtered or unexported fields
}

func NewFirewallRulesWidget

func NewFirewallRulesWidget(w, h int32, root *sws.RootWidget) *FirewallRulesWidget

func (*FirewallRulesWidget) Resize

func (self *FirewallRulesWidget) Resize(w, h int32)

func (*FirewallRulesWidget) SetGame

func (self *FirewallRulesWidget) SetGame(firewall *firewall.Firewall)

type FirewallStatusWidget

type FirewallStatusWidget struct {
	sws.CoreWidget
	// contains filtered or unexported fields
}

func NewFirewallStatusWidget

func NewFirewallStatusWidget(w, h int32) *FirewallStatusWidget

func (*FirewallStatusWidget) PacketFiltered

func (self *FirewallStatusWidget) PacketFiltered(event *firewall.FirewallEvent)

func (*FirewallStatusWidget) Resize

func (self *FirewallStatusWidget) Resize(w, h int32)

func (*FirewallStatusWidget) SetGame

func (self *FirewallStatusWidget) SetGame(firewall *firewall.Firewall)

type Game

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

Game contains the global picture of the game, i.e. - npactors (nonplayer) + player - marketplace items (DemandTemplate, ServerBundle) - load/save game functions

func NewGame

func NewGame(quit *bool, root *sws.RootWidget, debug bool) *Game

NewGame create a common place where we generate customer demand and assign them to the best provider (aka Datacenter)

func (*Game) AddGameTimerSubscriber

func (self *Game) AddGameTimerSubscriber(subscriber GameTimerSubscriber)

func (*Game) ChangeGameSpeed

func (self *Game) ChangeGameSpeed(speed int)

ChangeGameSpeed allows to pause, or resume game speed. 3 values allowed: SPEED_STOP, SPEED_FORWARD, SPEED_FASTFORWARD

func (*Game) CheckUpgrade

func (self *Game) CheckUpgrade()

CheckUpgrade check if we have to show the upgrade button on the DcWidget

func (*Game) GeneralOutage

func (self *Game) GeneralOutage(outage bool)

GeneralOutage comes from interface DatacenterMap::RackStatusSubscriber

func (*Game) GenerateDemandAndFee

func (self *Game) GenerateDemandAndFee()

GenerateDemandAndFee generate randomly new demand (and check if a datacenter can handle it)

func (*Game) GetCurrentSpeed

func (self *Game) GetCurrentSpeed() int

GetCurrentSpeed returns the current speed, i.e SPEED_STOP, SPEED_FORWARD, SPEED_FASTFORWARD

func (*Game) GetDebug

func (self *Game) GetDebug() bool

func (*Game) GetGameStats

func (self *Game) GetGameStats() *GameStats

GetPlayer returns the stats central repo

func (*Game) GetNPActors

func (self *Game) GetNPActors() []*NPDatacenter

GetNPActors returns the list of opponents in this play

func (*Game) GetPlayer

func (self *Game) GetPlayer() *Player

GetPlayer returns the player info, nothing fancy here

func (*Game) InitGame

func (self *Game) InitGame(locationid string, difficulty int32, companyname string)

func (*Game) LoadGame

func (self *Game) LoadGame(filename string)

func (*Game) MigrateMap

func (self *Game) MigrateMap(mapname string)

func (*Game) RackStatusChange

func (self *Game) RackStatusChange(x, y int32, rackstate int32)

RackStatusChange comes from interface DatacenterMap::RackStatusSubscriber

func (*Game) RemoveGameTimerSubscriber

func (self *Game) RemoveGameTimerSubscriber(subscriber GameTimerSubscriber)

func (*Game) SaveGame

func (self *Game) SaveGame(filename string)

func (*Game) ShowOpening

func (self *Game) ShowOpening()

type GameStats

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

func NewGameStats

func NewGameStats() *GameStats

func (*GameStats) AddDemandStatSubscriber

func (self *GameStats) AddDemandStatSubscriber(subscriber DemandStatSubscriber)

func (*GameStats) AddPowerStatSubscriber

func (self *GameStats) AddPowerStatSubscriber(subscriber PowerStatSubscriber)

func (*GameStats) AddReputationStatSubscriber

func (self *GameStats) AddReputationStatSubscriber(subscriber ReputationStatSubscriber)

func (*GameStats) InitGame

func (self *GameStats) InitGame(inventory *supplier.Inventory, reputation *supplier.Reputation)

func (*GameStats) LoadGame

func (self *GameStats) LoadGame(inventory *supplier.Inventory, reputation *supplier.Reputation, stats map[string]interface{})

func (*GameStats) NewReputationScore

func (self *GameStats) NewReputationScore(date time.Time, score float64)

func (*GameStats) PowerChange

func (self *GameStats) PowerChange(t time.Time, consumption, generation, provided, cooler float64)

func (*GameStats) RemoveDemandStatSubscriber

func (self *GameStats) RemoveDemandStatSubscriber(subscriber DemandStatSubscriber)

func (*GameStats) RemovePowerStatSubscriber

func (self *GameStats) RemovePowerStatSubscriber(subscriber PowerStatSubscriber)

func (*GameStats) RemoveReputationStatSubscriber

func (self *GameStats) RemoveReputationStatSubscriber(subscriber ReputationStatSubscriber)

func (*GameStats) Save

func (self *GameStats) Save() string

func (*GameStats) TriggerDemandStat

func (self *GameStats) TriggerDemandStat(t time.Time, demand *supplier.DemandInstance, actor supplier.Actor, serverbundle *supplier.ServerBundle)

type GameTimerSubscriber

type GameTimerSubscriber interface {
	ChangeSpeed(speed int)
	NewDay(timer *timer.GameTimer)
}

type GameUI

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

func NewGameUI

func NewGameUI(quit *bool, root *sws.RootWidget, game *Game) *GameUI

func (*GameUI) SetGame

func (self *GameUI) SetGame(globaltimer *timer.GameTimer, player *Player, trends *supplier.Trend, dcmap *DatacenterMap)

SetGame is used when creating a new game, or loading a game This re-init all ledger / inventory UI. Therefore you have to populate the ledger and inventory AFTER calling this method

func (*GameUI) ShowDC

func (self *GameUI) ShowDC()

func (*GameUI) ShowOpening

func (self *GameUI) ShowOpening()

func (*GameUI) ShowUpgrade

func (self *GameUI) ShowUpgrade(game *Game, nextmap string)

type HardwareChoice

type HardwareChoice struct {
	sws.CoreWidget
	// contains filtered or unexported fields
}

func NewHardwareChoice

func NewHardwareChoice() *HardwareChoice

func (*HardwareChoice) ItemChangedPool

func (self *HardwareChoice) ItemChangedPool(item *supplier.InventoryItem)

func (*HardwareChoice) ItemInStock

func (self *HardwareChoice) ItemInStock(item *supplier.InventoryItem)

func (*HardwareChoice) ItemInTransit

func (self *HardwareChoice) ItemInTransit(*supplier.InventoryItem)

func (*HardwareChoice) ItemInstalled

func (self *HardwareChoice) ItemInstalled(item *supplier.InventoryItem)

func (*HardwareChoice) ItemRemoveFromStock

func (self *HardwareChoice) ItemRemoveFromStock(item *supplier.InventoryItem)

func (*HardwareChoice) ItemUninstalled

func (self *HardwareChoice) ItemUninstalled(item *supplier.InventoryItem)

func (*HardwareChoice) SetGame

func (self *HardwareChoice) SetGame(inventory *supplier.Inventory, currenttime time.Time)

type HardwareChoiceCategory

type HardwareChoiceCategory struct {
	sws.LabelWidget
	Category int32
	// contains filtered or unexported fields
}

func NewHardwareChoiceCategory

func NewHardwareChoiceCategory(category int32, main *HardwareChoice) *HardwareChoiceCategory

func (*HardwareChoiceCategory) MousePressDown

func (self *HardwareChoiceCategory) MousePressDown(x, y int32, button uint8)

func (*HardwareChoiceCategory) MousePressUp

func (self *HardwareChoiceCategory) MousePressUp(x, y int32, button uint8)

type HardwareChoiceItem

type HardwareChoiceItem struct {
	sws.LabelWidget
	// contains filtered or unexported fields
}

func NewHardwareChoiceItem

func NewHardwareChoiceItem(item *supplier.InventoryItem) *HardwareChoiceItem

func (*HardwareChoiceItem) MousePressDown

func (self *HardwareChoiceItem) MousePressDown(x, y int32, button uint8)

if we are selecting from an hardware subcategory, i.e. rack or towers

func (*HardwareChoiceItem) UpdateSprite

func (self *HardwareChoiceItem) UpdateSprite()

type ItemInventoryArray

type ItemInventoryArray []*supplier.InventoryItem

func (ItemInventoryArray) Len

func (a ItemInventoryArray) Len() int

func (ItemInventoryArray) Less

func (a ItemInventoryArray) Less(i, j int) bool

func (ItemInventoryArray) Swap

func (a ItemInventoryArray) Swap(i, j int)

type MainElectricityWidget

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

func NewMainElectricityWidget

func NewMainElectricityWidget(root *sws.RootWidget) *MainElectricityWidget

NewMainInventoryWidget presents the pool and offer management window

func (*MainElectricityWidget) Hide

func (self *MainElectricityWidget) Hide()

func (*MainElectricityWidget) PowerChange

func (self *MainElectricityWidget) PowerChange(time time.Time, consumed, generated, delivered, cooler float64)

func (*MainElectricityWidget) SetGame

func (self *MainElectricityWidget) SetGame(inventory *supplier.Inventory, location *supplier.LocationType)

func (*MainElectricityWidget) Show

func (self *MainElectricityWidget) Show()

type MainFirewallWidget

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

func NewMainFirewallWidget

func NewMainFirewallWidget(root *sws.RootWidget) *MainFirewallWidget

NewMainInventoryWidget presents the pool and offer management window

func (*MainFirewallWidget) Hide

func (self *MainFirewallWidget) Hide()

func (*MainFirewallWidget) SetGame

func (self *MainFirewallWidget) SetGame(firewall *firewall.Firewall)

func (*MainFirewallWidget) Show

func (self *MainFirewallWidget) Show()

type MainGameMenu

type MainGameMenu struct {
	StaticWidget
	// contains filtered or unexported fields
}

MainGameMenu is the main game window (new/load/save/quit...)

func NewMainGameMenu

func NewMainGameMenu(game *Game, root *sws.RootWidget, quit *bool) *MainGameMenu

func (*MainGameMenu) SetCancelCallback

func (self *MainGameMenu) SetCancelCallback(callback func())

func (*MainGameMenu) ShowSave

func (self *MainGameMenu) ShowSave()

type MainGameMenuLoad

type MainGameMenuLoad struct {
	StaticWidget
	// contains filtered or unexported fields
}

MainGameMenuLoad is the load game window. Used by MainGameMenu

func NewMainGameMenuLoad

func NewMainGameMenuLoad() *MainGameMenuLoad

func (*MainGameMenuLoad) Loadfiles

func (self *MainGameMenuLoad) Loadfiles()

func (*MainGameMenuLoad) SetCancelCallback

func (self *MainGameMenuLoad) SetCancelCallback(callback func())

func (*MainGameMenuLoad) SetLoadCallback

func (self *MainGameMenuLoad) SetLoadCallback(callback func(filename string))

type MainGameMenuNew

type MainGameMenuNew struct {
	StaticWidget
	// contains filtered or unexported fields
}

MainGameMenuNew is the 'new' game window. Used by MainGameMenu

func NewMainGameMenuNew

func NewMainGameMenuNew(root *sws.RootWidget) *MainGameMenuNew

func (*MainGameMenuNew) Reset

func (self *MainGameMenuNew) Reset()

func (*MainGameMenuNew) SetCancelCallback

func (self *MainGameMenuNew) SetCancelCallback(callback func())

func (*MainGameMenuNew) SetLocation

func (self *MainGameMenuNew) SetLocation(selected, hotspot string)

func (*MainGameMenuNew) SetNewGameCallback

func (self *MainGameMenuNew) SetNewGameCallback(callback func(location string, difficulty int32, companyname string))

type MainGameMenuSave

type MainGameMenuSave struct {
	StaticWidget
	// contains filtered or unexported fields
}

MainGameMenuSave is the save game window. Used by MainGameMenu

func NewMainGameMenuSave

func NewMainGameMenuSave() *MainGameMenuSave

func (*MainGameMenuSave) Loadfiles

func (self *MainGameMenuSave) Loadfiles()

func (*MainGameMenuSave) SetCancelCallback

func (self *MainGameMenuSave) SetCancelCallback(callback func())

func (*MainGameMenuSave) SetSaveCallback

func (self *MainGameMenuSave) SetSaveCallback(callback func(filename string))

type MainInventoryWidget

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

func NewMainInventoryWidget

func NewMainInventoryWidget(root *sws.RootWidget) *MainInventoryWidget

NewMainInventoryWidget presents the pool and offer management window

func (*MainInventoryWidget) Hide

func (self *MainInventoryWidget) Hide()

func (*MainInventoryWidget) SetGame

func (self *MainInventoryWidget) SetGame(player *Player, currenttime time.Time)

func (*MainInventoryWidget) Show

func (self *MainInventoryWidget) Show()

type MainOpening

type MainOpening struct {
	sws.CoreWidget
	// contains filtered or unexported fields
}

func NewMainOpening

func NewMainOpening(w, h int32, rootwindow *sws.RootWidget, gamemenu *MainGameMenu) *MainOpening

func (*MainOpening) Repaint

func (self *MainOpening) Repaint()

type MainStatsWidget

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

MainStatsWidget is a all stat main widget: - opponent view - customer demand stats - ...

func NewMainStatsWidget

func NewMainStatsWidget(root *sws.RootWidget, g *Game) *MainStatsWidget

NewMainStatsWidget presents different stats and graphs

func (*MainStatsWidget) Hide

func (self *MainStatsWidget) Hide()

func (*MainStatsWidget) SetGame

func (self *MainStatsWidget) SetGame()

func (*MainStatsWidget) Show

func (self *MainStatsWidget) Show()

type MainSupplierWidget

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

func NewMainSupplierWidget

func NewMainSupplierWidget(root *sws.RootWidget) *MainSupplierWidget

func (*MainSupplierWidget) Hide

func (self *MainSupplierWidget) Hide()

func (*MainSupplierWidget) SetGame

func (self *MainSupplierWidget) SetGame(timer *timer.GameTimer, inventory *supplier.Inventory, ledger *accounting.Ledger, trend *supplier.Trend)

func (*MainSupplierWidget) Show

func (self *MainSupplierWidget) Show()

type NPDatacenter

type NPDatacenter struct {
	supplier.ActorAbstract
	// contains filtered or unexported fields
}

func NewNPDatacenter

func NewNPDatacenter() *NPDatacenter

NewNPDatacenter() create a new NonPlayerDatacenter that will compete with the player

func (*NPDatacenter) GetPicture

func (self *NPDatacenter) GetPicture() string

func (*NPDatacenter) GetReputationScore

func (self *NPDatacenter) GetReputationScore() float64

GetReputationScore is part of the Actor interface

func (*NPDatacenter) Init

func (self *NPDatacenter) Init(timer *timer.GameTimer, initialcapital float64, locationname string, trend *supplier.Trend, profilename string, name string, male bool)

func (*NPDatacenter) LoadGame

func (self *NPDatacenter) LoadGame(timer *timer.GameTimer, trend *supplier.Trend, v map[string]interface{})

func (*NPDatacenter) NewYearOperations

func (self *NPDatacenter) NewYearOperations()

NewYearOperations will trigger every year different actions, in particular - buy goods - create/refresh offers

func (*NPDatacenter) Save

func (self *NPDatacenter) Save() string

type NameList

type NameList struct {
	Name string
	Male bool
}

type OfferManagementLineWidget

type OfferManagementLineWidget struct {
	sws.CoreWidget
	Checkbox *sws.CheckboxWidget

	Vps      *sws.CheckboxWidget
	Nbcores  *sws.LabelWidget
	Ramsize  *sws.LabelWidget
	Disksize *sws.LabelWidget
	Vt       *sws.CheckboxWidget
	Price    *sws.LabelWidget
	Fitting  *sws.LabelWidget
	// contains filtered or unexported fields
}

func NewOfferManagementLineWidget

func NewOfferManagementLineWidget(offer *supplier.ServerOffer) *OfferManagementLineWidget

func (*OfferManagementLineWidget) AddChild

func (self *OfferManagementLineWidget) AddChild(child sws.Widget)

func (*OfferManagementLineWidget) InventoryItemAdd

func (self *OfferManagementLineWidget) InventoryItemAdd(*supplier.InventoryItem)

func (*OfferManagementLineWidget) InventoryItemAllocate

func (self *OfferManagementLineWidget) InventoryItemAllocate(*supplier.InventoryItem)

func (*OfferManagementLineWidget) InventoryItemRelease

func (self *OfferManagementLineWidget) InventoryItemRelease(*supplier.InventoryItem)

func (*OfferManagementLineWidget) InventoryItemRemove

func (self *OfferManagementLineWidget) InventoryItemRemove(*supplier.InventoryItem)

func (*OfferManagementLineWidget) MousePressDown

func (self *OfferManagementLineWidget) MousePressDown(x, y int32, button uint8)

func (*OfferManagementLineWidget) MousePressUp

func (self *OfferManagementLineWidget) MousePressUp(x, y int32, button uint8)

func (*OfferManagementLineWidget) Update

func (self *OfferManagementLineWidget) Update()

refresh the UI with the content of self.offer

type OfferManagementNewOfferWidget

type OfferManagementNewOfferWidget struct {
	Name     *sws.InputWidget
	Vps      *sws.CheckboxWidget
	Nbcores  *sws.DropdownWidget
	Ramsize  *sws.InputWidget
	Disksize *sws.InputWidget
	Vt       *sws.CheckboxWidget

	Price  *sws.InputWidget
	Save   *sws.ButtonWidget
	Cancel *sws.ButtonWidget

	HowManyFit *sws.LabelWidget
	// contains filtered or unexported fields
}

func NewOfferManagementNewOfferWidget

func NewOfferManagementNewOfferWidget(root *sws.RootWidget, savecallback func(*supplier.ServerOffer)) *OfferManagementNewOfferWidget

func (*OfferManagementNewOfferWidget) Hide

func (self *OfferManagementNewOfferWidget) Hide()

func (*OfferManagementNewOfferWidget) SetGame

func (self *OfferManagementNewOfferWidget) SetGame(inventory *supplier.Inventory)

func (*OfferManagementNewOfferWidget) Show

func (*OfferManagementNewOfferWidget) UpdateHowManyFit

func (self *OfferManagementNewOfferWidget) UpdateHowManyFit()

will update the HowManyFit label with an estimation of how many offers we can fullfill

type OfferManagementWidget

type OfferManagementWidget struct {
	sws.CoreWidget
	// contains filtered or unexported fields
}

func NewOfferManagementWidget

func NewOfferManagementWidget(root *sws.RootWidget) *OfferManagementWidget

func (*OfferManagementWidget) HighlightLine

func (self *OfferManagementWidget) HighlightLine(line *OfferManagementLineWidget, highlight bool)

when we click on a offer line

func (*OfferManagementWidget) Resize

func (self *OfferManagementWidget) Resize(width, height int32)

func (*OfferManagementWidget) SetGame

func (self *OfferManagementWidget) SetGame(player *Player)

type OpponentStatWidget

type OpponentStatWidget struct {
	sws.CoreWidget
	// contains filtered or unexported fields
}

OpponentStatWidget is an opponent stat view

func NewOpponentStatWidget

func NewOpponentStatWidget(w, h int32) *OpponentStatWidget

func (*OpponentStatWidget) Resize

func (self *OpponentStatWidget) Resize(w, h int32)

func (*OpponentStatWidget) SetGame

func (self *OpponentStatWidget) SetGame(game *Game)

type OpponentStatWidgetLine

type OpponentStatWidgetLine struct {
	sws.CoreWidget
	// contains filtered or unexported fields
}

OpponentStatWidgetLine show 1 opponent summary info see OpponentStatWidget

func NewOpponentStatWidgetLine

func NewOpponentStatWidgetLine(opponent *NPDatacenter) *OpponentStatWidgetLine

func (*OpponentStatWidgetLine) ItemChangedPool

func (self *OpponentStatWidgetLine) ItemChangedPool(*supplier.InventoryItem)

func (*OpponentStatWidgetLine) ItemInStock

func (self *OpponentStatWidgetLine) ItemInStock(*supplier.InventoryItem)

func (*OpponentStatWidgetLine) ItemInTransit

func (self *OpponentStatWidgetLine) ItemInTransit(*supplier.InventoryItem)

func (*OpponentStatWidgetLine) ItemInstalled

func (self *OpponentStatWidgetLine) ItemInstalled(*supplier.InventoryItem)

func (*OpponentStatWidgetLine) ItemRemoveFromStock

func (self *OpponentStatWidgetLine) ItemRemoveFromStock(*supplier.InventoryItem)

func (*OpponentStatWidgetLine) ItemUninstalled

func (self *OpponentStatWidgetLine) ItemUninstalled(*supplier.InventoryItem)

type Player

type Player struct {
	supplier.ActorAbstract
	// contains filtered or unexported fields
}

func NewPlayer

func NewPlayer() *Player

NewPlayer create a new player representation

func (*Player) GetCompanyName

func (p *Player) GetCompanyName() string

func (*Player) GetFirewall

func (p *Player) GetFirewall() *firewall.Firewall

func (*Player) GetMapLevel

func (p *Player) GetMapLevel() int32

func (*Player) GetReputation

func (p *Player) GetReputation() *supplier.Reputation

func (*Player) GetReputationScore

func (p *Player) GetReputationScore() float64

GetReputationScore is part of the Actor interface

func (*Player) Init

func (self *Player) Init(timer *timer.GameTimer, initialcapital float64, locationname, companyname string, maplevel int32)

func (*Player) LoadGame

func (self *Player) LoadGame(timer *timer.GameTimer, v map[string]interface{})

func (*Player) Save

func (self *Player) Save() string

func (*Player) SetMapLevel

func (p *Player) SetMapLevel(maplevel int32)

type PlayerStatWidget

type PlayerStatWidget struct {
	sws.CoreWidget
	// contains filtered or unexported fields
}

PlayerStatWidget is a about player info (reputation)

func NewPlayerStatWidget

func NewPlayerStatWidget(w, h int32, g *Game) *PlayerStatWidget

func (*PlayerStatWidget) NewReputationStat

func (self *PlayerStatWidget) NewReputationStat(rs *ReputationStat)

func (*PlayerStatWidget) SetGame

func (self *PlayerStatWidget) SetGame(gamestats *GameStats)

type PowerStat

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

func NewPowerStat

func NewPowerStat(v map[string]interface{}) *PowerStat

func (*PowerStat) Save

func (self *PowerStat) Save() string

type PowerStatSubscriber

type PowerStatSubscriber interface {
	NewPowerStat(*PowerStat)
}

PowerStatSubscriber is mainly used by the MainStatsWidget

type PowerStatWidget

type PowerStatWidget struct {
	sws.CoreWidget
	// contains filtered or unexported fields
}

PowerStatWidget is a about global power consumption / generation stat widget

func NewPowerStatWidget

func NewPowerStatWidget(w, h int32, g *Game) *PowerStatWidget

func (*PowerStatWidget) NewPowerStat

func (self *PowerStatWidget) NewPowerStat(ps *PowerStat)

func (*PowerStatWidget) SetGame

func (self *PowerStatWidget) SetGame(t time.Time, gamestats *GameStats)

type RackChassisWidget

type RackChassisWidget struct {
	sws.CoreWidget
	// contains filtered or unexported fields
}

func NewRackChassisWidget

func NewRackChassisWidget() *RackChassisWidget

func (*RackChassisWidget) DragDrop

func (self *RackChassisWidget) DragDrop(x, y int32, payload sws.DragPayload) bool

func (*RackChassisWidget) DragEnter

func (self *RackChassisWidget) DragEnter(x, y int32, payload sws.DragPayload)

func (*RackChassisWidget) DragLeave

func (self *RackChassisWidget) DragLeave(payload sws.DragPayload)

func (*RackChassisWidget) DragMove

func (self *RackChassisWidget) DragMove(x, y int32, payload sws.DragPayload)

func (*RackChassisWidget) ItemChangedPool

func (self *RackChassisWidget) ItemChangedPool(*supplier.InventoryItem)

func (*RackChassisWidget) ItemInStock

func (self *RackChassisWidget) ItemInStock(*supplier.InventoryItem)

func (*RackChassisWidget) ItemInTransit

func (self *RackChassisWidget) ItemInTransit(*supplier.InventoryItem)

func (*RackChassisWidget) ItemInstalled

func (self *RackChassisWidget) ItemInstalled(item *supplier.InventoryItem)

func (*RackChassisWidget) ItemRemoveFromStock

func (self *RackChassisWidget) ItemRemoveFromStock(*supplier.InventoryItem)

func (*RackChassisWidget) ItemUninstalled

func (self *RackChassisWidget) ItemUninstalled(item *supplier.InventoryItem)

func (*RackChassisWidget) MousePressDown

func (self *RackChassisWidget) MousePressDown(x, y int32, button uint8)

func (*RackChassisWidget) MousePressUp

func (self *RackChassisWidget) MousePressUp(x, y int32, button uint8)

func (*RackChassisWidget) Repaint

func (self *RackChassisWidget) Repaint()

func (*RackChassisWidget) SetGame

func (self *RackChassisWidget) SetGame(inventory *supplier.Inventory)

func (*RackChassisWidget) SetLocation

func (self *RackChassisWidget) SetLocation(x, y int32)

type RackElement

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

func NewRackElement

func NewRackElement(item *supplier.InventoryItem) *RackElement

func (*RackElement) AddItem

func (self *RackElement) AddItem(item *supplier.InventoryItem)

func (*RackElement) Draw

func (self *RackElement) Draw(rotation, flasheffect uint32) *sdl.Surface

func (*RackElement) ElementType

func (self *RackElement) ElementType() int32

func (*RackElement) GetRackServers

func (self *RackElement) GetRackServers() []*supplier.InventoryItem

GetRackServers return the racked servers inside the rack

func (*RackElement) InventoryItem

func (self *RackElement) InventoryItem() *supplier.InventoryItem

InventoryItem return the Rack item itself

func (*RackElement) Power

func (self *RackElement) Power() float64

func (*RackElement) RemoveItem

func (self *RackElement) RemoveItem(item *supplier.InventoryItem)

type RackStatusSubscriber

type RackStatusSubscriber interface {
	// when a rack change from status (RACK_NORMAL_STATE, RACK_OVER_CURRENT, RACK_HEAT_WARNING, RACK_OVER_HEAT, RACK_MELTING)
	RackStatusChange(x, y int32, rackstate int32)

	// outage is true when there is a global outage, and false when we recover
	GeneralOutage(outage bool)
}

type RackWidget

type RackWidget struct {
	sws.CoreWidget
	// contains filtered or unexported fields
}

2 zones:

  • one left creating DragEvent to populate the rack -> create row that dont send back GetChildren()
  • one on the right that receive dragevent AND create DragEvent (to move, and to trash?)

func NewRackWidget

func NewRackWidget(rootwindow *sws.RootWidget) *RackWidget

func (*RackWidget) Hide

func (self *RackWidget) Hide()

func (*RackWidget) SetGame

func (self *RackWidget) SetGame(inventory *supplier.Inventory, currenttime time.Time)

func (*RackWidget) Show

func (self *RackWidget) Show(x, y int32)

type RackWidgetItems

type RackWidgetItems struct {
	sws.CoreWidget
	// contains filtered or unexported fields
}

func NewRackWidgetItems

func NewRackWidgetItems(root *sws.RootWidget) *RackWidgetItems

func (*RackWidgetItems) ItemChangedPool

func (self *RackWidgetItems) ItemChangedPool(item *supplier.InventoryItem)

func (*RackWidgetItems) ItemInStock

func (self *RackWidgetItems) ItemInStock(item *supplier.InventoryItem)

func (*RackWidgetItems) ItemInTransit

func (self *RackWidgetItems) ItemInTransit(item *supplier.InventoryItem)

func (*RackWidgetItems) ItemInstalled

func (self *RackWidgetItems) ItemInstalled(*supplier.InventoryItem)

func (*RackWidgetItems) ItemRemoveFromStock

func (self *RackWidgetItems) ItemRemoveFromStock(item *supplier.InventoryItem)

func (*RackWidgetItems) ItemUninstalled

func (self *RackWidgetItems) ItemUninstalled(*supplier.InventoryItem)

func (*RackWidgetItems) Resize

func (self *RackWidgetItems) Resize(w, h int32)

func (*RackWidgetItems) SetGame

func (self *RackWidgetItems) SetGame(inventory *supplier.Inventory, currenttime time.Time)

type RackWidgetLine

type RackWidgetLine struct {
	sws.LabelWidget
	// contains filtered or unexported fields
}

func NewRackWidgetLine

func NewRackWidgetLine(item *supplier.InventoryItem) *RackWidgetLine

func (*RackWidgetLine) MousePressDown

func (self *RackWidgetLine) MousePressDown(x, y int32, button uint8)

func (*RackWidgetLine) UpdateSprite

func (self *RackWidgetLine) UpdateSprite()

type ReputationStat

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

func NewReputationStat

func NewReputationStat(v map[string]interface{}) *ReputationStat

func (*ReputationStat) Save

func (self *ReputationStat) Save() string

type ReputationStatSubscriber

type ReputationStatSubscriber interface {
	NewReputationStat(*ReputationStat)
}

ReputationStatSubscriber is mainly used by the MainStatsWidget

type ServerDemandStat

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

type ServerDragPayload

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

func (*ServerDragPayload) GetType

func (self *ServerDragPayload) GetType() int32

func (*ServerDragPayload) PayloadAccepted

func (self *ServerDragPayload) PayloadAccepted(bool)

type ServerMovePayload

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

func (*ServerMovePayload) GetType

func (self *ServerMovePayload) GetType() int32

func (*ServerMovePayload) PayloadAccepted

func (self *ServerMovePayload) PayloadAccepted(accepted bool)

type SimpleElement

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

func NewSimpleElement

func NewSimpleElement(item *supplier.InventoryItem) *SimpleElement

func (*SimpleElement) Draw

func (self *SimpleElement) Draw(rotation, flasheffect uint32) *sdl.Surface

func (*SimpleElement) ElementType

func (self *SimpleElement) ElementType() int32

func (*SimpleElement) InventoryItem

func (self *SimpleElement) InventoryItem() *supplier.InventoryItem

func (*SimpleElement) Power

func (self *SimpleElement) Power() float64

type StaticWidget

type StaticWidget struct {
	sws.CoreWidget
}

StaticWidget is a basic bezeled widget

func NewStaticWidget

func NewStaticWidget(h, w int32) *StaticWidget

func (*StaticWidget) Repaint

func (self *StaticWidget) Repaint()

type Subscription

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

type Tile

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

func NewGrassTile

func NewGrassTile() *Tile

func NewTile

func NewTile(wall0, wall1, floor string, rotation uint32, decorationname string) *Tile

func (*Tile) Draw

func (self *Tile) Draw() *sdl.Surface

func (*Tile) DrawWithoutWall

func (self *Tile) DrawWithoutWall() *sdl.Surface

func (*Tile) IsFloorInsideAirFlow

func (self *Tile) IsFloorInsideAirFlow() bool

IsFloorInsideAir used to know if we are on a air flow tile

func (*Tile) IsFloorInsideNotAirFlow

func (self *Tile) IsFloorInsideNotAirFlow() bool

IsFloorInsideNotAir used to know if we are on a server tile but not on a air flow to install anything

func (*Tile) IsFloorOutside

func (self *Tile) IsFloorOutside() bool

IsFloorOutside used to know if we can place a AC on it

func (*Tile) ItemInstalled

func (self *Tile) ItemInstalled(item *supplier.InventoryItem)

func (*Tile) ItemUninstalled

func (self *Tile) ItemUninstalled(item *supplier.InventoryItem)

func (*Tile) Power

func (self *Tile) Power() float64

func (*Tile) Rotate

func (self *Tile) Rotate(rotation uint32)

Rotate is used to rotate the tile by 90 degrees you can call Draw() after calling this function

func (*Tile) SetFlashEffect

func (self *Tile) SetFlashEffect(flash uint32)

SetFlashEffect is used to "flash/brighten" the rack content (the racked servers) flash is a value between 8 (completely white) and 0 (normal image). see global.FlashImage() you can call Draw() after calling this function

func (*Tile) SwitchToAirFlow

func (self *Tile) SwitchToAirFlow()

func (*Tile) SwitchToNotAirFlow

func (self *Tile) SwitchToNotAirFlow()

func (*Tile) TileElement

func (self *Tile) TileElement() TileElement

type TileElement

type TileElement interface {
	// should be passive, rack, ...
	ElementType() int32                             // which type sit on: PRODUCT_RACK, PRODUCT_AC, ...
	InventoryItem() *supplier.InventoryItem         // if there is one
	Draw(rotation, flasheffect uint32) *sdl.Surface // face can be 0,1,2,3 (i.e. 0, 90, 180, 270)
	Power() float64                                 // ampere
}

base "class" for all tiles: - RackElement - SimpleElement - DecorationElement

type TrashWidget

type TrashWidget struct {
	sws.CoreWidget
	// contains filtered or unexported fields
}

func NewTrashWidget

func NewTrashWidget(w, h int32, root *sws.RootWidget) *TrashWidget

func (*TrashWidget) DragDrop

func (self *TrashWidget) DragDrop(x, y int32, payload sws.DragPayload) bool

func (*TrashWidget) Repaint

func (self *TrashWidget) Repaint()

func (*TrashWidget) SetInventory

func (self *TrashWidget) SetInventory(inventory *supplier.Inventory)

type WorldmapWidget

type WorldmapWidget struct {
	sws.CoreWidget
	// contains filtered or unexported fields
}

WorldmapWidget is a worldmap image widget where you can select a Location (see supplier.LocationType and supplier.AvailableLocation)

func NewWorldmapWidget

func NewWorldmapWidget(w, h int32) *WorldmapWidget

func (*WorldmapWidget) MouseMove

func (self *WorldmapWidget) MouseMove(x, y, xrel, yrel int32)

func (*WorldmapWidget) MousePressDown

func (self *WorldmapWidget) MousePressDown(x, y int32, button uint8)

func (*WorldmapWidget) Repaint

func (self *WorldmapWidget) Repaint()

func (*WorldmapWidget) Reset

func (self *WorldmapWidget) Reset()

func (*WorldmapWidget) SetLocationCallback

func (self *WorldmapWidget) SetLocationCallback(callback func(selected, hotspot string))

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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