gameplaykit

package
v0.8.2 Latest Latest
Warning

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

Go to latest
Published: Jun 19, 2026 License: MIT Imports: 11 Imported by: 0

Documentation

Rendered for darwin/amd64

Overview

Package gameplaykit provides purego-based Go bindings for the macOS GameplayKit framework.

Apple documentation: https://developer.apple.com/documentation/gameplaykit

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Acl_entry_id_t

type Acl_entry_id_t int64
const (
	ACL_FIRST_ENTRY Acl_entry_id_t = 0
	ACL_NEXT_ENTRY  Acl_entry_id_t = -1
	ACL_LAST_ENTRY  Acl_entry_id_t = -2
)

func (Acl_entry_id_t) String

func (e Acl_entry_id_t) String() string

type Acl_flag_t

type Acl_flag_t int64
const (
	ACL_FLAG_DEFER_INHERIT      Acl_flag_t = 1
	ACL_FLAG_NO_INHERIT         Acl_flag_t = 131072
	ACL_ENTRY_INHERITED         Acl_flag_t = 16
	ACL_ENTRY_FILE_INHERIT      Acl_flag_t = 32
	ACL_ENTRY_DIRECTORY_INHERIT Acl_flag_t = 64
	ACL_ENTRY_LIMIT_INHERIT     Acl_flag_t = 128
	ACL_ENTRY_ONLY_INHERIT      Acl_flag_t = 256
)

func (Acl_flag_t) String

func (e Acl_flag_t) String() string

type Acl_perm_t

type Acl_perm_t int64
const (
	ACL_READ_DATA           Acl_perm_t = 2
	ACL_LIST_DIRECTORY      Acl_perm_t = 2
	ACL_WRITE_DATA          Acl_perm_t = 4
	ACL_ADD_FILE            Acl_perm_t = 4
	ACL_EXECUTE             Acl_perm_t = 8
	ACL_SEARCH              Acl_perm_t = 8
	ACL_DELETE              Acl_perm_t = 16
	ACL_APPEND_DATA         Acl_perm_t = 32
	ACL_ADD_SUBDIRECTORY    Acl_perm_t = 32
	ACL_DELETE_CHILD        Acl_perm_t = 64
	ACL_READ_ATTRIBUTES     Acl_perm_t = 128
	ACL_WRITE_ATTRIBUTES    Acl_perm_t = 256
	ACL_READ_EXTATTRIBUTES  Acl_perm_t = 512
	ACL_WRITE_EXTATTRIBUTES Acl_perm_t = 1024
	ACL_READ_SECURITY       Acl_perm_t = 2048
	ACL_WRITE_SECURITY      Acl_perm_t = 4096
	ACL_CHANGE_OWNER        Acl_perm_t = 8192
	ACL_SYNCHRONIZE         Acl_perm_t = 1048576
)

func (Acl_perm_t) String

func (e Acl_perm_t) String() string

type Acl_tag_t

type Acl_tag_t int64
const (
	ACL_UNDEFINED_TAG  Acl_tag_t = 0
	ACL_EXTENDED_ALLOW Acl_tag_t = 1
	ACL_EXTENDED_DENY  Acl_tag_t = 2
)

func (Acl_tag_t) String

func (e Acl_tag_t) String() string

type Acl_type_t

type Acl_type_t int64
const (
	ACL_TYPE_EXTENDED Acl_type_t = 256
	ACL_TYPE_ACCESS   Acl_type_t = 0
	ACL_TYPE_DEFAULT  Acl_type_t = 1
	ACL_TYPE_AFS      Acl_type_t = 2
	ACL_TYPE_CODA     Acl_type_t = 3
	ACL_TYPE_NTFS     Acl_type_t = 4
	ACL_TYPE_NWFS     Acl_type_t = 5
)

func (Acl_type_t) String

func (e Acl_type_t) String() string

type CGLCPContextPriorityRequest

type CGLCPContextPriorityRequest int64
const (
	KCGLCPContextPriorityRequestHigh   CGLCPContextPriorityRequest = 0
	KCGLCPContextPriorityRequestNormal CGLCPContextPriorityRequest = 1
	KCGLCPContextPriorityRequestLow    CGLCPContextPriorityRequest = 2
)

func (CGLCPContextPriorityRequest) String

type Clockid_t

type Clockid_t int64

func (Clockid_t) String

func (e Clockid_t) String() string

type Dispatch_autorelease_frequency_t

type Dispatch_autorelease_frequency_t uint64
const (
	DISPATCH_AUTORELEASE_FREQUENCY_INHERIT   Dispatch_autorelease_frequency_t = 0
	DISPATCH_AUTORELEASE_FREQUENCY_WORK_ITEM Dispatch_autorelease_frequency_t = 1
	DISPATCH_AUTORELEASE_FREQUENCY_NEVER     Dispatch_autorelease_frequency_t = 2
)

func (Dispatch_autorelease_frequency_t) String

type Dispatch_block_flags_t

type Dispatch_block_flags_t uint64
const (
	DISPATCH_BLOCK_BARRIER           Dispatch_block_flags_t = 1
	DISPATCH_BLOCK_DETACHED          Dispatch_block_flags_t = 2
	DISPATCH_BLOCK_ASSIGN_CURRENT    Dispatch_block_flags_t = 4
	DISPATCH_BLOCK_NO_QOS_CLASS      Dispatch_block_flags_t = 8
	DISPATCH_BLOCK_INHERIT_QOS_CLASS Dispatch_block_flags_t = 16
	DISPATCH_BLOCK_ENFORCE_QOS_CLASS Dispatch_block_flags_t = 32
)

func (Dispatch_block_flags_t) String

func (e Dispatch_block_flags_t) String() string

type EvCmd

type EvCmd int64
const (
	EVNOP   EvCmd = 0
	EVHIDE  EvCmd = 1
	EVSHOW  EvCmd = 2
	EVMOVE  EvCmd = 3
	EVLEVEL EvCmd = 4
)

func (EvCmd) String

func (e EvCmd) String() string

type Filesec_property_t

type Filesec_property_t int64
const (
	FILESEC_OWNER         Filesec_property_t = 1
	FILESEC_GROUP         Filesec_property_t = 2
	FILESEC_UUID          Filesec_property_t = 3
	FILESEC_MODE          Filesec_property_t = 4
	FILESEC_ACL           Filesec_property_t = 5
	FILESEC_GRPUUID       Filesec_property_t = 6
	FILESEC_ACL_RAW       Filesec_property_t = 100
	FILESEC_ACL_ALLOCSIZE Filesec_property_t = 101
)

func (Filesec_property_t) String

func (e Filesec_property_t) String() string

type GKARC4RandomSource

type GKARC4RandomSource struct {
	GKRandomSource
}

A basic random number generator implementing the ARC4 algorithm, which is suitable for most gameplay mechanics.

Apple documentation: https://developer.apple.com/documentation/gameplaykit/gkarc4randomsource

func GKARC4RandomSourceFromID

func GKARC4RandomSourceFromID(id objc.ID) *GKARC4RandomSource

func (*GKARC4RandomSource) DropValuesWithCount

func (o *GKARC4RandomSource) DropValuesWithCount(count uint)

Skips the specified number of values in the random sequence.

func (*GKARC4RandomSource) Init

Initializes a random source from a nondeterministic seed.

func (*GKARC4RandomSource) InitWithSeed

func (o *GKARC4RandomSource) InitWithSeed(seed *foundation.NSData) *GKARC4RandomSource

Initializes a random source with the specified seed data.

func (*GKARC4RandomSource) Seed

The seed used to stir the arc4 random source. The seed is not encoded through archiving, but the equivalent state buffers are encoded.

func (*GKARC4RandomSource) SetSeed

func (o *GKARC4RandomSource) SetSeed(seed *foundation.NSData)

type GKAgent

type GKAgent struct {
	GKComponent
}

A component that moves a game entity according to a set of goals and realistic constraints.

Apple documentation: https://developer.apple.com/documentation/gameplaykit/gkagent

func GKAgentFromID

func GKAgentFromID(id objc.ID) *GKAgent

func (*GKAgent) Behavior

func (o *GKAgent) Behavior() *GKBehavior

The behavior to apply when updateWithDeltaTime is called. All forces from the goals in the behavior are summed and then applied.

func (*GKAgent) Delegate

func (o *GKAgent) Delegate() GKAgentDelegate

Object which has agentDidUpdate called on it during this agent's behavior updatekbeha

func (*GKAgent) Mass

func (o *GKAgent) Mass() float32

Agent's mass. Used for agent impulse application purposes. Defaults to 1.0

func (*GKAgent) MaxAcceleration

func (o *GKAgent) MaxAcceleration() float32

Maximum amount of acceleration that can be applied to this agent. All applied impulses are clipped to this amount. Defaults to 1.0

func (*GKAgent) MaxSpeed

func (o *GKAgent) MaxSpeed() float32

Maximum speed of this agent. Impulses cannot cause the agents speed to ever be greater than this value. Defaults to 1.0

func (*GKAgent) Radius

func (o *GKAgent) Radius() float32

Radius of the agent's bounding circle. Used by the agent avoid steering functions. Defaults to 0.5 for a canonical diameter of 1.0

func (*GKAgent) SetBehavior

func (o *GKAgent) SetBehavior(behavior *GKBehavior)

func (*GKAgent) SetDelegate

func (o *GKAgent) SetDelegate(delegate GKAgentDelegate)

func (*GKAgent) SetMass

func (o *GKAgent) SetMass(mass float32)

func (*GKAgent) SetMaxAcceleration

func (o *GKAgent) SetMaxAcceleration(maxAcceleration float32)

func (*GKAgent) SetMaxSpeed

func (o *GKAgent) SetMaxSpeed(maxSpeed float32)

func (*GKAgent) SetRadius

func (o *GKAgent) SetRadius(radius float32)

func (*GKAgent) SetSpeed

func (o *GKAgent) SetSpeed(speed float32)

func (*GKAgent) Speed

func (o *GKAgent) Speed() float32

Current speed of the agent along its foward direction. Defaults to 0.0

type GKAgent2D

type GKAgent2D struct {
	GKAgent
}

An agent that operates in a two-dimensional space.

Apple documentation: https://developer.apple.com/documentation/gameplaykit/gkagent2d

func GKAgent2DFromID

func GKAgent2DFromID(id objc.ID) *GKAgent2D

func (*GKAgent2D) Position

func (o *GKAgent2D) Position() unsafe.Pointer

Position of the agent on the logical XY plane

func (*GKAgent2D) Rotation

func (o *GKAgent2D) Rotation() float32

Z rotation of the agent on the logical XY plane

func (*GKAgent2D) SetPosition

func (o *GKAgent2D) SetPosition(position unsafe.Pointer)

func (*GKAgent2D) SetRotation

func (o *GKAgent2D) SetRotation(rotation float32)

func (*GKAgent2D) Velocity

func (o *GKAgent2D) Velocity() unsafe.Pointer

Current logical velocity of the agent. The forward vector can be derived by normalizing this.

type GKAgent3D

type GKAgent3D struct {
	GKAgent
}

An agent that operates in a three-dimensional space.

Apple documentation: https://developer.apple.com/documentation/gameplaykit/gkagent3d

func GKAgent3DFromID

func GKAgent3DFromID(id objc.ID) *GKAgent3D

func (*GKAgent3D) Position

func (o *GKAgent3D) Position() unsafe.Pointer

Position of the agent on the logical XYZ plane

func (*GKAgent3D) RightHanded

func (o *GKAgent3D) RightHanded() bool

Should this vehicle operate in a right-handed coordinate system? NO means it will be left-handed

func (*GKAgent3D) Rotation

func (o *GKAgent3D) Rotation() unsafe.Pointer

The 3x3 rotation matrix that defines the orientation of this agent in 3D space columns[0] is forward, columns[1] is up, columns[2] is side

func (*GKAgent3D) SetPosition

func (o *GKAgent3D) SetPosition(position unsafe.Pointer)

func (*GKAgent3D) SetRightHanded

func (o *GKAgent3D) SetRightHanded(rightHanded bool)

func (*GKAgent3D) SetRotation

func (o *GKAgent3D) SetRotation(rotation unsafe.Pointer)

func (*GKAgent3D) Velocity

func (o *GKAgent3D) Velocity() unsafe.Pointer

Current logical velocity of the agent. The forward vector can be derived by normalizing this.

type GKAgentDelegate

type GKAgentDelegate interface {
}

GKAgentDelegate wraps the ObjC protocol GKAgentDelegate.

type GKBehavior

type GKBehavior struct {
	foundation.NSObject
}

A set of goals that together influence the movement of an agent.

Apple documentation: https://developer.apple.com/documentation/gameplaykit/gkbehavior

func GKBehaviorBehaviorWithGoalWeight

func GKBehaviorBehaviorWithGoalWeight(goal *GKGoal, weight float32) *GKBehavior

Creates a behavior with a single goal.

func GKBehaviorBehaviorWithGoals

func GKBehaviorBehaviorWithGoals(goals *foundation.NSArray[*GKGoal]) *GKBehavior

Creates a behavior with the specified goals.

func GKBehaviorBehaviorWithGoalsAndWeights

func GKBehaviorBehaviorWithGoalsAndWeights(goals *foundation.NSArray[*GKGoal], weights *foundation.NSArray[*foundation.NSNumber]) *GKBehavior

Creates a behavior with the specified goals and weights.

func GKBehaviorBehaviorWithWeightedGoals

func GKBehaviorBehaviorWithWeightedGoals(weightedGoals *foundation.NSDictionary[*GKGoal, *foundation.NSNumber]) *GKBehavior

Creates a behavior with the specified mapping of goals to their weights.

func GKBehaviorFromID

func GKBehaviorFromID(id objc.ID) *GKBehavior

func (*GKBehavior) GoalCount

func (o *GKBehavior) GoalCount() int

func (*GKBehavior) ObjectAtIndexedSubscript

func (o *GKBehavior) ObjectAtIndexedSubscript(idx uint) *GKGoal

Returns the goal at the specified index in the behavior’s list of goals.

func (*GKBehavior) ObjectForKeyedSubscript

func (o *GKBehavior) ObjectForKeyedSubscript(goal *GKGoal) *foundation.NSNumber

Returns the weight associated with the goal specified by subscript syntax.

func (*GKBehavior) RemoveAllGoals

func (o *GKBehavior) RemoveAllGoals()

Removes all goals from the behavior.

func (*GKBehavior) RemoveGoal

func (o *GKBehavior) RemoveGoal(goal *GKGoal)

Removes the specified goal from the behavior.

func (*GKBehavior) SetObjectForKeyedSubscript

func (o *GKBehavior) SetObjectForKeyedSubscript(weight *foundation.NSNumber, goal *GKGoal)

Sets the weight for the goal specified by subscript syntax.

func (*GKBehavior) SetWeightForGoal

func (o *GKBehavior) SetWeightForGoal(weight float32, goal *GKGoal)

Sets the weight for the specified goal’s influence on agents, adding that goal to the behavior if not already present.

func (*GKBehavior) WeightForGoal

func (o *GKBehavior) WeightForGoal(goal *GKGoal) float32

Returns the weight for the specified goal’s influence on agents.

type GKBillowNoiseSource

type GKBillowNoiseSource struct {
	GKCoherentNoiseSource
}

A procedural noise generator whose output is a type of fractal coherent noise with smooth features.

Apple documentation: https://developer.apple.com/documentation/gameplaykit/gkbillownoisesource

func GKBillowNoiseSourceBillowNoiseSourceWithFrequencyOctaveCountPersistenceLacunaritySeed

func GKBillowNoiseSourceBillowNoiseSourceWithFrequencyOctaveCountPersistenceLacunaritySeed(frequency float64, octaveCount int, persistence float64, lacunarity float64, seed int32) *GKBillowNoiseSource

Initializes a billow noise source with the specified parameters.

func GKBillowNoiseSourceFromID

func GKBillowNoiseSourceFromID(id objc.ID) *GKBillowNoiseSource

func (*GKBillowNoiseSource) InitWithFrequencyOctaveCountPersistenceLacunaritySeed

func (o *GKBillowNoiseSource) InitWithFrequencyOctaveCountPersistenceLacunaritySeed(frequency float64, octaveCount int, persistence float64, lacunarity float64, seed int32) *GKBillowNoiseSource

Creates a billow noise source with the specified parameters.

func (*GKBillowNoiseSource) Persistence

func (o *GKBillowNoiseSource) Persistence() float64

func (*GKBillowNoiseSource) SetPersistence

func (o *GKBillowNoiseSource) SetPersistence(persistence float64)

type GKBox

type GKBox struct {
	BoxMin unsafe.Pointer
	BoxMax unsafe.Pointer
}

The definition of an axis-aligned rectangular bounding volume addressed by the tree.

type GKCheckerboardNoiseSource

type GKCheckerboardNoiseSource struct {
	GKNoiseSource
}

A procedural noise generator whose output is an alternating square pattern.

Apple documentation: https://developer.apple.com/documentation/gameplaykit/gkcheckerboardnoisesource

func GKCheckerboardNoiseSourceCheckerboardNoiseWithSquareSize

func GKCheckerboardNoiseSourceCheckerboardNoiseWithSquareSize(squareSize float64) *GKCheckerboardNoiseSource

Creates a checkerboard noise source with the specified square size.

func GKCheckerboardNoiseSourceFromID

func GKCheckerboardNoiseSourceFromID(id objc.ID) *GKCheckerboardNoiseSource

func (*GKCheckerboardNoiseSource) InitWithSquareSize

func (o *GKCheckerboardNoiseSource) InitWithSquareSize(squareSize float64) *GKCheckerboardNoiseSource

Initializes a checkerboard noise source with the specified square size.

func (*GKCheckerboardNoiseSource) SetSquareSize

func (o *GKCheckerboardNoiseSource) SetSquareSize(squareSize float64)

func (*GKCheckerboardNoiseSource) SquareSize

func (o *GKCheckerboardNoiseSource) SquareSize() float64

type GKCircleObstacle

type GKCircleObstacle struct {
	GKObstacle
}

A circular impassable area to be avoided by agents.

Apple documentation: https://developer.apple.com/documentation/gameplaykit/gkcircleobstacle

func GKCircleObstacleFromID

func GKCircleObstacleFromID(id objc.ID) *GKCircleObstacle

func GKCircleObstacleObstacleWithRadius

func GKCircleObstacleObstacleWithRadius(radius float32) *GKCircleObstacle

Creates a circular obstacle with the specified radius.

func (*GKCircleObstacle) InitWithRadius

func (o *GKCircleObstacle) InitWithRadius(radius float32) *GKCircleObstacle

Initializes a circular obstacle with the specified radius.

func (*GKCircleObstacle) Position

func (o *GKCircleObstacle) Position() unsafe.Pointer

Position of the center of the circle in 2D space.

func (*GKCircleObstacle) Radius

func (o *GKCircleObstacle) Radius() float32

Radius of the impassible circle

func (*GKCircleObstacle) SetPosition

func (o *GKCircleObstacle) SetPosition(position unsafe.Pointer)

func (*GKCircleObstacle) SetRadius

func (o *GKCircleObstacle) SetRadius(radius float32)

type GKCoherentNoiseSource

type GKCoherentNoiseSource struct {
	GKNoiseSource
}

The abstract superclass for procedural noise generators that create coherent noise.

Apple documentation: https://developer.apple.com/documentation/gameplaykit/gkcoherentnoisesource

func GKCoherentNoiseSourceFromID

func GKCoherentNoiseSourceFromID(id objc.ID) *GKCoherentNoiseSource

func (*GKCoherentNoiseSource) Frequency

func (o *GKCoherentNoiseSource) Frequency() float64

func (*GKCoherentNoiseSource) Lacunarity

func (o *GKCoherentNoiseSource) Lacunarity() float64

func (*GKCoherentNoiseSource) OctaveCount

func (o *GKCoherentNoiseSource) OctaveCount() int

func (*GKCoherentNoiseSource) Seed

func (o *GKCoherentNoiseSource) Seed() int32

func (*GKCoherentNoiseSource) SetFrequency

func (o *GKCoherentNoiseSource) SetFrequency(frequency float64)

func (*GKCoherentNoiseSource) SetLacunarity

func (o *GKCoherentNoiseSource) SetLacunarity(lacunarity float64)

func (*GKCoherentNoiseSource) SetOctaveCount

func (o *GKCoherentNoiseSource) SetOctaveCount(octaveCount int)

func (*GKCoherentNoiseSource) SetSeed

func (o *GKCoherentNoiseSource) SetSeed(seed int32)

type GKComponent

type GKComponent struct {
	foundation.NSObject
}

The abstract superclass for creating objects that add specific gameplay functionality to an entity.

Apple documentation: https://developer.apple.com/documentation/gameplaykit/gkcomponent

func GKComponentFromID

func GKComponentFromID(id objc.ID) *GKComponent

func (*GKComponent) DidAddToEntity

func (o *GKComponent) DidAddToEntity()

Notifies the component that it has been assigned to an entity.

func (*GKComponent) Entity

func (o *GKComponent) Entity() *GKEntity

The entity that this component belongs to. Defaults to nil until the component is added to an entity.

func (*GKComponent) UpdateWithDeltaTime

func (o *GKComponent) UpdateWithDeltaTime(seconds float64)

Performs any custom periodic actions defined by the component subclass.

func (*GKComponent) WillRemoveFromEntity

func (o *GKComponent) WillRemoveFromEntity()

Notifies the component that it has been removed from an entity.

type GKComponentSystem

type GKComponentSystem[ComponentType purego.AnyObject] struct {
	foundation.NSObject
}

Manages periodic update messages for all component objects of a specified class.

Apple documentation: https://developer.apple.com/documentation/gameplaykit/gkcomponentsystem

func GKComponentSystemFromID

func GKComponentSystemFromID[ComponentType purego.AnyObject](id objc.ID) *GKComponentSystem[ComponentType]

func (*GKComponentSystem[ComponentType]) AddComponent

func (o *GKComponentSystem[ComponentType]) AddComponent(component ComponentType)

Adds a component instance to the component system.

func (*GKComponentSystem[ComponentType]) AddComponentWithEntity

func (o *GKComponentSystem[ComponentType]) AddComponentWithEntity(entity *GKEntity)

Adds any instances of the component system’s component class in the specified entity to the component system.

func (*GKComponentSystem[ComponentType]) ClassForGenericArgumentAtIndex

func (o *GKComponentSystem[ComponentType]) ClassForGenericArgumentAtIndex(index uint) objc.Class

Returns the class of the specified generic index

func (*GKComponentSystem[ComponentType]) ComponentClass

func (o *GKComponentSystem[ComponentType]) ComponentClass() objc.Class

The collection's component class. Any selector the component supports can be called on the system and it will be forwarded to each of the components in the collection.

func (*GKComponentSystem[ComponentType]) Components

func (o *GKComponentSystem[ComponentType]) Components() *foundation.NSArray[ComponentType]

The array of components currently in the system.

func (*GKComponentSystem[ComponentType]) InitWithComponentClass

func (o *GKComponentSystem[ComponentType]) InitWithComponentClass(cls objc.Class) *GKComponentSystem[ComponentType]

Initializes a component system to manage components of the specified class.

func (*GKComponentSystem[ComponentType]) ObjectAtIndexedSubscript

func (o *GKComponentSystem[ComponentType]) ObjectAtIndexedSubscript(idx uint) ComponentType

Returns the component at the specified index in the system’s list of components.

func (*GKComponentSystem[ComponentType]) RemoveComponent

func (o *GKComponentSystem[ComponentType]) RemoveComponent(component ComponentType)

Removes the specified component instance from the component system.

func (*GKComponentSystem[ComponentType]) RemoveComponentWithEntity

func (o *GKComponentSystem[ComponentType]) RemoveComponentWithEntity(entity *GKEntity)

Removes any instances of the component system’s component class in the specified entity from the component system.

func (*GKComponentSystem[ComponentType]) UpdateWithDeltaTime

func (o *GKComponentSystem[ComponentType]) UpdateWithDeltaTime(seconds float64)

Tells all component instances managed by the system to perform their custom periodic actions.

type GKCompositeBehavior

type GKCompositeBehavior struct {
	GKBehavior
}

A set of behaviors, each of which is a set of goals, that together influence the movement of an agent.

Apple documentation: https://developer.apple.com/documentation/gameplaykit/gkcompositebehavior

func GKCompositeBehaviorBehaviorWithBehaviors

func GKCompositeBehaviorBehaviorWithBehaviors(behaviors *foundation.NSArray[*GKBehavior]) *GKCompositeBehavior

Creates a composite behavior from the specified individual behaviors.

func GKCompositeBehaviorBehaviorWithBehaviorsAndWeights

func GKCompositeBehaviorBehaviorWithBehaviorsAndWeights(behaviors *foundation.NSArray[*GKBehavior], weights *foundation.NSArray[*foundation.NSNumber]) *GKCompositeBehavior

Creates a behavior with the specified behaviors and weights.

func GKCompositeBehaviorFromID

func GKCompositeBehaviorFromID(id objc.ID) *GKCompositeBehavior

func (*GKCompositeBehavior) BehaviorCount

func (o *GKCompositeBehavior) BehaviorCount() int

Number of sub-behaviors in this behavior

func (*GKCompositeBehavior) RemoveAllBehaviors

func (o *GKCompositeBehavior) RemoveAllBehaviors()

Removes all individual behaviors from the composite behavior.

func (*GKCompositeBehavior) RemoveBehavior

func (o *GKCompositeBehavior) RemoveBehavior(behavior *GKBehavior)

Removes the specified individual behavior from the composite behavior.

func (*GKCompositeBehavior) SetWeightForBehavior

func (o *GKCompositeBehavior) SetWeightForBehavior(weight float32, behavior *GKBehavior)

Sets the weight for the specified individual behavior’s influence on agents, adding that behavior to the composite behavior if it is not already present.

func (*GKCompositeBehavior) WeightForBehavior

func (o *GKCompositeBehavior) WeightForBehavior(behavior *GKBehavior) float32

Returns the weight for the specified individual behavior’s influence on agents.

type GKConstantNoiseSource

type GKConstantNoiseSource struct {
	GKNoiseSource
}

A procedural noise generator that outputs a field of a single constant value.

Apple documentation: https://developer.apple.com/documentation/gameplaykit/gkconstantnoisesource

func GKConstantNoiseSourceConstantNoiseWithValue

func GKConstantNoiseSourceConstantNoiseWithValue(value float64) *GKConstantNoiseSource

Creates a noise source with the specified constant value.

func GKConstantNoiseSourceFromID

func GKConstantNoiseSourceFromID(id objc.ID) *GKConstantNoiseSource

func (*GKConstantNoiseSource) InitWithValue

func (o *GKConstantNoiseSource) InitWithValue(value float64) *GKConstantNoiseSource

Initializes a noise source with the specified constant value.

func (*GKConstantNoiseSource) SetValue

func (o *GKConstantNoiseSource) SetValue(value float64)

func (*GKConstantNoiseSource) Value

func (o *GKConstantNoiseSource) Value() float64

type GKCylindersNoiseSource

type GKCylindersNoiseSource struct {
	GKNoiseSource
}

A procedural noise generator whose output is a 3D field of concentric cylindrical shells.

Apple documentation: https://developer.apple.com/documentation/gameplaykit/gkcylindersnoisesource

func GKCylindersNoiseSourceCylindersNoiseWithFrequency

func GKCylindersNoiseSourceCylindersNoiseWithFrequency(frequency float64) *GKCylindersNoiseSource

Creates a cylinder noise source with the specified frequency.

func GKCylindersNoiseSourceFromID

func GKCylindersNoiseSourceFromID(id objc.ID) *GKCylindersNoiseSource

func (*GKCylindersNoiseSource) Frequency

func (o *GKCylindersNoiseSource) Frequency() float64

func (*GKCylindersNoiseSource) InitWithFrequency

func (o *GKCylindersNoiseSource) InitWithFrequency(frequency float64) *GKCylindersNoiseSource

Initializes a cylinder noise source with the specified frequency.

func (*GKCylindersNoiseSource) SetFrequency

func (o *GKCylindersNoiseSource) SetFrequency(frequency float64)

type GKDecisionNode

type GKDecisionNode struct {
	foundation.NSObject
}

A node for use in manually creating decision trees, representing a specific question and possible answers, or an action that follows from answering other questions.

Apple documentation: https://developer.apple.com/documentation/gameplaykit/gkdecisionnode

func GKDecisionNodeFromID

func GKDecisionNodeFromID(id objc.ID) *GKDecisionNode

func (*GKDecisionNode) CreateBranchWithPredicateAttribute

func (o *GKDecisionNode) CreateBranchWithPredicateAttribute(predicate *foundation.NSPredicate, attribute foundation.NSObjectProtocol) *GKDecisionNode

Creates a child node that the decision tree should use when the current node’s attribute satisfies the specified predicate.

func (*GKDecisionNode) CreateBranchWithValueAttribute

func (o *GKDecisionNode) CreateBranchWithValueAttribute(value *foundation.NSNumber, attribute foundation.NSObjectProtocol) *GKDecisionNode

Creates a child node that the decision tree should use when the current node’s attribute has the specified value.

func (*GKDecisionNode) CreateBranchWithWeightAttribute

func (o *GKDecisionNode) CreateBranchWithWeightAttribute(weight int, attribute foundation.NSObjectProtocol) *GKDecisionNode

Creates a child node that the decision tree should use as the result of a random choice, biased by the specified weight.

type GKDecisionTree

type GKDecisionTree struct {
	foundation.NSObject
}

A data structure that models a set of specific questions, their possible answers, and the actions that follow from a series of answers.

Apple documentation: https://developer.apple.com/documentation/gameplaykit/gkdecisiontree

func GKDecisionTreeFromID

func GKDecisionTreeFromID(id objc.ID) *GKDecisionTree

func (*GKDecisionTree) ExportToURLError

func (o *GKDecisionTree) ExportToURLError(url *foundation.NSURL, error_ unsafe.Pointer) bool

Exports a decision tree to the given URL @param url The URL to which the contents will be exported @return The response indicating the status of the decision tree being successfully exported

func (*GKDecisionTree) FindActionForAnswers

Searches the decision tree, following the branches corresponding to each of the specified answers, and returns the resulting action object.

func (*GKDecisionTree) InitWithAttribute

func (o *GKDecisionTree) InitWithAttribute(attribute foundation.NSObjectProtocol) *GKDecisionTree

Creates a decision tree starting with the specified initial attribute to test.

func (*GKDecisionTree) InitWithExamplesActionsAttributes

func (o *GKDecisionTree) InitWithExamplesActionsAttributes(examples *foundation.NSArray[objc.ID], actions *foundation.NSArray[foundation.NSObjectProtocol], attributes *foundation.NSArray[foundation.NSObjectProtocol]) *GKDecisionTree

Creates an automatically learned decision tree using the specified attributes, example items, and actions.

func (*GKDecisionTree) InitWithURLError

func (o *GKDecisionTree) InitWithURLError(url *foundation.NSURL, error_ unsafe.Pointer) *GKDecisionTree

Initializes a decision tree from the contents of a file @param url The URL from which the contents will be loaded @return The instance of the decision tree constructed

func (*GKDecisionTree) RandomSource

func (o *GKDecisionTree) RandomSource() *GKRandomSource

The random source used by the decision tree when descending on a random branch This must be set before creating any weighted branches @see GKDecisionNode

func (*GKDecisionTree) RootNode

func (o *GKDecisionTree) RootNode() *GKDecisionNode

The node for the decision tree that all other nodes descend from

func (*GKDecisionTree) SetRandomSource

func (o *GKDecisionTree) SetRandomSource(randomSource *GKRandomSource)

type GKEntity

type GKEntity struct {
	foundation.NSObject
}

An object relevant to gameplay, with functionality entirely provided by a collection of component objects.

Apple documentation: https://developer.apple.com/documentation/gameplaykit/gkentity

func GKEntityEntity

func GKEntityEntity() *GKEntity

Creates a new entity object.

func GKEntityFromID

func GKEntityFromID(id objc.ID) *GKEntity

func (*GKEntity) AddComponent

func (o *GKEntity) AddComponent(component *GKComponent)

Adds a component to the entity.

func (*GKEntity) ComponentForClass

func (o *GKEntity) ComponentForClass(componentClass objc.Class) *GKComponent

Returns the entity’s component for the specified component class.

func (*GKEntity) Components

func (o *GKEntity) Components() *foundation.NSArray[*GKComponent]

Access the current set of components as an array. Note: this is not the internal array of components, but rather a newly created array of the current component mapping.

func (*GKEntity) Init

func (o *GKEntity) Init() *GKEntity

Initializes a new entity object.

func (*GKEntity) RemoveComponentForClass

func (o *GKEntity) RemoveComponentForClass(componentClass objc.Class)

Removes the component of the specified class from the entity.

func (*GKEntity) UpdateWithDeltaTime

func (o *GKEntity) UpdateWithDeltaTime(seconds float64)

Performs periodic updates for each of the entity’s components.

type GKGameModel

type GKGameModel interface {
	foundation.NSCopying
	SetGameModel(gameModel GKGameModel)
	GameModelUpdatesForPlayer(player GKGameModelPlayer) *foundation.NSArray[GKGameModelUpdate]
	ApplyGameModelUpdate(gameModelUpdate GKGameModelUpdate)
	Players() *foundation.NSArray[GKGameModelPlayer]
	ActivePlayer() GKGameModelPlayer
}

GKGameModel wraps the ObjC protocol GKGameModel.

type GKGameModelPlayer

type GKGameModelPlayer interface {
	PlayerId() int
}

GKGameModelPlayer wraps the ObjC protocol GKGameModelPlayer.

type GKGameModelUpdate

type GKGameModelUpdate interface {
	Value() int
	SetValue(value int)
}

GKGameModelUpdate wraps the ObjC protocol GKGameModelUpdate.

type GKGaussianDistribution

type GKGaussianDistribution struct {
	GKRandomDistribution
}

A generator for random numbers that follow a Gaussian distribution (also known as a normal distribution) across multiple samplings.

Apple documentation: https://developer.apple.com/documentation/gameplaykit/gkgaussiandistribution

func GKGaussianDistributionFromID

func GKGaussianDistributionFromID(id objc.ID) *GKGaussianDistribution

func (*GKGaussianDistribution) Deviation

func (o *GKGaussianDistribution) Deviation() float32

The deviation, often called 'sigma', is the deviation from the mean that would include roughly 68% of the distribution. The range of the distribution is [mean - 3 * deviation, mean + 3 * deviation]. Values beyond 3 deviations are considered so improbable that they are removed from the output set.

func (*GKGaussianDistribution) InitWithRandomSourceLowestValueHighestValue

func (o *GKGaussianDistribution) InitWithRandomSourceLowestValueHighestValue(source GKRandom, lowestInclusive int, highestInclusive int) *GKGaussianDistribution

Initializes a Gaussian random distribution with the specified lower and upper bounds, using the specified source randomizer.

func (*GKGaussianDistribution) InitWithRandomSourceMeanDeviation

func (o *GKGaussianDistribution) InitWithRandomSourceMeanDeviation(source GKRandom, mean float32, deviation float32) *GKGaussianDistribution

Initializes a Gaussian random distribution with the specified mean and deviation, using the specified source randomizer.

func (*GKGaussianDistribution) Mean

func (o *GKGaussianDistribution) Mean() float32

The mean, or expected, value of the distribution. Values are more probable the closer to the mean they are.

type GKGoal

type GKGoal struct {
	foundation.NSObject
}

An influence that motivates the movement of one or more agents.

Apple documentation: https://developer.apple.com/documentation/gameplaykit/gkgoal

func GKGoalFromID

func GKGoalFromID(id objc.ID) *GKGoal

func GKGoalGoalToAlignWithAgentsMaxDistanceMaxAngle

func GKGoalGoalToAlignWithAgentsMaxDistanceMaxAngle(agents *foundation.NSArray[*GKAgent], maxDistance float32, maxAngle float32) *GKGoal

Creates a goal whose effect is to make an agent align its orientation with that of other agents in a specified group.

func GKGoalGoalToAvoidAgentsMaxPredictionTime

func GKGoalGoalToAvoidAgentsMaxPredictionTime(agents *foundation.NSArray[*GKAgent], maxPredictionTime float64) *GKGoal

Creates a goal whose effect is to make an agent avoid colliding with the specified other agents, taking into account the other agents’ movement.

func GKGoalGoalToAvoidObstaclesMaxPredictionTime

func GKGoalGoalToAvoidObstaclesMaxPredictionTime(obstacles *foundation.NSArray[*GKObstacle], maxPredictionTime float64) *GKGoal

Creates a goal whose effect is to make an agent avoid colliding with the specified static obstacles.

func GKGoalGoalToCohereWithAgentsMaxDistanceMaxAngle

func GKGoalGoalToCohereWithAgentsMaxDistanceMaxAngle(agents *foundation.NSArray[*GKAgent], maxDistance float32, maxAngle float32) *GKGoal

Creates a goal whose effect is to make an agent stay near the other agents in a specified group.

func GKGoalGoalToFleeAgent

func GKGoalGoalToFleeAgent(agent *GKAgent) *GKGoal

Creates a goal whose effect is to move an agent away from the current position of the specified other agent.

func GKGoalGoalToFollowPathMaxPredictionTimeForward

func GKGoalGoalToFollowPathMaxPredictionTimeForward(path *GKPath, maxPredictionTime float64, forward bool) *GKGoal

Creates a goal whose effect is to both maintain position on and traverse the specified path.

func GKGoalGoalToInterceptAgentMaxPredictionTime

func GKGoalGoalToInterceptAgentMaxPredictionTime(target *GKAgent, maxPredictionTime float64) *GKGoal

Creates a goal whose effect is to make an agent pursue the specified other agent, taking into account the target’s movement.

func GKGoalGoalToReachTargetSpeed

func GKGoalGoalToReachTargetSpeed(targetSpeed float32) *GKGoal

Creates a goal whose effect is to accelerate or decelerate an agent until it reaches the specified speed.

func GKGoalGoalToSeekAgent

func GKGoalGoalToSeekAgent(agent *GKAgent) *GKGoal

Creates a goal whose effect is to move an agent toward the current position of the specified other agent.

func GKGoalGoalToSeparateFromAgentsMaxDistanceMaxAngle

func GKGoalGoalToSeparateFromAgentsMaxDistanceMaxAngle(agents *foundation.NSArray[*GKAgent], maxDistance float32, maxAngle float32) *GKGoal

Creates a goal whose effect is to make an agent maintain the specified distance from other agents in a specified group.

func GKGoalGoalToStayOnPathMaxPredictionTime

func GKGoalGoalToStayOnPathMaxPredictionTime(path *GKPath, maxPredictionTime float64) *GKGoal

Creates a goal whose effect is to maintain an agent’s position within the specified path.

func GKGoalGoalToWander

func GKGoalGoalToWander(speed float32) *GKGoal

Creates a goal whose effect is to make an agent wander aimlessly, moving forward and turning at random.

type GKGraph

type GKGraph struct {
	foundation.NSObject
}

A collection of nodes that describes the navigability of a game world and provides pathfinding methods to search for routes through that space.

Apple documentation: https://developer.apple.com/documentation/gameplaykit/gkgraph

func GKGraphFromID

func GKGraphFromID(id objc.ID) *GKGraph

func GKGraphGraphWithNodes

func GKGraphGraphWithNodes(nodes *foundation.NSArray[*GKGraphNode]) *GKGraph

Creates a graph with the specified list of nodes.

func (*GKGraph) AddNodes

func (o *GKGraph) AddNodes(nodes *foundation.NSArray[*GKGraphNode])

Adds the specified nodes to the graph.

func (*GKGraph) ConnectNodeToLowestCostNodeBidirectional

func (o *GKGraph) ConnectNodeToLowestCostNodeBidirectional(node *GKGraphNode, bidirectional bool)

Adds a node to the graph, connecting it to the node already in the graph for which the connection has the lowest cost.

func (*GKGraph) FindPathFromNodeToNode

func (o *GKGraph) FindPathFromNodeToNode(startNode *GKGraphNode, endNode *GKGraphNode) *foundation.NSArray[*GKGraphNode]

Computes and returns a sequence of nodes that represents the shortest traversal of the graph between the specified nodes.

func (*GKGraph) InitWithNodes

func (o *GKGraph) InitWithNodes(nodes *foundation.NSArray[*GKGraphNode]) *GKGraph

Initializes a graph with the specified list of nodes.

func (*GKGraph) Nodes

func (o *GKGraph) Nodes() *foundation.NSArray[*GKGraphNode]

The list of nodes in this graph

func (*GKGraph) RemoveNodes

func (o *GKGraph) RemoveNodes(nodes *foundation.NSArray[*GKGraphNode])

Removes the specified nodes from the graph.

type GKGraphNode

type GKGraphNode struct {
	foundation.NSObject
}

A single node in a navigation graph for use in pathfinding.

Apple documentation: https://developer.apple.com/documentation/gameplaykit/gkgraphnode

func GKGraphNodeFromID

func GKGraphNodeFromID(id objc.ID) *GKGraphNode

func (*GKGraphNode) AddConnectionsToNodesBidirectional

func (o *GKGraphNode) AddConnectionsToNodesBidirectional(nodes *foundation.NSArray[*GKGraphNode], bidirectional bool)

Connects this node to all nodes in the specified list.

func (*GKGraphNode) ConnectedNodes

func (o *GKGraphNode) ConnectedNodes() *foundation.NSArray[*GKGraphNode]

List of other graph nodes that this node has an edge leading to.

func (*GKGraphNode) CostToNode

func (o *GKGraphNode) CostToNode(node *GKGraphNode) float32

Returns the cost to travel from this node to the specified, directly connected, node.

func (*GKGraphNode) EstimatedCostToNode

func (o *GKGraphNode) EstimatedCostToNode(node *GKGraphNode) float32

Returns an underestimate of the cost of travel from this node to the specified node.

func (*GKGraphNode) FindPathFromNode

func (o *GKGraphNode) FindPathFromNode(startNode *GKGraphNode) *foundation.NSArray[*GKGraphNode]

Computes and returns a sequence of nodes that represents the lowest-cost graph traversal from the specified node to this node.

func (*GKGraphNode) FindPathToNode

func (o *GKGraphNode) FindPathToNode(goalNode *GKGraphNode) *foundation.NSArray[*GKGraphNode]

Computes and returns a sequence of nodes that represents the lowest-cost graph traversal from this node to the specified node.

func (*GKGraphNode) RemoveConnectionsToNodesBidirectional

func (o *GKGraphNode) RemoveConnectionsToNodesBidirectional(nodes *foundation.NSArray[*GKGraphNode], bidirectional bool)

Removes the connections from this node to the specified nodes.

type GKGraphNode2D

type GKGraphNode2D struct {
	GKGraphNode
}

A node in a navigation graph, associated with a point in continuous 2D space.

Apple documentation: https://developer.apple.com/documentation/gameplaykit/gkgraphnode2d

func GKGraphNode2DFromID

func GKGraphNode2DFromID(id objc.ID) *GKGraphNode2D

func GKGraphNode2DNodeWithPoint

func GKGraphNode2DNodeWithPoint(point unsafe.Pointer) *GKGraphNode2D

Creates a graph node with the specified point.

func (*GKGraphNode2D) InitWithPoint

func (o *GKGraphNode2D) InitWithPoint(point unsafe.Pointer) *GKGraphNode2D

Initializes a graph node with the specified point.

func (*GKGraphNode2D) Position

func (o *GKGraphNode2D) Position() unsafe.Pointer

func (*GKGraphNode2D) SetPosition

func (o *GKGraphNode2D) SetPosition(position unsafe.Pointer)

type GKGraphNode3D

type GKGraphNode3D struct {
	GKGraphNode
}

A node in a navigation graph, associated with a point in continuous 3D space.

Apple documentation: https://developer.apple.com/documentation/gameplaykit/gkgraphnode3d

func GKGraphNode3DFromID

func GKGraphNode3DFromID(id objc.ID) *GKGraphNode3D

func GKGraphNode3DNodeWithPoint

func GKGraphNode3DNodeWithPoint(point unsafe.Pointer) *GKGraphNode3D

Creates a graph node with the specified point.

func (*GKGraphNode3D) InitWithPoint

func (o *GKGraphNode3D) InitWithPoint(point unsafe.Pointer) *GKGraphNode3D

Initializes a graph node with the specified point.

func (*GKGraphNode3D) Position

func (o *GKGraphNode3D) Position() unsafe.Pointer

func (*GKGraphNode3D) SetPosition

func (o *GKGraphNode3D) SetPosition(position unsafe.Pointer)

type GKGridGraph

type GKGridGraph[NodeType purego.AnyObject] struct {
	GKGraph
}

A navigation graph for 2D game worlds where movement is constrained to an integer grid.

Apple documentation: https://developer.apple.com/documentation/gameplaykit/gkgridgraph

func GKGridGraphFromID

func GKGridGraphFromID[NodeType purego.AnyObject](id objc.ID) *GKGridGraph[NodeType]

func GKGridGraphGraphFromGridStartingAtWidthHeightDiagonalsAllowed

func GKGridGraphGraphFromGridStartingAtWidthHeightDiagonalsAllowed(position unsafe.Pointer, width int, height int, diagonalsAllowed bool) *GKGridGraph[objc.ID]

Creates a graph that describes an integer grid with the specified dimensions.

func GKGridGraphGraphFromGridStartingAtWidthHeightDiagonalsAllowedNodeClass

func GKGridGraphGraphFromGridStartingAtWidthHeightDiagonalsAllowedNodeClass(position unsafe.Pointer, width int, height int, diagonalsAllowed bool, nodeClass objc.Class) *GKGridGraph[objc.ID]

Creates a graph that describes an integer grid with the specified dimensions, using the specified node class.

func (*GKGridGraph[NodeType]) ClassForGenericArgumentAtIndex

func (o *GKGridGraph[NodeType]) ClassForGenericArgumentAtIndex(index uint) objc.Class

Returns the class of the specified generic index

func (*GKGridGraph[NodeType]) ConnectNodeToAdjacentNodes

func (o *GKGridGraph[NodeType]) ConnectNodeToAdjacentNodes(node *GKGridGraphNode)

Adds the specified node to the graph, connecting it to its nearest neighbors in the grid.

func (*GKGridGraph[NodeType]) DiagonalsAllowed

func (o *GKGridGraph[NodeType]) DiagonalsAllowed() bool

func (*GKGridGraph[NodeType]) GridHeight

func (o *GKGridGraph[NodeType]) GridHeight() uint

func (*GKGridGraph[NodeType]) GridOrigin

func (o *GKGridGraph[NodeType]) GridOrigin() unsafe.Pointer

func (*GKGridGraph[NodeType]) GridWidth

func (o *GKGridGraph[NodeType]) GridWidth() uint

func (*GKGridGraph[NodeType]) InitFromGridStartingAtWidthHeightDiagonalsAllowed

func (o *GKGridGraph[NodeType]) InitFromGridStartingAtWidthHeightDiagonalsAllowed(position unsafe.Pointer, width int, height int, diagonalsAllowed bool) *GKGridGraph[NodeType]

Initializes a graph that describes an integer grid with the specified dimensions.

func (*GKGridGraph[NodeType]) InitFromGridStartingAtWidthHeightDiagonalsAllowedNodeClass

func (o *GKGridGraph[NodeType]) InitFromGridStartingAtWidthHeightDiagonalsAllowedNodeClass(position unsafe.Pointer, width int, height int, diagonalsAllowed bool, nodeClass objc.Class) *GKGridGraph[NodeType]

Initializes a graph that describes an integer grid with the specified dimensions, using the specified node class.

func (*GKGridGraph[NodeType]) NodeAtGridPosition

func (o *GKGridGraph[NodeType]) NodeAtGridPosition(position unsafe.Pointer) NodeType

Returns the node in the graph at the specified grid coordinates.

type GKGridGraphNode

type GKGridGraphNode struct {
	GKGraphNode
}

A node in a navigation graph, associated with a position on a discrete two-dimensional grid.

Apple documentation: https://developer.apple.com/documentation/gameplaykit/gkgridgraphnode

func GKGridGraphNodeFromID

func GKGridGraphNodeFromID(id objc.ID) *GKGridGraphNode

func GKGridGraphNodeNodeWithGridPosition

func GKGridGraphNodeNodeWithGridPosition(gridPosition unsafe.Pointer) *GKGridGraphNode

Creates a graph node with the specified position on a grid.

func (*GKGridGraphNode) GridPosition

func (o *GKGridGraphNode) GridPosition() unsafe.Pointer

func (*GKGridGraphNode) InitWithGridPosition

func (o *GKGridGraphNode) InitWithGridPosition(gridPosition unsafe.Pointer) *GKGridGraphNode

Initializes a graph node with the specified position on a grid.

type GKLinearCongruentialRandomSource

type GKLinearCongruentialRandomSource struct {
	GKRandomSource
}

A basic random number generator implementing the linear congruential generator algorithm, which is faster but less random than the default random source.

Apple documentation: https://developer.apple.com/documentation/gameplaykit/gklinearcongruentialrandomsource

func GKLinearCongruentialRandomSourceFromID

func GKLinearCongruentialRandomSourceFromID(id objc.ID) *GKLinearCongruentialRandomSource

func (*GKLinearCongruentialRandomSource) Init

Initializes a random source from a nondeterministic seed.

func (*GKLinearCongruentialRandomSource) InitWithSeed

Initializes a random source with the specified seed value.

func (*GKLinearCongruentialRandomSource) Seed

The seed used to stir the linear congruential random source. The seed changes each time a random value is generated from this source, as the seed is the state buffer. The seed is encoded through archiving.

func (*GKLinearCongruentialRandomSource) SetSeed

func (o *GKLinearCongruentialRandomSource) SetSeed(seed uint64)

type GKMersenneTwisterRandomSource

type GKMersenneTwisterRandomSource struct {
	GKRandomSource
}

A basic random number generator implementing the Mersenne Twister algorithm, which is more random, but slower than the default random source.

Apple documentation: https://developer.apple.com/documentation/gameplaykit/gkmersennetwisterrandomsource

func GKMersenneTwisterRandomSourceFromID

func GKMersenneTwisterRandomSourceFromID(id objc.ID) *GKMersenneTwisterRandomSource

func (*GKMersenneTwisterRandomSource) Init

Initializes a random source from a nondeterministic seed.

func (*GKMersenneTwisterRandomSource) InitWithSeed

Initializes a random source with the specified seed value.

func (*GKMersenneTwisterRandomSource) Seed

The seed used to stir the mersenne twister random source. The seed is not encoded through archiving, but the equivalent state buffers are encoded.

func (*GKMersenneTwisterRandomSource) SetSeed

func (o *GKMersenneTwisterRandomSource) SetSeed(seed uint64)

type GKMeshGraph

type GKMeshGraph[NodeType purego.AnyObject] struct {
	GKGraph
}

A navigation graph for 2D game worlds that creates a space-filling network for smooth pathfinding around obstacles.

Apple documentation: https://developer.apple.com/documentation/gameplaykit/gkmeshgraph

func GKMeshGraphFromID

func GKMeshGraphFromID[NodeType purego.AnyObject](id objc.ID) *GKMeshGraph[NodeType]

func GKMeshGraphGraphWithBufferRadiusMinCoordinateMaxCoordinate

func GKMeshGraphGraphWithBufferRadiusMinCoordinateMaxCoordinate(bufferRadius float32, min unsafe.Pointer, max unsafe.Pointer) *GKMeshGraph[objc.ID]

Creates a graph to cover the specified area.

func GKMeshGraphGraphWithBufferRadiusMinCoordinateMaxCoordinateNodeClass

func GKMeshGraphGraphWithBufferRadiusMinCoordinateMaxCoordinateNodeClass(bufferRadius float32, min unsafe.Pointer, max unsafe.Pointer, nodeClass objc.Class) *GKMeshGraph[objc.ID]

Creates a graph to cover the specified area, using the specified node class.

func (*GKMeshGraph[NodeType]) AddObstacles

func (o *GKMeshGraph[NodeType]) AddObstacles(obstacles *foundation.NSArray[*GKPolygonObstacle])

Adds new obstacles to the graph.

func (*GKMeshGraph[NodeType]) BufferRadius

func (o *GKMeshGraph[NodeType]) BufferRadius() float32

The distance by which all obstacles are extruded. This is most commonly the spatial bounding radius of a potential traveler on this path

func (*GKMeshGraph[NodeType]) ClassForGenericArgumentAtIndex

func (o *GKMeshGraph[NodeType]) ClassForGenericArgumentAtIndex(index uint) objc.Class

Returns the class of the specified generic index

func (*GKMeshGraph[NodeType]) ConnectNodeUsingObstacles

func (o *GKMeshGraph[NodeType]) ConnectNodeUsingObstacles(node NodeType)

Adds the specified node to the graph, connecting it to its nearest neighbors without creating connections that pass through obstacles or their buffer regions.

func (*GKMeshGraph[NodeType]) InitWithBufferRadiusMinCoordinateMaxCoordinate

func (o *GKMeshGraph[NodeType]) InitWithBufferRadiusMinCoordinateMaxCoordinate(bufferRadius float32, min unsafe.Pointer, max unsafe.Pointer) *GKMeshGraph[NodeType]

Initializes a graph to cover the specified area.

func (*GKMeshGraph[NodeType]) InitWithBufferRadiusMinCoordinateMaxCoordinateNodeClass

func (o *GKMeshGraph[NodeType]) InitWithBufferRadiusMinCoordinateMaxCoordinateNodeClass(bufferRadius float32, min unsafe.Pointer, max unsafe.Pointer, nodeClass objc.Class) *GKMeshGraph[NodeType]

Initializes a graph to cover the specified area, using the specified node class.

func (*GKMeshGraph[NodeType]) Obstacles

func (o *GKMeshGraph[NodeType]) Obstacles() *foundation.NSArray[*GKPolygonObstacle]

Array of the extruded obstacles currently represented by this graph

func (*GKMeshGraph[NodeType]) RemoveObstacles

func (o *GKMeshGraph[NodeType]) RemoveObstacles(obstacles *foundation.NSArray[*GKPolygonObstacle])

Removes the specified obstacle from the graph.

func (*GKMeshGraph[NodeType]) SetTriangulationMode

func (o *GKMeshGraph[NodeType]) SetTriangulationMode(triangulationMode GKMeshGraphTriangulationMode)

func (*GKMeshGraph[NodeType]) TriangleAtIndex

func (o *GKMeshGraph[NodeType]) TriangleAtIndex(index uint) GKTriangle

The triangle definition at the specified index.

func (*GKMeshGraph[NodeType]) TriangleCount

func (o *GKMeshGraph[NodeType]) TriangleCount() uint

The number of triangles currently in this mesh graph

func (*GKMeshGraph[NodeType]) Triangulate

func (o *GKMeshGraph[NodeType]) Triangulate()

Creates or updates the graph with a network of nodes that describes the open space around its obstacles.

func (*GKMeshGraph[NodeType]) TriangulationMode

func (o *GKMeshGraph[NodeType]) TriangulationMode() GKMeshGraphTriangulationMode

Specifies how graph nodes are generated when you triangulate this graph. You can combine triangulation modes using the | (OR) operator @see GKMeshGraphTriangulationMode

type GKMeshGraphTriangulationMode

type GKMeshGraphTriangulationMode uint64

Options for how to place graph nodes when generating the graph, used by the triangulationMode property.

const (
	// An option to place graph nodes at each vertex in the generated mesh.
	GKMeshGraphTriangulationModeVertices GKMeshGraphTriangulationMode = 1
	// An option to place graph nodes at the center of each polygon in the generated mesh.
	GKMeshGraphTriangulationModeCenters GKMeshGraphTriangulationMode = 2
	// An option to place graph nodes at the midpoint of each in the generated mesh.
	GKMeshGraphTriangulationModeEdgeMidpoints GKMeshGraphTriangulationMode = 4
)

func (GKMeshGraphTriangulationMode) String

type GKMinmaxStrategist

type GKMinmaxStrategist struct {
	foundation.NSObject
}

An AI that chooses moves in turn-based games using a deterministic strategy.

Apple documentation: https://developer.apple.com/documentation/gameplaykit/gkminmaxstrategist

func GKMinmaxStrategistFromID

func GKMinmaxStrategistFromID(id objc.ID) *GKMinmaxStrategist

func (*GKMinmaxStrategist) BestMoveForPlayer

func (o *GKMinmaxStrategist) BestMoveForPlayer(player GKGameModelPlayer) GKGameModelUpdate

Computes and returns the best possible move for the specified player.

func (*GKMinmaxStrategist) MaxLookAheadDepth

func (o *GKMinmaxStrategist) MaxLookAheadDepth() int

The maximum number of future turns that will be processed when searching for a move.

func (*GKMinmaxStrategist) RandomMoveForPlayerFromNumberOfBestMoves

func (o *GKMinmaxStrategist) RandomMoveForPlayerFromNumberOfBestMoves(player GKGameModelPlayer, numMovesToConsider int) GKGameModelUpdate

Computes several of the best possible moves for the specified player, and returns a move randomly selected from among them.

func (*GKMinmaxStrategist) SetMaxLookAheadDepth

func (o *GKMinmaxStrategist) SetMaxLookAheadDepth(maxLookAheadDepth int)

type GKMonteCarloStrategist

type GKMonteCarloStrategist struct {
	foundation.NSObject
}

An AI that chooses moves in turn-based games using a probabilistic strategy.

Apple documentation: https://developer.apple.com/documentation/gameplaykit/gkmontecarlostrategist

func GKMonteCarloStrategistFromID

func GKMonteCarloStrategistFromID(id objc.ID) *GKMonteCarloStrategist

func (*GKMonteCarloStrategist) Budget

func (o *GKMonteCarloStrategist) Budget() uint

The maximum number of samples that will be processed when searching for a move.

func (*GKMonteCarloStrategist) ExplorationParameter

func (o *GKMonteCarloStrategist) ExplorationParameter() uint

A weight that encourages exploration of less visited updates versus the continued exploitation of previously visited updates.

func (*GKMonteCarloStrategist) SetBudget

func (o *GKMonteCarloStrategist) SetBudget(budget uint)

func (*GKMonteCarloStrategist) SetExplorationParameter

func (o *GKMonteCarloStrategist) SetExplorationParameter(explorationParameter uint)

type GKNSPredicateRule

type GKNSPredicateRule struct {
	GKRule
}

A rule for use in a rule system that uses a Foundation NSPredicate object to evaluate itself.

Apple documentation: https://developer.apple.com/documentation/gameplaykit/gknspredicaterule

func GKNSPredicateRuleFromID

func GKNSPredicateRuleFromID(id objc.ID) *GKNSPredicateRule

func (*GKNSPredicateRule) InitWithPredicate

func (o *GKNSPredicateRule) InitWithPredicate(predicate *foundation.NSPredicate) *GKNSPredicateRule

Initializes a rule with the specified predicate.

func (*GKNSPredicateRule) Predicate

func (o *GKNSPredicateRule) Predicate() *foundation.NSPredicate

The NSPredicate that is used inside this subclass's implementation of evaluatePredicateWithSystem: In order to effectively use this class you must still override performActionWithSystem: @see GKRule.evaluatePredicateWithSystem:

type GKNoise

type GKNoise struct {
	foundation.NSObject
}

A representation of procedural noise, generated by a noise source, that you can use to process, transform, or combine noise.

Apple documentation: https://developer.apple.com/documentation/gameplaykit/gknoise

func GKNoiseFromID

func GKNoiseFromID(id objc.ID) *GKNoise

func GKNoiseNoiseWithComponentNoisesSelectionNoise

func GKNoiseNoiseWithComponentNoisesSelectionNoise(noises *foundation.NSArray[*GKNoise], selectionNoise *GKNoise) *GKNoise

Creates a noise object by combining the specified noise objects, using another noise object to select which regions of the output correspond to which input noise.

func GKNoiseNoiseWithComponentNoisesSelectionNoiseComponentBoundariesBoundaryBlendDistances

func GKNoiseNoiseWithComponentNoisesSelectionNoiseComponentBoundariesBoundaryBlendDistances(noises *foundation.NSArray[*GKNoise], selectionNoise *GKNoise, componentBoundaries *foundation.NSArray[*foundation.NSNumber], blendDistances *foundation.NSArray[*foundation.NSNumber]) *GKNoise

Creates a noise object by combining the specified noise objects, using another noise object and the specified boundaries to select which regions of the output correspond to which input noise.

func GKNoiseNoiseWithNoiseSource

func GKNoiseNoiseWithNoiseSource(noiseSource *GKNoiseSource) *GKNoise

Creates a noise object with the specified noise source.

func GKNoiseNoiseWithNoiseSourceGradientColors

func GKNoiseNoiseWithNoiseSourceGradientColors(noiseSource *GKNoiseSource, gradientColors *foundation.NSDictionary[*foundation.NSNumber, *appkit.NSColor]) *GKNoise

Creates a noise object with the specified noise source, with colors for later use in generating noise textures.

func (*GKNoise) AddWithNoise

func (o *GKNoise) AddWithNoise(noise *GKNoise)

Replaces values in the noise field by adding them to values from the specified noise object.

func (*GKNoise) ApplyAbsoluteValue

func (o *GKNoise) ApplyAbsoluteValue()

Replaces all negative values in the noise field with their positive absolute values.

func (*GKNoise) ApplyTurbulenceWithFrequencyPowerRoughnessSeed

func (o *GKNoise) ApplyTurbulenceWithFrequencyPowerRoughnessSeed(frequency float64, power float64, roughness int, seed int32)

Replaces values in the noise field by applying a randomized distortion effect.

func (*GKNoise) ClampWithLowerBoundUpperBound

func (o *GKNoise) ClampWithLowerBoundUpperBound(lowerBound float64, upperBound float64)

Replaces values in the noise field outside the specified range with the values at the endpoints of that range.

func (*GKNoise) DisplaceXWithNoiseYWithNoiseZWithNoise

func (o *GKNoise) DisplaceXWithNoiseYWithNoiseZWithNoise(xDisplacementNoise *GKNoise, yDisplacementNoise *GKNoise, zDisplacementNoise *GKNoise)

Replaces values in the noise field by shifting each value along a vector whose x-, y-, and z-components are based on the specified noise objects.

func (*GKNoise) GradientColors

func (o *GKNoise) GradientColors() *foundation.NSDictionary[*foundation.NSNumber, *appkit.NSColor]

Color gradient of this noise, represented as 'value : color' pairs. Utilized when this noise is rendered to a texture.

func (*GKNoise) Init

func (o *GKNoise) Init() *GKNoise

Initializes a constant noise of 0.0 at all positions.

func (*GKNoise) InitWithNoiseSource

func (o *GKNoise) InitWithNoiseSource(noiseSource *GKNoiseSource) *GKNoise

Initializes a noise object with the specified noise source.

func (*GKNoise) InitWithNoiseSourceGradientColors

func (o *GKNoise) InitWithNoiseSourceGradientColors(noiseSource *GKNoiseSource, gradientColors *foundation.NSDictionary[*foundation.NSNumber, *appkit.NSColor]) *GKNoise

Initializes a noise object with the specified noise source, with colors for later use in generating noise textures.

func (*GKNoise) Invert

func (o *GKNoise) Invert()

Replaces all values in the noise field with their opposite, reversing the range of noise values.

func (*GKNoise) MaximumWithNoise

func (o *GKNoise) MaximumWithNoise(noise *GKNoise)

Replaces values in the noise field by choosing the lesser of each value and a corresponding value in the specified noise object.

func (*GKNoise) MinimumWithNoise

func (o *GKNoise) MinimumWithNoise(noise *GKNoise)

Replaces values in the noise field by choosing the lesser of each value and a corresponding value in the specified noise object.

func (*GKNoise) MoveBy

func (o *GKNoise) MoveBy(delta unsafe.Pointer)

Translates the entire noise field by the specified x, y, and z offsets.

func (*GKNoise) MultiplyWithNoise

func (o *GKNoise) MultiplyWithNoise(noise *GKNoise)

Replaces values in the noise field by multiplying them with values from the specified noise object.

func (*GKNoise) RaiseToPower

func (o *GKNoise) RaiseToPower(power float64)

Replaces all values in the noise field by raising each value to the specified power.

func (*GKNoise) RaiseToPowerWithNoise

func (o *GKNoise) RaiseToPowerWithNoise(noise *GKNoise)

Replaces values in the noise field by exponentiating them with values from the specified noise object.

func (*GKNoise) RemapValuesToCurveWithControlPoints

func (o *GKNoise) RemapValuesToCurveWithControlPoints(controlPoints *foundation.NSDictionary[*foundation.NSNumber, *foundation.NSNumber])

Replaces values in the noise field by mapping them to a curve that passes through the specified control points.

func (*GKNoise) RemapValuesToTerracesWithPeaksTerracesInverted

func (o *GKNoise) RemapValuesToTerracesWithPeaksTerracesInverted(peakInputValues *foundation.NSArray[*foundation.NSNumber], inverted bool)

Replaces values in the noise field by mapping them to a terrace-like curve that passes through the specified control points.

func (*GKNoise) RotateBy

func (o *GKNoise) RotateBy(radians unsafe.Pointer)

Rotates the entire noise field by the specified x, y, and z angles.

func (*GKNoise) ScaleBy

func (o *GKNoise) ScaleBy(factor unsafe.Pointer)

Scales the entire noise field by the specified x, y, and z factors.

func (*GKNoise) SetGradientColors

func (o *GKNoise) SetGradientColors(gradientColors *foundation.NSDictionary[*foundation.NSNumber, *appkit.NSColor])

func (*GKNoise) ValueAtPosition

func (o *GKNoise) ValueAtPosition(position unsafe.Pointer) float32

The noise value at the specified sample index of the 2D plane. @param position Sample index of the extracted 2D plane at which to query the value @return The noise map value at the specified position.

type GKNoiseMap

type GKNoiseMap struct {
	foundation.NSObject
}

A sample of procedural noise data from which you can read noise values directly or create noise textures.

Apple documentation: https://developer.apple.com/documentation/gameplaykit/gknoisemap

func GKNoiseMapFromID

func GKNoiseMapFromID(id objc.ID) *GKNoiseMap

func GKNoiseMapNoiseMapWithNoise

func GKNoiseMapNoiseMapWithNoise(noise *GKNoise) *GKNoiseMap

Creates a noise map by sampling from the specified noise object.

func GKNoiseMapNoiseMapWithNoiseSizeOriginSampleCountSeamless

func GKNoiseMapNoiseMapWithNoiseSizeOriginSampleCountSeamless(noise *GKNoise, size unsafe.Pointer, origin unsafe.Pointer, sampleCount unsafe.Pointer, seamless bool) *GKNoiseMap

Creates a noise map by sampling from the specified noise object.

func (*GKNoiseMap) Init

func (o *GKNoiseMap) Init() *GKNoiseMap

Initializes a noise map with a constant noise value of zero throughout.

func (*GKNoiseMap) InitWithNoise

func (o *GKNoiseMap) InitWithNoise(noise *GKNoise) *GKNoiseMap

Initializes a noise map by sampling from the specified noise object.

func (*GKNoiseMap) InitWithNoiseSizeOriginSampleCountSeamless

func (o *GKNoiseMap) InitWithNoiseSizeOriginSampleCountSeamless(noise *GKNoise, size unsafe.Pointer, origin unsafe.Pointer, sampleCount unsafe.Pointer, seamless bool) *GKNoiseMap

Creates a noise map by sampling from the specified noise object.

func (*GKNoiseMap) InterpolatedValueAtPosition

func (o *GKNoiseMap) InterpolatedValueAtPosition(position unsafe.Pointer) float32

Returns the value at the specified position in the noise map, interpolating results for positions not on the discrete sample grid.

func (*GKNoiseMap) IsSeamless

func (o *GKNoiseMap) IsSeamless() bool

Whether the values at the edges of the 2D plane are modified to allow seamless tiling of the extracted noise map.

func (*GKNoiseMap) Origin

func (o *GKNoiseMap) Origin() unsafe.Pointer

The origin of the 2D plane to extract from the 3D noise space, in noise space coordinates. Used together with size to determine the bounds of the extracted plane. @see size

func (*GKNoiseMap) SampleCount

func (o *GKNoiseMap) SampleCount() unsafe.Pointer

The number of equally-spaced samples to make across the 2D plane. A higher number of samples produces finer resolution at the expense of increased memory.

func (*GKNoiseMap) SetValueAtPosition

func (o *GKNoiseMap) SetValueAtPosition(value float32, position unsafe.Pointer)

Sets the value at the specified position in the noise map.

func (*GKNoiseMap) Size

func (o *GKNoiseMap) Size() unsafe.Pointer

The size of the 2D plane to extract from the 3D noise space, in noise space coordinates. Used together with origin to determine the bounds of the extracted plane. A smaller size captures a more "zoomed in" view of the noise, and vice versa. @see origin

func (*GKNoiseMap) ValueAtPosition

func (o *GKNoiseMap) ValueAtPosition(position unsafe.Pointer) float32

Returns the value at the specified position in the noise map’s discrete sample grid.

type GKNoiseSource

type GKNoiseSource struct {
	foundation.NSObject
}

The abstract superclass for procedural noise generators.

Apple documentation: https://developer.apple.com/documentation/gameplaykit/gknoisesource

func GKNoiseSourceFromID

func GKNoiseSourceFromID(id objc.ID) *GKNoiseSource

type GKObstacle

type GKObstacle struct {
	foundation.NSObject
}

The abstract base class for objects representing impassable areas in a game world.

Apple documentation: https://developer.apple.com/documentation/gameplaykit/gkobstacle

func GKObstacleFromID

func GKObstacleFromID(id objc.ID) *GKObstacle

type GKObstacleGraph

type GKObstacleGraph[NodeType purego.AnyObject] struct {
	GKGraph
}

A navigation graph for 2D game worlds that creates a minimal network for precise pathfinding around obstacles.

Apple documentation: https://developer.apple.com/documentation/gameplaykit/gkobstaclegraph

func GKObstacleGraphFromID

func GKObstacleGraphFromID[NodeType purego.AnyObject](id objc.ID) *GKObstacleGraph[NodeType]

func GKObstacleGraphGraphWithObstaclesBufferRadius

func GKObstacleGraphGraphWithObstaclesBufferRadius(obstacles *foundation.NSArray[*GKPolygonObstacle], bufferRadius float32) *GKObstacleGraph[objc.ID]

Creates a graph with the specified list of obstacles.

func GKObstacleGraphGraphWithObstaclesBufferRadiusNodeClass

func GKObstacleGraphGraphWithObstaclesBufferRadiusNodeClass(obstacles *foundation.NSArray[*GKPolygonObstacle], bufferRadius float32, nodeClass objc.Class) *GKObstacleGraph[objc.ID]

Creates a graph with the specified list of obstacles, using the specified node class.

func (*GKObstacleGraph[NodeType]) AddObstacles

func (o *GKObstacleGraph[NodeType]) AddObstacles(obstacles *foundation.NSArray[*GKPolygonObstacle])

Adds new obstacles to the graph.

func (*GKObstacleGraph[NodeType]) BufferRadius

func (o *GKObstacleGraph[NodeType]) BufferRadius() float32

func (*GKObstacleGraph[NodeType]) ClassForGenericArgumentAtIndex

func (o *GKObstacleGraph[NodeType]) ClassForGenericArgumentAtIndex(index uint) objc.Class

Returns the class of the specified generic index

func (*GKObstacleGraph[NodeType]) ConnectNodeUsingObstacles

func (o *GKObstacleGraph[NodeType]) ConnectNodeUsingObstacles(node NodeType)

Adds the specified node to the graph, connecting it to its nearest neighbors without creating connections that pass through obstacles or their buffer regions.

func (*GKObstacleGraph[NodeType]) ConnectNodeUsingObstaclesIgnoringBufferRadiusOfObstacles

func (o *GKObstacleGraph[NodeType]) ConnectNodeUsingObstaclesIgnoringBufferRadiusOfObstacles(node NodeType, obstaclesBufferRadiusToIgnore *foundation.NSArray[*GKPolygonObstacle])

Adds the specified node to the graph, connecting it to its nearest neighbors while ignoring the buffer regions around the specified obstacles.

func (*GKObstacleGraph[NodeType]) ConnectNodeUsingObstaclesIgnoringObstacles

func (o *GKObstacleGraph[NodeType]) ConnectNodeUsingObstaclesIgnoringObstacles(node NodeType, obstaclesToIgnore *foundation.NSArray[*GKPolygonObstacle])

Adds the specified node to the graph, connecting it to its nearest neighbors while ignoring the area occupied by the specified obstacles.

func (*GKObstacleGraph[NodeType]) InitWithObstaclesBufferRadius

func (o *GKObstacleGraph[NodeType]) InitWithObstaclesBufferRadius(obstacles *foundation.NSArray[*GKPolygonObstacle], bufferRadius float32) *GKObstacleGraph[NodeType]

Initializes a graph with the specified list of obstacles.

func (*GKObstacleGraph[NodeType]) InitWithObstaclesBufferRadiusNodeClass

func (o *GKObstacleGraph[NodeType]) InitWithObstaclesBufferRadiusNodeClass(obstacles *foundation.NSArray[*GKPolygonObstacle], bufferRadius float32, nodeClass objc.Class) *GKObstacleGraph[NodeType]

Initializes a graph with the specified list of obstacles, using the specified node class.

func (*GKObstacleGraph[NodeType]) IsConnectionLockedFromNodeToNode

func (o *GKObstacleGraph[NodeType]) IsConnectionLockedFromNodeToNode(startNode NodeType, endNode NodeType) bool

Returns a Boolean value indicating whether the specified nodes are protected from disconnection due to the addition of obstacles.

func (*GKObstacleGraph[NodeType]) LockConnectionFromNodeToNode

func (o *GKObstacleGraph[NodeType]) LockConnectionFromNodeToNode(startNode NodeType, endNode NodeType)

Prevents the specified nodes from being disconnected due to the addition of obstacles.

func (*GKObstacleGraph[NodeType]) NodesForObstacle

func (o *GKObstacleGraph[NodeType]) NodesForObstacle(obstacle *GKPolygonObstacle) *foundation.NSArray[NodeType]

Returns the group of nodes corresponding to an obstacle in the graph.

func (*GKObstacleGraph[NodeType]) Obstacles

func (o *GKObstacleGraph[NodeType]) Obstacles() *foundation.NSArray[*GKPolygonObstacle]

func (*GKObstacleGraph[NodeType]) RemoveAllObstacles

func (o *GKObstacleGraph[NodeType]) RemoveAllObstacles()

Removes all obstacles from the graph.

func (*GKObstacleGraph[NodeType]) RemoveObstacles

func (o *GKObstacleGraph[NodeType]) RemoveObstacles(obstacles *foundation.NSArray[*GKPolygonObstacle])

Removes the specified obstacle from the graph.

func (*GKObstacleGraph[NodeType]) UnlockConnectionFromNodeToNode

func (o *GKObstacleGraph[NodeType]) UnlockConnectionFromNodeToNode(startNode NodeType, endNode NodeType)

Allows the specified nodes to be disconnected due to the addition of obstacles.

type GKOctree

type GKOctree[ElementType purego.AnyObject] struct {
	foundation.NSObject
}

A data structure for organizing objects based on their locations in a three-dimensional space.

Apple documentation: https://developer.apple.com/documentation/gameplaykit/gkoctree

func GKOctreeFromID

func GKOctreeFromID[ElementType purego.AnyObject](id objc.ID) *GKOctree[ElementType]

func GKOctreeOctreeWithBoundingBoxMinimumCellSize

func GKOctreeOctreeWithBoundingBoxMinimumCellSize(box GKBox, minCellSize float32) *GKOctree[objc.ID]

Creates an octree with the specified dimensions.

func (*GKOctree[ElementType]) AddElementWithBox

func (o *GKOctree[ElementType]) AddElementWithBox(element ElementType, box GKBox) *GKOctreeNode

Adds an object to the tree corresponding to the specified volume of 3D space.

func (*GKOctree[ElementType]) AddElementWithPoint

func (o *GKOctree[ElementType]) AddElementWithPoint(element ElementType, point unsafe.Pointer) *GKOctreeNode

Adds an object to the tree corresponding to the specified point in 3D space.

func (*GKOctree[ElementType]) ElementsAtPoint

func (o *GKOctree[ElementType]) ElementsAtPoint(point unsafe.Pointer) *foundation.NSArray[ElementType]

Returns all objects whose corresponding locations overlap the specified point.

func (*GKOctree[ElementType]) ElementsInBox

func (o *GKOctree[ElementType]) ElementsInBox(box GKBox) *foundation.NSArray[ElementType]

Returns all objects whose corresponding locations overlap the specified volume.

func (*GKOctree[ElementType]) InitWithBoundingBoxMinimumCellSize

func (o *GKOctree[ElementType]) InitWithBoundingBoxMinimumCellSize(box GKBox, minCellSize float32) *GKOctree[ElementType]

Initializes an octree with the specified dimensions.

func (*GKOctree[ElementType]) RemoveElement

func (o *GKOctree[ElementType]) RemoveElement(element ElementType) bool

Searches for the specified object and removes it from the tree.

func (*GKOctree[ElementType]) RemoveElementWithNode

func (o *GKOctree[ElementType]) RemoveElementWithNode(element ElementType, node *GKOctreeNode) bool

Removes the specified object from the tree, using a reference to its containing node.

type GKOctreeNode

type GKOctreeNode struct {
	foundation.NSObject
}

A helper class for managing the objects you organize in an octree.

Apple documentation: https://developer.apple.com/documentation/gameplaykit/gkoctreenode

func GKOctreeNodeFromID

func GKOctreeNodeFromID(id objc.ID) *GKOctreeNode

func (*GKOctreeNode) Box

func (o *GKOctreeNode) Box() GKBox

type GKPath

type GKPath struct {
	foundation.NSObject
}

A polygonal path that can be followed by an agent.

Apple documentation: https://developer.apple.com/documentation/gameplaykit/gkpath

func GKPathFromID

func GKPathFromID(id objc.ID) *GKPath

func GKPathPathWithFloat3PointsCountRadiusCyclical

func GKPathPathWithFloat3PointsCountRadiusCyclical(points unsafe.Pointer, count uint, radius float32, cyclical bool) *GKPath

Creates a path with the specified array of 3D points.

func GKPathPathWithGraphNodesRadius

func GKPathPathWithGraphNodesRadius(graphNodes *foundation.NSArray[*GKGraphNode], radius float32) *GKPath

Creates a path using the positions of the specified graph nodes.

func GKPathPathWithPointsCountRadiusCyclical

func GKPathPathWithPointsCountRadiusCyclical(points unsafe.Pointer, count uint, radius float32, cyclical bool) *GKPath

Creates a path with the specified array of 2D points.

func (*GKPath) Float2AtIndex

func (o *GKPath) Float2AtIndex(index uint) unsafe.Pointer

Returns the 2D point at the specified index in the path’s list of vertices.

func (*GKPath) Float3AtIndex

func (o *GKPath) Float3AtIndex(index uint) unsafe.Pointer

Returns the 3D point at the specified index in the path’s list of vertices.

func (*GKPath) InitWithFloat3PointsCountRadiusCyclical

func (o *GKPath) InitWithFloat3PointsCountRadiusCyclical(points unsafe.Pointer, count uint, radius float32, cyclical bool) *GKPath

Initializes a path with the specified array of 3D points.

func (*GKPath) InitWithGraphNodesRadius

func (o *GKPath) InitWithGraphNodesRadius(graphNodes *foundation.NSArray[*GKGraphNode], radius float32) *GKPath

Initializes a path using the positions of the specified graph nodes.

func (*GKPath) InitWithPointsCountRadiusCyclical

func (o *GKPath) InitWithPointsCountRadiusCyclical(points unsafe.Pointer, count uint, radius float32, cyclical bool) *GKPath

Initializes a path with the specified array of 2D points.

func (*GKPath) IsCyclical

func (o *GKPath) IsCyclical() bool

Does this path loop back on itself, creating a cycle?

func (*GKPath) NumPoints

func (o *GKPath) NumPoints() uint

Number of points in this path

func (*GKPath) PointAtIndex

func (o *GKPath) PointAtIndex(index uint) unsafe.Pointer

Returns the 2D point at the specified index in the path’s list of vertices. Deprecated: since macOS 10.12.

func (*GKPath) Radius

func (o *GKPath) Radius() float32

Radius of the pathway. Defines a spatial area that the path occupies. This can be though of as the union between rectangles between all points, and circles at each point

func (*GKPath) SetCyclical

func (o *GKPath) SetCyclical(cyclical bool)

func (*GKPath) SetRadius

func (o *GKPath) SetRadius(radius float32)

type GKPerlinNoiseSource

type GKPerlinNoiseSource struct {
	GKCoherentNoiseSource
}

A procedural noise generator whose output is a type of fractal coherent noise resembling natural phenomena such as clouds and terrain.

Apple documentation: https://developer.apple.com/documentation/gameplaykit/gkperlinnoisesource

func GKPerlinNoiseSourceFromID

func GKPerlinNoiseSourceFromID(id objc.ID) *GKPerlinNoiseSource

func GKPerlinNoiseSourcePerlinNoiseSourceWithFrequencyOctaveCountPersistenceLacunaritySeed

func GKPerlinNoiseSourcePerlinNoiseSourceWithFrequencyOctaveCountPersistenceLacunaritySeed(frequency float64, octaveCount int, persistence float64, lacunarity float64, seed int32) *GKPerlinNoiseSource

Creates a Perlin noise source with the specified parameters.

func (*GKPerlinNoiseSource) InitWithFrequencyOctaveCountPersistenceLacunaritySeed

func (o *GKPerlinNoiseSource) InitWithFrequencyOctaveCountPersistenceLacunaritySeed(frequency float64, octaveCount int, persistence float64, lacunarity float64, seed int32) *GKPerlinNoiseSource

Initializes a Perlin noise source with the specified parameters.

func (*GKPerlinNoiseSource) Persistence

func (o *GKPerlinNoiseSource) Persistence() float64

func (*GKPerlinNoiseSource) SetPersistence

func (o *GKPerlinNoiseSource) SetPersistence(persistence float64)

type GKPolygonObstacle

type GKPolygonObstacle struct {
	GKObstacle
}

A polygon-shaped impassable area in a 2D game world.

Apple documentation: https://developer.apple.com/documentation/gameplaykit/gkpolygonobstacle

func GKPolygonObstacleFromID

func GKPolygonObstacleFromID(id objc.ID) *GKPolygonObstacle

func GKPolygonObstacleObstacleWithPointsCount

func GKPolygonObstacleObstacleWithPointsCount(points unsafe.Pointer, numPoints uint) *GKPolygonObstacle

Creates a polygon obstacle with the specified list of vertices.

func (*GKPolygonObstacle) InitWithPointsCount

func (o *GKPolygonObstacle) InitWithPointsCount(points unsafe.Pointer, numPoints uint) *GKPolygonObstacle

Initializes a polygon obstacle with the specified list of vertices.

func (*GKPolygonObstacle) VertexAtIndex

func (o *GKPolygonObstacle) VertexAtIndex(index uint) unsafe.Pointer

Returns the point coordinates of the specified vertex.

func (*GKPolygonObstacle) VertexCount

func (o *GKPolygonObstacle) VertexCount() uint

Number of vertices on this polygon

type GKQuad

type GKQuad struct {
	QuadMin unsafe.Pointer
	QuadMax unsafe.Pointer
}

The definition of an axis-aligned rectangle addressed by the tree.

type GKQuadtree

type GKQuadtree[ElementType purego.AnyObject] struct {
	foundation.NSObject
}

A data structure for organizing objects based on their locations in a two-dimensional space.

Apple documentation: https://developer.apple.com/documentation/gameplaykit/gkquadtree

func GKQuadtreeFromID

func GKQuadtreeFromID[ElementType purego.AnyObject](id objc.ID) *GKQuadtree[ElementType]

func GKQuadtreeQuadtreeWithBoundingQuadMinimumCellSize

func GKQuadtreeQuadtreeWithBoundingQuadMinimumCellSize(quad GKQuad, minCellSize float32) *GKQuadtree[objc.ID]

Creates a quadtree with the specified dimensions.

func (*GKQuadtree[ElementType]) AddElementWithPoint

func (o *GKQuadtree[ElementType]) AddElementWithPoint(element ElementType, point unsafe.Pointer) *GKQuadtreeNode

Adds an object to the tree corresponding to the specified point in 2D space.

func (*GKQuadtree[ElementType]) AddElementWithQuad

func (o *GKQuadtree[ElementType]) AddElementWithQuad(element ElementType, quad GKQuad) *GKQuadtreeNode

Adds an object to the tree corresponding to the specified region of 2D space.

func (*GKQuadtree[ElementType]) ElementsAtPoint

func (o *GKQuadtree[ElementType]) ElementsAtPoint(point unsafe.Pointer) *foundation.NSArray[ElementType]

Returns all objects whose corresponding locations overlap the specified point.

func (*GKQuadtree[ElementType]) ElementsInQuad

func (o *GKQuadtree[ElementType]) ElementsInQuad(quad GKQuad) *foundation.NSArray[ElementType]

Returns all objects whose corresponding locations overlap the specified region.

func (*GKQuadtree[ElementType]) InitWithBoundingQuadMinimumCellSize

func (o *GKQuadtree[ElementType]) InitWithBoundingQuadMinimumCellSize(quad GKQuad, minCellSize float32) *GKQuadtree[ElementType]

Initializes a quadtree with the specified dimensions.

func (*GKQuadtree[ElementType]) RemoveElement

func (o *GKQuadtree[ElementType]) RemoveElement(element ElementType) bool

Searches for the specified object and removes it from the tree.

func (*GKQuadtree[ElementType]) RemoveElementWithNode

func (o *GKQuadtree[ElementType]) RemoveElementWithNode(data ElementType, node *GKQuadtreeNode) bool

Removes the specified object from the tree, using a reference to its containing node.

type GKQuadtreeNode

type GKQuadtreeNode struct {
	foundation.NSObject
}

A helper class for managing the objects you organize in a quadtree.

Apple documentation: https://developer.apple.com/documentation/gameplaykit/gkquadtreenode

func GKQuadtreeNodeFromID

func GKQuadtreeNodeFromID(id objc.ID) *GKQuadtreeNode

func (*GKQuadtreeNode) Quad

func (o *GKQuadtreeNode) Quad() GKQuad

type GKRTree

type GKRTree[ElementType purego.AnyObject] struct {
	foundation.NSObject
}

A data structure that adaptively organizes objects based on their locations in a two-dimensional space.

Apple documentation: https://developer.apple.com/documentation/gameplaykit/gkrtree

func GKRTreeFromID

func GKRTreeFromID[ElementType purego.AnyObject](id objc.ID) *GKRTree[ElementType]

func GKRTreeTreeWithMaxNumberOfChildren

func GKRTreeTreeWithMaxNumberOfChildren(maxNumberOfChildren uint) *GKRTree[objc.ID]

Creates a new R-tree object.

func (*GKRTree[ElementType]) AddElementBoundingRectMinBoundingRectMaxSplitStrategy

func (o *GKRTree[ElementType]) AddElementBoundingRectMinBoundingRectMaxSplitStrategy(element ElementType, boundingRectMin unsafe.Pointer, boundingRectMax unsafe.Pointer, splitStrategy GKRTreeSplitStrategy)

Adds the specified object to the tree.

func (*GKRTree[ElementType]) ElementsInBoundingRectMinRectMax

func (o *GKRTree[ElementType]) ElementsInBoundingRectMinRectMax(rectMin unsafe.Pointer, rectMax unsafe.Pointer) *foundation.NSArray[ElementType]

Searches the tree and returns all elements found within the specified bounding region.

func (*GKRTree[ElementType]) InitWithMaxNumberOfChildren

func (o *GKRTree[ElementType]) InitWithMaxNumberOfChildren(maxNumberOfChildren uint) *GKRTree[ElementType]

Initializes a new R-tree object.

func (*GKRTree[ElementType]) QueryReserve

func (o *GKRTree[ElementType]) QueryReserve() uint

Amount of array items to reserve before a query. This improves query performance at the cost of memory

func (*GKRTree[ElementType]) RemoveElementBoundingRectMinBoundingRectMax

func (o *GKRTree[ElementType]) RemoveElementBoundingRectMinBoundingRectMax(element ElementType, boundingRectMin unsafe.Pointer, boundingRectMax unsafe.Pointer)

Removes the specified object from the tree.

func (*GKRTree[ElementType]) SetQueryReserve

func (o *GKRTree[ElementType]) SetQueryReserve(queryReserve uint)

type GKRTreeSplitStrategy

type GKRTreeSplitStrategy int64

Options that control how a tree balances its internal structure when adding elements, used with the addElement:boundingRectMin:boundingRectMax:splitStrategy: method.

const (
	// An option to split groups of elements in half based on the order they were added to the tree in.
	GKRTreeSplitStrategyHalve GKRTreeSplitStrategy = 0
	// An option to split groups of elements by finding a line that divides space so that half of the elements are on either side.
	GKRTreeSplitStrategyLinear GKRTreeSplitStrategy = 1
	// An option to split groups of elements by finding the subgroups that occupy the least area.
	GKRTreeSplitStrategyQuadratic GKRTreeSplitStrategy = 2
	// An option to split groups of elements by finding the subgroups whose areas overlap the least.
	GKRTreeSplitStrategyReduceOverlap GKRTreeSplitStrategy = 3
)

func (GKRTreeSplitStrategy) String

func (e GKRTreeSplitStrategy) String() string

type GKRandom

type GKRandom interface {
	NextInt() int
	NextIntWithUpperBound(upperBound uint) uint
	NextUniform() float32
	NextBool() bool
}

GKRandom wraps the ObjC protocol GKRandom.

type GKRandomDistribution

type GKRandomDistribution struct {
	foundation.NSObject
}

A generator for random numbers that fall within a specific range and that exhibit a specific distribution over multiple samplings.

Apple documentation: https://developer.apple.com/documentation/gameplaykit/gkrandomdistribution

func GKRandomDistributionD6

func GKRandomDistributionD6() *GKRandomDistribution

Creates a random distribution equivalent to a six-sided die.

func GKRandomDistributionD20

func GKRandomDistributionD20() *GKRandomDistribution

Creates a random distribution equivalent to a twenty-sided die.

func GKRandomDistributionDistributionForDieWithSideCount

func GKRandomDistributionDistributionForDieWithSideCount(sideCount int) *GKRandomDistribution

Creates a random distribution equivalent to a die with the specified number of sides.

func GKRandomDistributionDistributionWithLowestValueHighestValue

func GKRandomDistributionDistributionWithLowestValueHighestValue(lowestInclusive int, highestInclusive int) *GKRandomDistribution

Creates a random distribution with the specified lower and upper bounds, using the Arc4 randomizer.

func GKRandomDistributionFromID

func GKRandomDistributionFromID(id objc.ID) *GKRandomDistribution

func (*GKRandomDistribution) HighestValue

func (o *GKRandomDistribution) HighestValue() int

The highest value the distribution will output.

func (*GKRandomDistribution) InitWithRandomSourceLowestValueHighestValue

func (o *GKRandomDistribution) InitWithRandomSourceLowestValueHighestValue(source GKRandom, lowestInclusive int, highestInclusive int) *GKRandomDistribution

Initializes a uniform random distribution with the specified lower and upper bounds, using the specified source randomizer.

func (*GKRandomDistribution) LowestValue

func (o *GKRandomDistribution) LowestValue() int

The lowest value the distribution will output.

func (*GKRandomDistribution) NextBool

func (o *GKRandomDistribution) NextBool() bool

Generates and returns a new random Boolean value within the characteristics of the distribution.

func (*GKRandomDistribution) NextInt

func (o *GKRandomDistribution) NextInt() int

Generates and returns a new random integer within the bounds of the distribution.

func (*GKRandomDistribution) NextIntWithUpperBound

func (o *GKRandomDistribution) NextIntWithUpperBound(upperBound uint) uint

Generates and returns a new random integer within the bounds of the distribution and less than the specified limit.

func (*GKRandomDistribution) NextUniform

func (o *GKRandomDistribution) NextUniform() float32

Generates and returns a new random floating-point value within the characteristics of the distribution.

func (*GKRandomDistribution) NumberOfPossibleOutcomes

func (o *GKRandomDistribution) NumberOfPossibleOutcomes() uint

The number of unique possible outcomes, depending on the distribution type this is not always highest - lowest + 1.

type GKRandomSource

type GKRandomSource struct {
	foundation.NSObject
}

The superclass for all basic randomization classes in GameplayKit.

Apple documentation: https://developer.apple.com/documentation/gameplaykit/gkrandomsource

func GKRandomSourceFromID

func GKRandomSourceFromID(id objc.ID) *GKRandomSource

func GKRandomSourceSharedRandom

func GKRandomSourceSharedRandom() *GKRandomSource

Returns a shared instance that shares a system-wide random source.

func (*GKRandomSource) ArrayByShufflingObjectsInArray

func (o *GKRandomSource) ArrayByShufflingObjectsInArray(array *foundation.NSArray[objc.ID]) *foundation.NSArray[objc.ID]

Returns an array whose contents are the same as those of the specified array, but in a random order determined by the random source.

func (*GKRandomSource) Init

func (o *GKRandomSource) Init() *GKRandomSource

Initializes a new random source object.

func (*GKRandomSource) InitWithCoder

func (o *GKRandomSource) InitWithCoder(aDecoder *foundation.NSCoder) *GKRandomSource

Deserializes a random source from an NSCoder. All random sources support coding for serializing and deserializing the state of the random source. Each subclass has its own contract for what parts of the state is preserved when serialized but the general contract is that a serialized source must generate the same sequence of values as the original source would from the instant it was serialized. Note that the sharedRandom instance is an exception as it is explicitly seedless and a shared singleton instance. When serialized and deserialized it will return the current sharedRandom instance instead.

type GKRidgedNoiseSource

type GKRidgedNoiseSource struct {
	GKCoherentNoiseSource
}

A procedural noise generator whose output is a type of multifractal coherent noise with sharply defined features.

Apple documentation: https://developer.apple.com/documentation/gameplaykit/gkridgednoisesource

func GKRidgedNoiseSourceFromID

func GKRidgedNoiseSourceFromID(id objc.ID) *GKRidgedNoiseSource

func GKRidgedNoiseSourceRidgedNoiseSourceWithFrequencyOctaveCountLacunaritySeed

func GKRidgedNoiseSourceRidgedNoiseSourceWithFrequencyOctaveCountLacunaritySeed(frequency float64, octaveCount int, lacunarity float64, seed int32) *GKRidgedNoiseSource

Creates a ridged noise source with the specified parameters.

func (*GKRidgedNoiseSource) InitWithFrequencyOctaveCountLacunaritySeed

func (o *GKRidgedNoiseSource) InitWithFrequencyOctaveCountLacunaritySeed(frequency float64, octaveCount int, lacunarity float64, seed int32) *GKRidgedNoiseSource

Initializes a ridged noise source with the specified parameters.

type GKRule

type GKRule struct {
	foundation.NSObject
}

A rule to be used in the context of a rule system, with a predicate to be tested and an action to be executed when the test succeeds.

Apple documentation: https://developer.apple.com/documentation/gameplaykit/gkrule

func GKRuleFromID

func GKRuleFromID(id objc.ID) *GKRule

func GKRuleRuleWithBlockPredicateAction

func GKRuleRuleWithBlockPredicateAction(predicate func(*GKRuleSystem) bool, action func(*GKRuleSystem)) *GKRule

Creates a rule whose predicate is evaluated and action is executed through the specified blocks.

func GKRuleRuleWithPredicateAssertingFactGrade

func GKRuleRuleWithPredicateAssertingFactGrade(predicate *foundation.NSPredicate, fact foundation.NSObjectProtocol, grade float32) *GKRule

Creates a data-driven rule with the specified predicate, whose action asserts a fact in the rule system evaluating the rule.

func GKRuleRuleWithPredicateRetractingFactGrade

func GKRuleRuleWithPredicateRetractingFactGrade(predicate *foundation.NSPredicate, fact foundation.NSObjectProtocol, grade float32) *GKRule

Creates a data-driven rule with the specified predicate, whose action retracts a fact in the rule system evaluating the rule.

func (*GKRule) EvaluatePredicateWithSystem

func (o *GKRule) EvaluatePredicateWithSystem(system *GKRuleSystem) bool

Returns a Boolean value indicating whether the rule has been satisfied in the context of the specified rule system.

func (*GKRule) PerformActionWithSystem

func (o *GKRule) PerformActionWithSystem(system *GKRuleSystem)

Performs actions that should result when the rule is satisfied in the context of the specified rule system.

func (*GKRule) Salience

func (o *GKRule) Salience() int

Salience defines the order in the rule agenda that the system will evaluate. A rule with higher salience will be evaluated before another rule in the agenda that has a lower salience. Defaults to 0. @see GKRuleSystem.agenda

func (*GKRule) SetSalience

func (o *GKRule) SetSalience(salience int)

type GKRuleSystem

type GKRuleSystem struct {
	foundation.NSObject
}

A list of rules, together with a context for evaluating them and interpreting results, for use in constructing data-driven logic or fuzzy logic systems.

Apple documentation: https://developer.apple.com/documentation/gameplaykit/gkrulesystem

func GKRuleSystemFromID

func GKRuleSystemFromID(id objc.ID) *GKRuleSystem

func (*GKRuleSystem) AddRule

func (o *GKRuleSystem) AddRule(rule *GKRule)

Adds the specified rule to the system.

func (*GKRuleSystem) AddRulesFromArray

func (o *GKRuleSystem) AddRulesFromArray(rules *foundation.NSArray[*GKRule])

Adds the specified list of rules to the system.

func (*GKRuleSystem) Agenda

func (o *GKRuleSystem) Agenda() *foundation.NSArray[*GKRule]

The current set of rules to be evaluated, in salience order, where if the salience is equivalent the order of insertion into the agenda is used to decide which is first. Adjust salience of your rules to adjust the order the next time the agenda is reset. Changing salience on a rule currently in the agenda does not change its order in the agenda. This is at all times the difference between the rules and executed sets. @see rules @see executed @see reset

func (*GKRuleSystem) AssertFact

func (o *GKRuleSystem) AssertFact(fact foundation.NSObjectProtocol)

Adds the specified fact to the fact set with a membership grade of 1.0, and reevaluates the rules in the system’s agenda.

func (*GKRuleSystem) AssertFactGrade

func (o *GKRuleSystem) AssertFactGrade(fact foundation.NSObjectProtocol, grade float32)

Increases the membership grade of the specified fact by the specified amount, adding it to the fact set if necessary, and reevaluates the rules in the system’s agenda.

func (*GKRuleSystem) Evaluate

func (o *GKRuleSystem) Evaluate()

Evaluates the rule system, executing the list of rules in its agenda.

func (*GKRuleSystem) Executed

func (o *GKRuleSystem) Executed() *foundation.NSArray[*GKRule]

The current set of rules that have already executed. Rules in this set will not be executed again until the system is reset. This is at all times the difference between the rules and agenda sets. @see rules @see agenda @see reset

func (*GKRuleSystem) Facts

func (o *GKRuleSystem) Facts() *foundation.NSArray[objc.ID]

The current set of facts. Facts have a grade of membership that is >= 0.0. Query the system for the individual grades of membership with gradeForFact: @see gradeForFact:

func (*GKRuleSystem) GradeForFact

func (o *GKRuleSystem) GradeForFact(fact foundation.NSObjectProtocol) float32

Returns the membership grade of the specified fact.

func (*GKRuleSystem) Init

func (o *GKRuleSystem) Init() *GKRuleSystem

Initializes a new, empty rule system.

func (*GKRuleSystem) MaximumGradeForFacts

func (o *GKRuleSystem) MaximumGradeForFacts(facts *foundation.NSArray[objc.ID]) float32

Returns the highest membership grade among the specified facts.

func (*GKRuleSystem) MinimumGradeForFacts

func (o *GKRuleSystem) MinimumGradeForFacts(facts *foundation.NSArray[objc.ID]) float32

Returns the lowest membership grade among the specified facts.

func (*GKRuleSystem) RemoveAllRules

func (o *GKRuleSystem) RemoveAllRules()

Removes all rules from the system.

func (*GKRuleSystem) Reset

func (o *GKRuleSystem) Reset()

Returns the rule system to its original agenda and clears all facts.

func (*GKRuleSystem) RetractFact

func (o *GKRuleSystem) RetractFact(fact foundation.NSObjectProtocol)

Removes the specified fact from the fact set, and reevaluates the rules in the system’s agenda.

func (*GKRuleSystem) RetractFactGrade

func (o *GKRuleSystem) RetractFactGrade(fact foundation.NSObjectProtocol, grade float32)

Reduces the membership grade of the specified fact by the specified amount, removing it from the fact set if necessary, and reevaluates the rules in the system’s agenda.

func (*GKRuleSystem) Rules

func (o *GKRuleSystem) Rules() *foundation.NSArray[*GKRule]

The current set of rules that will be used to set the agenda when rules are first added to the system. They will also be used to refill the agenda whenever it is set. This is at all times the union of the agenda and executed sets. @see agenda @see executed

func (*GKRuleSystem) State

The implementation-defined state. If any changes are made on this outside the system you must call evaluate to have the system take account of the changes. @see evaluate

type GKSCNNodeComponent

type GKSCNNodeComponent struct {
	GKComponent
}

A component that encapsulates a SceneKit node.

Apple documentation: https://developer.apple.com/documentation/gameplaykit/gkscnnodecomponent

func GKSCNNodeComponentComponentWithNode

func GKSCNNodeComponentComponentWithNode(node *scenekit.SCNNode) *GKSCNNodeComponent

Creates a component that encapsulate the given SceneKit node. When the component is added to an entity, the SCNNode's entity property will be set. @param node Node to associate with the component. @see SCNNode.entity

func GKSCNNodeComponentFromID

func GKSCNNodeComponentFromID(id objc.ID) *GKSCNNodeComponent

func (*GKSCNNodeComponent) InitWithNode

func (o *GKSCNNodeComponent) InitWithNode(node *scenekit.SCNNode) *GKSCNNodeComponent

Initializes component to encapsulate the given SceneKit node. When the component is added to an entity, the SCNNode's entity property will be set. @param node Node to associate with the component. @see SCNNode.entity

func (*GKSCNNodeComponent) Node

func (o *GKSCNNodeComponent) Node() *scenekit.SCNNode

type GKSKNodeComponent

type GKSKNodeComponent struct {
	GKComponent
}

A component that manages a SpriteKit node.

Apple documentation: https://developer.apple.com/documentation/gameplaykit/gksknodecomponent

func GKSKNodeComponentComponentWithNode

func GKSKNodeComponentComponentWithNode(node *spritekit.SKNode) *GKSKNodeComponent

Creates a component to manage the specified SpriteKit node.

func GKSKNodeComponentFromID

func GKSKNodeComponentFromID(id objc.ID) *GKSKNodeComponent

func (*GKSKNodeComponent) InitWithNode

func (o *GKSKNodeComponent) InitWithNode(node *spritekit.SKNode) *GKSKNodeComponent

Initializes a component to manage the specified SpriteKit node.

func (*GKSKNodeComponent) Node

func (o *GKSKNodeComponent) Node() *spritekit.SKNode

func (*GKSKNodeComponent) SetNode

func (o *GKSKNodeComponent) SetNode(node *spritekit.SKNode)

type GKScene

type GKScene struct {
	foundation.NSObject
}

A container for associating GameplayKit objects with a SpriteKit scene.

Apple documentation: https://developer.apple.com/documentation/gameplaykit/gkscene

func GKSceneFromID

func GKSceneFromID(id objc.ID) *GKScene

func GKSceneSceneWithFileNamed

func GKSceneSceneWithFileNamed(filename *foundation.NSString) *GKScene

Loads the specified SpriteKit scene file, creating a GKScene object containing the SpriteKit scene and associated GameplayKit objects.

func GKSceneSceneWithFileNamedRootNode

func GKSceneSceneWithFileNamedRootNode(filename *foundation.NSString, rootNode GKSceneRootNodeType) *GKScene

Loads a scene from a file contained within the bundle and link with the specified rootNode.

func (*GKScene) AddEntity

func (o *GKScene) AddEntity(entity *GKEntity)

Adds a GameplayKit entity to the list of entities managed by the scene.

func (*GKScene) AddGraphName

func (o *GKScene) AddGraphName(graph *GKGraph, name *foundation.NSString)

Adds a graph to the scene's list of graphs. @param graph the graph to add.

func (*GKScene) Entities

func (o *GKScene) Entities() *foundation.NSArray[*GKEntity]

The entities of this scene.

func (*GKScene) Graphs

The navigational graphs of this scene.

func (*GKScene) RemoveEntity

func (o *GKScene) RemoveEntity(entity *GKEntity)

Removes a GameplayKit entity from the list of entities managed by the scene.

func (*GKScene) RemoveGraph

func (o *GKScene) RemoveGraph(name *foundation.NSString)

Removes a pathfinding graph from the list of graphs managed by the scene.

func (*GKScene) RootNode

func (o *GKScene) RootNode() GKSceneRootNodeType

The root node for the scene. @see GKSceneRootNodeType

func (*GKScene) SetRootNode

func (o *GKScene) SetRootNode(rootNode GKSceneRootNodeType)

type GKSceneRootNodeType

type GKSceneRootNodeType interface {
}

GKSceneRootNodeType wraps the ObjC protocol GKSceneRootNodeType.

type GKShuffledDistribution

type GKShuffledDistribution struct {
	GKRandomDistribution
}

A generator for random numbers that are uniformly distributed across many samplings, but where short sequences of similar values are unlikely.

Apple documentation: https://developer.apple.com/documentation/gameplaykit/gkshuffleddistribution

func GKShuffledDistributionFromID

func GKShuffledDistributionFromID(id objc.ID) *GKShuffledDistribution

type GKSphereObstacle

type GKSphereObstacle struct {
	GKObstacle
}

A spherical impassable volume to be avoided by agents.

Apple documentation: https://developer.apple.com/documentation/gameplaykit/gksphereobstacle

func GKSphereObstacleFromID

func GKSphereObstacleFromID(id objc.ID) *GKSphereObstacle

func GKSphereObstacleObstacleWithRadius

func GKSphereObstacleObstacleWithRadius(radius float32) *GKSphereObstacle

Creates a spherical obstacle with the specified radius.

func (*GKSphereObstacle) InitWithRadius

func (o *GKSphereObstacle) InitWithRadius(radius float32) *GKSphereObstacle

Initializes a spherical obstacle with the specified radius.

func (*GKSphereObstacle) Position

func (o *GKSphereObstacle) Position() unsafe.Pointer

Position of the center of the circle in 3D space.

func (*GKSphereObstacle) Radius

func (o *GKSphereObstacle) Radius() float32

Radius of the impassible circle

func (*GKSphereObstacle) SetPosition

func (o *GKSphereObstacle) SetPosition(position unsafe.Pointer)

func (*GKSphereObstacle) SetRadius

func (o *GKSphereObstacle) SetRadius(radius float32)

type GKSpheresNoiseSource

type GKSpheresNoiseSource struct {
	GKNoiseSource
}

A procedural noise generator whose output is a 3D field of concentric spherical shells.

Apple documentation: https://developer.apple.com/documentation/gameplaykit/gkspheresnoisesource

func GKSpheresNoiseSourceFromID

func GKSpheresNoiseSourceFromID(id objc.ID) *GKSpheresNoiseSource

func GKSpheresNoiseSourceSpheresNoiseWithFrequency

func GKSpheresNoiseSourceSpheresNoiseWithFrequency(frequency float64) *GKSpheresNoiseSource

Creates a sphere noise source with the specified frequency.

func (*GKSpheresNoiseSource) Frequency

func (o *GKSpheresNoiseSource) Frequency() float64

func (*GKSpheresNoiseSource) InitWithFrequency

func (o *GKSpheresNoiseSource) InitWithFrequency(frequency float64) *GKSpheresNoiseSource

Initializes a sphere noise source with the specified frequency.

func (*GKSpheresNoiseSource) SetFrequency

func (o *GKSpheresNoiseSource) SetFrequency(frequency float64)

type GKState

type GKState struct {
	foundation.NSObject
}

The abstract superclass for defining state-specific logic as part of a state machine.

Apple documentation: https://developer.apple.com/documentation/gameplaykit/gkstate

func GKStateFromID

func GKStateFromID(id objc.ID) *GKState

func GKStateState

func GKStateState() *GKState

Creates a state object with the specified list of valid next states.

func (*GKState) DidEnterWithPreviousState

func (o *GKState) DidEnterWithPreviousState(previousState *GKState)

Performs custom actions when a state machine transitions into this state.

func (*GKState) Init

func (o *GKState) Init() *GKState

Initializes a state object.

func (*GKState) IsValidNextState

func (o *GKState) IsValidNextState(stateClass objc.Class) bool

Returns a Boolean value indicating whether a state machine currently in this state is allowed to transition into the specified state.

func (*GKState) StateMachine

func (o *GKState) StateMachine() *GKStateMachine

The state machine that this state is associated with. This is nil if this state hasn't been added to a state machine yet.

func (*GKState) UpdateWithDeltaTime

func (o *GKState) UpdateWithDeltaTime(seconds float64)

Performs custom actions when a state machine updates while in this state.

func (*GKState) WillExitWithNextState

func (o *GKState) WillExitWithNextState(nextState *GKState)

Performs custom actions when a state machine transitions out of this state.

type GKStateMachine

type GKStateMachine struct {
	foundation.NSObject
}

A finite-state machine—a collection of state objects that each define logic for a particular state of gameplay and rules for transitioning between states.

Apple documentation: https://developer.apple.com/documentation/gameplaykit/gkstatemachine

func GKStateMachineFromID

func GKStateMachineFromID(id objc.ID) *GKStateMachine

func GKStateMachineStateMachineWithStates

func GKStateMachineStateMachineWithStates(states *foundation.NSArray[*GKState]) *GKStateMachine

Creates a state machine with the specified states.

func (*GKStateMachine) CanEnterState

func (o *GKStateMachine) CanEnterState(stateClass objc.Class) bool

Returns a Boolean value indicating whether it is valid for the state machine to transition from its current state to a state of the specified class.

func (*GKStateMachine) CurrentState

func (o *GKStateMachine) CurrentState() *GKState

The current state that the state machine is in. Prior to the first called to enterState this is equal to nil.

func (*GKStateMachine) EnterState

func (o *GKStateMachine) EnterState(stateClass objc.Class) bool

Attempts to transition the state machine from its current state to a state of the specified class.

func (*GKStateMachine) InitWithStates

func (o *GKStateMachine) InitWithStates(states *foundation.NSArray[*GKState]) *GKStateMachine

Initializes a state machine with the specified states.

func (*GKStateMachine) StateForClass

func (o *GKStateMachine) StateForClass(stateClass objc.Class) *GKState

Returns the state object in the state machine corresponding to the specified class.

func (*GKStateMachine) UpdateWithDeltaTime

func (o *GKStateMachine) UpdateWithDeltaTime(sec float64)

Tells the current state object to perform per-frame updates.

type GKStrategist

type GKStrategist interface {
	BestMoveForActivePlayer() GKGameModelUpdate
	GameModel() GKGameModel
	SetGameModel(gameModel GKGameModel)
	RandomSource() GKRandom
	SetRandomSource(randomSource GKRandom)
}

GKStrategist wraps the ObjC protocol GKStrategist.

type GKTriangle

type GKTriangle struct {
	Points [3]unsafe.Pointer
}

The definition of a triangle in the mesh, available with the triangleAtIndex: method.

type GKVoronoiNoiseSource

type GKVoronoiNoiseSource struct {
	GKNoiseSource
}

A procedural noise generator whose output (also called Worley noise or cellular noise) divides space into discrete cells surrounding random seed points.

Apple documentation: https://developer.apple.com/documentation/gameplaykit/gkvoronoinoisesource

func GKVoronoiNoiseSourceFromID

func GKVoronoiNoiseSourceFromID(id objc.ID) *GKVoronoiNoiseSource

func GKVoronoiNoiseSourceVoronoiNoiseWithFrequencyDisplacementDistanceEnabledSeed

func GKVoronoiNoiseSourceVoronoiNoiseWithFrequencyDisplacementDistanceEnabledSeed(frequency float64, displacement float64, distanceEnabled bool, seed int32) *GKVoronoiNoiseSource

Creates a Voronoi noise source with the specified parameters.

func (*GKVoronoiNoiseSource) Displacement

func (o *GKVoronoiNoiseSource) Displacement() float64

func (*GKVoronoiNoiseSource) Frequency

func (o *GKVoronoiNoiseSource) Frequency() float64

func (*GKVoronoiNoiseSource) InitWithFrequencyDisplacementDistanceEnabledSeed

func (o *GKVoronoiNoiseSource) InitWithFrequencyDisplacementDistanceEnabledSeed(frequency float64, displacement float64, distanceEnabled bool, seed int32) *GKVoronoiNoiseSource

Initializes a Voronoi noise source with the specified parameters.

func (*GKVoronoiNoiseSource) IsDistanceEnabled

func (o *GKVoronoiNoiseSource) IsDistanceEnabled() bool

func (*GKVoronoiNoiseSource) Seed

func (o *GKVoronoiNoiseSource) Seed() int32

func (*GKVoronoiNoiseSource) SetDisplacement

func (o *GKVoronoiNoiseSource) SetDisplacement(displacement float64)

func (*GKVoronoiNoiseSource) SetDistanceEnabled

func (o *GKVoronoiNoiseSource) SetDistanceEnabled(distanceEnabled bool)

func (*GKVoronoiNoiseSource) SetFrequency

func (o *GKVoronoiNoiseSource) SetFrequency(frequency float64)

func (*GKVoronoiNoiseSource) SetSeed

func (o *GKVoronoiNoiseSource) SetSeed(seed int32)

type Idtype_t

type Idtype_t int64
const (
	P_ALL  Idtype_t = 0
	P_PID  Idtype_t = 1
	P_PGID Idtype_t = 2
)

func (Idtype_t) String

func (e Idtype_t) String() string

type Ipc_info_object_type_t

type Ipc_info_object_type_t int64
const (
	IPC_OTYPE_NONE                 Ipc_info_object_type_t = 0
	IPC_OTYPE_THREAD_CONTROL       Ipc_info_object_type_t = 1
	IPC_OTYPE_TASK_CONTROL         Ipc_info_object_type_t = 2
	IPC_OTYPE_HOST                 Ipc_info_object_type_t = 3
	IPC_OTYPE_HOST_PRIV            Ipc_info_object_type_t = 4
	IPC_OTYPE_PROCESSOR            Ipc_info_object_type_t = 5
	IPC_OTYPE_PROCESSOR_SET        Ipc_info_object_type_t = 6
	IPC_OTYPE_PROCESSOR_SET_NAME   Ipc_info_object_type_t = 7
	IPC_OTYPE_TIMER                Ipc_info_object_type_t = 8
	IPC_OTYPE_PORT_SUBST_ONCE      Ipc_info_object_type_t = 9
	IPC_OTYPE_MIG                  Ipc_info_object_type_t = 10
	IPC_OTYPE_MEMORY_OBJECT        Ipc_info_object_type_t = 11
	IPC_OTYPE_XMM_PAGER            Ipc_info_object_type_t = 12
	IPC_OTYPE_XMM_KERNEL           Ipc_info_object_type_t = 13
	IPC_OTYPE_XMM_REPLY            Ipc_info_object_type_t = 14
	IPC_OTYPE_UND_REPLY            Ipc_info_object_type_t = 15
	IPC_OTYPE_HOST_NOTIFY          Ipc_info_object_type_t = 16
	IPC_OTYPE_HOST_SECURITY        Ipc_info_object_type_t = 17
	IPC_OTYPE_LEDGER               Ipc_info_object_type_t = 18
	IPC_OTYPE_MAIN_DEVICE          Ipc_info_object_type_t = 19
	IPC_OTYPE_TASK_NAME            Ipc_info_object_type_t = 20
	IPC_OTYPE_SUBSYSTEM            Ipc_info_object_type_t = 21
	IPC_OTYPE_IO_DONE_QUEUE        Ipc_info_object_type_t = 22
	IPC_OTYPE_SEMAPHORE            Ipc_info_object_type_t = 23
	IPC_OTYPE_LOCK_SET             Ipc_info_object_type_t = 24
	IPC_OTYPE_CLOCK                Ipc_info_object_type_t = 25
	IPC_OTYPE_CLOCK_CTRL           Ipc_info_object_type_t = 26
	IPC_OTYPE_IOKIT_IDENT          Ipc_info_object_type_t = 27
	IPC_OTYPE_NAMED_ENTRY          Ipc_info_object_type_t = 28
	IPC_OTYPE_IOKIT_CONNECT        Ipc_info_object_type_t = 29
	IPC_OTYPE_IOKIT_OBJECT         Ipc_info_object_type_t = 30
	IPC_OTYPE_UPL                  Ipc_info_object_type_t = 31
	IPC_OTYPE_MEM_OBJ_CONTROL      Ipc_info_object_type_t = 32
	IPC_OTYPE_AU_SESSIONPORT       Ipc_info_object_type_t = 33
	IPC_OTYPE_FILEPORT             Ipc_info_object_type_t = 34
	IPC_OTYPE_LABELH               Ipc_info_object_type_t = 35
	IPC_OTYPE_TASK_RESUME          Ipc_info_object_type_t = 36
	IPC_OTYPE_VOUCHER              Ipc_info_object_type_t = 37
	IPC_OTYPE_VOUCHER_ATTR_CONTROL Ipc_info_object_type_t = 38
	IPC_OTYPE_WORK_INTERVAL        Ipc_info_object_type_t = 39
	IPC_OTYPE_UX_HANDLER           Ipc_info_object_type_t = 40
	IPC_OTYPE_UEXT_OBJECT          Ipc_info_object_type_t = 41
	IPC_OTYPE_ARCADE_REG           Ipc_info_object_type_t = 42
	IPC_OTYPE_EVENTLINK            Ipc_info_object_type_t = 43
	IPC_OTYPE_TASK_INSPECT         Ipc_info_object_type_t = 44
	IPC_OTYPE_TASK_READ            Ipc_info_object_type_t = 45
	IPC_OTYPE_THREAD_INSPECT       Ipc_info_object_type_t = 46
	IPC_OTYPE_THREAD_READ          Ipc_info_object_type_t = 47
	IPC_OTYPE_SUID_CRED            Ipc_info_object_type_t = 48
	IPC_OTYPE_HYPERVISOR           Ipc_info_object_type_t = 49
	IPC_OTYPE_TASK_ID_TOKEN        Ipc_info_object_type_t = 50
	IPC_OTYPE_TASK_FATAL           Ipc_info_object_type_t = 51
	IPC_OTYPE_KCDATA               Ipc_info_object_type_t = 52
	IPC_OTYPE_EXCLAVES_RESOURCE    Ipc_info_object_type_t = 53
	IPC_OTYPE_THREAD_RESUME        Ipc_info_object_type_t = 54
	IPC_OTYPE_UNKNOWN              Ipc_info_object_type_t = 4294967295
)

func (Ipc_info_object_type_t) String

func (e Ipc_info_object_type_t) String() string

type Launch_data_type_t

type Launch_data_type_t int64
const (
	LAUNCH_DATA_DICTIONARY Launch_data_type_t = 1
	LAUNCH_DATA_ARRAY      Launch_data_type_t = 2
	LAUNCH_DATA_FD         Launch_data_type_t = 3
	LAUNCH_DATA_INTEGER    Launch_data_type_t = 4
	LAUNCH_DATA_REAL       Launch_data_type_t = 5
	LAUNCH_DATA_BOOL       Launch_data_type_t = 6
	LAUNCH_DATA_STRING     Launch_data_type_t = 7
	LAUNCH_DATA_OPAQUE     Launch_data_type_t = 8
	LAUNCH_DATA_ERRNO      Launch_data_type_t = 9
	LAUNCH_DATA_MACHPORT   Launch_data_type_t = 10
)

func (Launch_data_type_t) String

func (e Launch_data_type_t) String() string

type MDLabelDomain

type MDLabelDomain int64

@typedef MDLabelDomain @abstract These constants are used to specify a domain to MDLabelCreate().

const (
	KMDLabelUserDomain  MDLabelDomain = 0
	KMDLabelLocalDomain MDLabelDomain = 1
)

func (MDLabelDomain) String

func (e MDLabelDomain) String() string

type MDQueryOptionFlags

type MDQueryOptionFlags int64
const (
	KMDQuerySynchronous        MDQueryOptionFlags = 1
	KMDQueryWantsUpdates       MDQueryOptionFlags = 4
	KMDQueryAllowFSTranslation MDQueryOptionFlags = 8
)

func (MDQueryOptionFlags) String

func (e MDQueryOptionFlags) String() string

type MDQuerySortOptionFlags

type MDQuerySortOptionFlags int64

@enum MDQuerySortOptionFlags @constant kMDQueryReverseSortOrderFlag Sort the attribute in reverse order.

const (
	KMDQueryReverseSortOrderFlag MDQuerySortOptionFlags = 1
)

func (MDQuerySortOptionFlags) String

func (e MDQuerySortOptionFlags) String() string

type Mach_vm_range_flags_t

type Mach_vm_range_flags_t int64
const (
	MACH_VM_RANGE_NONE Mach_vm_range_flags_t = 0
)

func (Mach_vm_range_flags_t) String

func (e Mach_vm_range_flags_t) String() string

type Mach_vm_range_flavor_t

type Mach_vm_range_flavor_t int64
const (
	MACH_VM_RANGE_FLAVOR_INVALID Mach_vm_range_flavor_t = 0
	MACH_VM_RANGE_FLAVOR_V1      Mach_vm_range_flavor_t = 1
)

func (Mach_vm_range_flavor_t) String

func (e Mach_vm_range_flavor_t) String() string

type Mach_vm_range_tag_t

type Mach_vm_range_tag_t int64
const (
	MACH_VM_RANGE_DEFAULT Mach_vm_range_tag_t = 0
	MACH_VM_RANGE_DATA    Mach_vm_range_tag_t = 1
	MACH_VM_RANGE_FIXED   Mach_vm_range_tag_t = 2
)

func (Mach_vm_range_tag_t) String

func (e Mach_vm_range_tag_t) String() string

type Mpo_flags_t

type Mpo_flags_t int64
const (
	MPO_PORT                            Mpo_flags_t = 0
	MPO_SERVICE_PORT                    Mpo_flags_t = 1024
	MPO_CONNECTION_PORT                 Mpo_flags_t = 2048
	MPO_REPLY_PORT                      Mpo_flags_t = 4096
	MPO_WEAK_REPLY_PORT                 Mpo_flags_t = 16384
	MPO_NOTIFICATION_PORT               Mpo_flags_t = 17408
	MPO_EXCEPTION_PORT                  Mpo_flags_t = 32768
	MPO_CONNECTION_PORT_WITH_PORT_ARRAY Mpo_flags_t = 65536
)

func (Mpo_flags_t) String

func (e Mpo_flags_t) String() string

type NXMouseButton

type NXMouseButton int64
const (
	NX_OneButton   NXMouseButton = 0
	NX_LeftButton  NXMouseButton = 1
	NX_RightButton NXMouseButton = 2
)

func (NXMouseButton) String

func (e NXMouseButton) String() string

type Os_clockid_t

type Os_clockid_t int64
const (
	OS_CLOCK_MACH_ABSOLUTE_TIME Os_clockid_t = 32
)

func (Os_clockid_t) String

func (e Os_clockid_t) String() string

type Os_unfair_lock_flags_t

type Os_unfair_lock_flags_t int64
const (
	OS_UNFAIR_LOCK_FLAG_NONE          Os_unfair_lock_flags_t = 0
	OS_UNFAIR_LOCK_FLAG_ADAPTIVE_SPIN Os_unfair_lock_flags_t = 262144
)

func (Os_unfair_lock_flags_t) String

func (e Os_unfair_lock_flags_t) String() string

type PMPageToPaperMappingType

type PMPageToPaperMappingType int64
const (
	KPMPageToPaperMappingNone       PMPageToPaperMappingType = 1
	KPMPageToPaperMappingScaleToFit PMPageToPaperMappingType = 2
)

func (PMPageToPaperMappingType) String

func (e PMPageToPaperMappingType) String() string

type Ptrauth_key

type Ptrauth_key int64
const (
	Ptrauth_key_none                     Ptrauth_key = -1
	Ptrauth_key_asia                     Ptrauth_key = 0
	Ptrauth_key_asib                     Ptrauth_key = 1
	Ptrauth_key_asda                     Ptrauth_key = 2
	Ptrauth_key_asdb                     Ptrauth_key = 3
	Ptrauth_key_process_independent_code Ptrauth_key = 0
	Ptrauth_key_process_dependent_code   Ptrauth_key = 1
	Ptrauth_key_process_independent_data Ptrauth_key = 2
	Ptrauth_key_process_dependent_data   Ptrauth_key = 3
	Ptrauth_key_return_address           Ptrauth_key = 1
	Ptrauth_key_frame_pointer            Ptrauth_key = 3
	Ptrauth_key_function_pointer         Ptrauth_key = 0
	Ptrauth_key_block_function           Ptrauth_key = 0
	Ptrauth_key_cxx_vtable_pointer       Ptrauth_key = 2
	Ptrauth_key_method_list_pointer      Ptrauth_key = 2
	Ptrauth_key_objc_isa_pointer         Ptrauth_key = 2
	Ptrauth_key_objc_super_pointer       Ptrauth_key = 2
	Ptrauth_key_objc_sel_pointer         Ptrauth_key = 3
	Ptrauth_key_objc_class_ro_pointer    Ptrauth_key = 2
	Ptrauth_key_block_descriptor_pointer Ptrauth_key = 2
	Ptrauth_key_init_fini_pointer        Ptrauth_key = 0
)

func (Ptrauth_key) String

func (e Ptrauth_key) String() string

type Qos_class_t

type Qos_class_t uint32
const (
	QOS_CLASS_USER_INTERACTIVE Qos_class_t = 33
	QOS_CLASS_USER_INITIATED   Qos_class_t = 25
	QOS_CLASS_DEFAULT          Qos_class_t = 21
	QOS_CLASS_UTILITY          Qos_class_t = 17
	QOS_CLASS_BACKGROUND       Qos_class_t = 9
	QOS_CLASS_UNSPECIFIED      Qos_class_t = 0
)

func (Qos_class_t) String

func (e Qos_class_t) String() string

type Virtual_memory_guard_exception_code_t

type Virtual_memory_guard_exception_code_t int64
const (
	KGUARD_EXC_DEALLOC_GAP                   Virtual_memory_guard_exception_code_t = 1
	KGUARD_EXC_RECLAIM_COPYIO_FAILURE        Virtual_memory_guard_exception_code_t = 2
	KGUARD_EXC_RECLAIM_INDEX_FAILURE         Virtual_memory_guard_exception_code_t = 4
	KGUARD_EXC_RECLAIM_DEALLOCATE_FAILURE    Virtual_memory_guard_exception_code_t = 8
	KGUARD_EXC_RECLAIM_ACCOUNTING_FAILURE    Virtual_memory_guard_exception_code_t = 9
	KGUARD_EXC_SEC_IOPL_ON_EXEC_PAGE         Virtual_memory_guard_exception_code_t = 10
	KGUARD_EXC_SEC_EXEC_ON_IOPL_PAGE         Virtual_memory_guard_exception_code_t = 11
	KGUARD_EXC_SEC_UPL_WRITE_ON_EXEC_REGION  Virtual_memory_guard_exception_code_t = 12
	KGUARD_EXC_LARGE_ALLOCATION_TELEMETRY    Virtual_memory_guard_exception_code_t = 13
	KGUARD_EXC_SEC_ACCESS_FAULT              Virtual_memory_guard_exception_code_t = 98
	KGUARD_EXC_SEC_ASYNC_ACCESS_FAULT        Virtual_memory_guard_exception_code_t = 99
	KGUARD_EXC_SEC_COPY_DENIED               Virtual_memory_guard_exception_code_t = 100
	KGUARD_EXC_SEC_SHARING_DENIED            Virtual_memory_guard_exception_code_t = 101
	KGUARD_EXC_MTE_SYNC_FAULT                Virtual_memory_guard_exception_code_t = 200
	KGUARD_EXC_MTE_ASYNC_USER_FAULT          Virtual_memory_guard_exception_code_t = 201
	KGUARD_EXC_MTE_ASYNC_KERN_FAULT          Virtual_memory_guard_exception_code_t = 202
	KGUARD_EXC_GUARD_OBJECT_ASYNC_USER_FAULT Virtual_memory_guard_exception_code_t = 203
	KGUARD_EXC_GUARD_OBJECT_ASYNC_KERN_FAULT Virtual_memory_guard_exception_code_t = 204
)

func (Virtual_memory_guard_exception_code_t) String

type Xpc_listener_create_flags_t

type Xpc_listener_create_flags_t int64
const (
	XPC_LISTENER_CREATE_NONE             Xpc_listener_create_flags_t = 0
	XPC_LISTENER_CREATE_INACTIVE         Xpc_listener_create_flags_t = 1
	XPC_LISTENER_CREATE_FORCE_MACH       Xpc_listener_create_flags_t = 2
	XPC_LISTENER_CREATE_FORCE_XPCSERVICE Xpc_listener_create_flags_t = 4
)

func (Xpc_listener_create_flags_t) String

type Xpc_session_create_flags_t

type Xpc_session_create_flags_t int64
const (
	XPC_SESSION_CREATE_NONE            Xpc_session_create_flags_t = 0
	XPC_SESSION_CREATE_INACTIVE        Xpc_session_create_flags_t = 1
	XPC_SESSION_CREATE_MACH_PRIVILEGED Xpc_session_create_flags_t = 2
)

func (Xpc_session_create_flags_t) String

Jump to

Keyboard shortcuts

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