Namespace Eco.Gameplay.GameActions
Classes
AcceptedLoanOrBond
AccumulatableAction
ActionUtil
Utility class to help with keeping track of IGameActionAware listeners, and notifying them when actions are performed.
Used by systems like Contracts, WorkParties, Item Distributions, etc., to keep track of progress.
AddToWorkOrderAction
AggregatableAction
This is base class for all actions which can be grouped for optimization reasons. It already generates GetGroupingKey via reflection based on attributes and config of stats.
AtomicActions
Atomic actions are anything that has must be performed in a single transaction. Performing an atomic action builds up the ActionPack, which consists of a set of things to test at first, game actions to run through laws and contracts, and then post-effects that are run if everything in the action pack succeeds, and finally things that are disposed when the pack is finished. All atomic actions should check the early-out failure on the pack before doing anything (not necessary for actions that utilize Eco.Gameplay.GameActions.AtomicActions.PerformMultiblockToolAction(Eco.Gameplay.GameActions.GameActionPack,Eco.Gameplay.GameActions.MultiblockActionContext,System.Func{Eco.Shared.Math.WrappedWorldPosition3i,System.Type,Eco.Core.Utils.Result}) since the check will be performed there).
BankAccountPermissionsChanged
BarterTrade
BlockAddRemove
BlockPaint
BlockPaintCleanup
CanAutoAssignAttribute
ChangeParentConfigLocAttribute
CharacterLevelUp
ChatSent
ChopStump
ChopTree
CitizenTimer
CitizenTimerTriggerConfig
ClaimOrUnclaimProperty
CleanupTreeDebris
CompleteClass
CompletedContract
CompletedWorkParty
ConfigNameLocAttribute
ConstructOrDeconstruct
ConstructWithoutToolAttribute
CreateCurrency
CreateTreeDebris
CreateWorkOrder
CulturalObjectSold
CurrencyTrade
CustomConfigAttribute
DefaultedOnLoanOrBond
DemographicChange
DidntVote
DigOrMine
DontReceiveAutoAssignAttribute
DontTestAttribute
DropOrPickupBlock
DropOrPickupGarbage
EducationAction
ElectionAction
EnrollAction
FailedContract
FertilizeAction
FinanceAction
FirstLogin
GainProfession
GainSpecialty
GameAction
GameActionDescription
Wraps Game Action descriptions that are visible to the players in two tenses.(Simple tense and progressive tense).
GameActionExtensions
Extension for game actions.
GameActionManager
Handles applying all the various things that might adjust or prevent actions, and outputs display of them.
GameActionPack
In Eco many actions can be blocked or modified by laws. This is handled with the GameActionPack, which defines an action to try to run, and a set of 'PostEffects' that subsequently run if it succeeds, as well as objects to dispose on completion. These packs are created then passed to the GameActionManager to perform them.
GameActionPackExtension
GameActionTests
GameActionTestsUtil
GlobalTimer
HarvestOrHunt
InteractAction
InventoryAction
ItemCraftedAction
ItemInteractAction
JoinedContract
JoinedWorkParty
JoinOrLeaveElection
LaborWorkOrderAction
LeaveClassBase
LeftClass
LeftWorkParty
LoseSpecialty
LostElection
MintCurrency
MoneyGameAction
MountAction
MoveElevatorAction
MoveWorldObject
MultiblockActionContext
Parameters, the presence of which will determine behavior of multi-block atomic action. Default values will be ignored, i.e. if there is no fuel component provided, then nothing will be burned.
MultiblockContextHelpers
MustBeCitizenToTaxAttribute
NoLawsAttribute
Prevents an action from being tracked in laws and hide it.
ObjectExplosion
ObjectPaint
ObjectPaintCleanup
OfferedLoanOrBond
OpenAction
OpenDoor
PackFlags
A set of flags that can be set on a game action pack to change how its processed.
PayRentOrMoveInFee
PayTax
PayWages
PlaceOrPickUpObject
PlantSeeds
Play
PlowField
PolluteAir
PostedContract
PostedWorkParty
PostResult
PostResultExtensions
PropertyTransfer
QueryAction
ReceiveGovernmentFunds
RecurringPayment
RepaidLoanOrBond
RepairBountyClaimed
ReputationTransfer
ResidencyChanged
RingAlarm
SelectString
SelectTriggerConfig
SkillAction
SpecialtyLevelUp
StartElection
TampRoad
TimerBase
TimerTriggerConfig
ToolInteractAction
TradeAction
TransferMoney
TriggerConfig
TriggerConfigManager
Vote
WonElection
WorkableAction
WorkedForWorkParty
WorkOrderAction
WorldObjectInteractAction
Interfaces
IAuthGameAction
IBankAccountGameAction
IBlockGameAction
ICalorieConsumingAction
ICanOverrideAuth
IConditionalStatistics
ICurrencyGameAction
IDeedAuthRelatedAction
IGameActionAware
IGameActionPackChangeSet
Objects with this interface will be used in GameActionPack to do PreTest, PostEffect or GameActionPack Dispose callback.
IItemGameAction
IItemTransferGameAction
IMultiPlot
IPollutingGameAction
IPositionGameAction
IPretestAction
ISkillGameAction
ISpeciesGameAction
ISyncedAction
An action that should be run in synced way. Both with "IPretestAction" works to avoid bugs with simultaneous running of two actions, like pick up same item twice by different users. Pair of (syncObject, GameActionType) will be locked while action is running.