Class GKAgent

  • All Implemented Interfaces:
    NSCoding, NSCopying, NSSecureCoding, NSObject
    Direct Known Subclasses:
    GKAgent2D, GKAgent3D

    public class GKAgent
    extends GKComponent
    implements NSSecureCoding
    An agent is a point mass whose local coordinate system is aligned to its velocity. Agents have a variety of steering functions that can be used to simulate vehicles or entities with agency. The units of mass, velocity and radius are dimensionless but related. The visual representation of these values are specific to each game's own situation. Values close to 1.0 should be canonical and are expected to yield pleasing results. When applied to visuals these values should be scaled and biased into their target coordinate system and a simple filter on top ensures any noise generated from the steering logic doesn't affect the visual represtentation.
    • Constructor Detail

      • GKAgent

        protected GKAgent​(org.moe.natj.general.Pointer peer)
    • Method Detail

      • accessInstanceVariablesDirectly

        public static boolean accessInstanceVariablesDirectly()
      • alloc

        public static GKAgent alloc()
      • allocWithZone

        public static java.lang.Object allocWithZone​(org.moe.natj.general.ptr.VoidPtr zone)
      • automaticallyNotifiesObserversForKey

        public static boolean automaticallyNotifiesObserversForKey​(java.lang.String key)
      • cancelPreviousPerformRequestsWithTarget

        public static void cancelPreviousPerformRequestsWithTarget​(java.lang.Object aTarget)
      • cancelPreviousPerformRequestsWithTargetSelectorObject

        public static void cancelPreviousPerformRequestsWithTargetSelectorObject​(java.lang.Object aTarget,
                                                                                 org.moe.natj.objc.SEL aSelector,
                                                                                 java.lang.Object anArgument)
      • classFallbacksForKeyedArchiver

        public static NSArray<java.lang.String> classFallbacksForKeyedArchiver()
      • classForKeyedUnarchiver

        public static org.moe.natj.objc.Class classForKeyedUnarchiver()
      • debugDescription_static

        public static java.lang.String debugDescription_static()
      • description_static

        public static java.lang.String description_static()
      • hash_static

        public static long hash_static()
      • instanceMethodSignatureForSelector

        public static NSMethodSignature instanceMethodSignatureForSelector​(org.moe.natj.objc.SEL aSelector)
      • instancesRespondToSelector

        public static boolean instancesRespondToSelector​(org.moe.natj.objc.SEL aSelector)
      • isSubclassOfClass

        public static boolean isSubclassOfClass​(org.moe.natj.objc.Class aClass)
      • keyPathsForValuesAffectingValueForKey

        public static NSSet<java.lang.String> keyPathsForValuesAffectingValueForKey​(java.lang.String key)
      • new_objc

        public static java.lang.Object new_objc()
      • resolveClassMethod

        public static boolean resolveClassMethod​(org.moe.natj.objc.SEL sel)
      • resolveInstanceMethod

        public static boolean resolveInstanceMethod​(org.moe.natj.objc.SEL sel)
      • setVersion_static

        public static void setVersion_static​(long aVersion)
      • superclass_static

        public static org.moe.natj.objc.Class superclass_static()
      • version_static

        public static long version_static()
      • behavior

        public GKBehavior behavior()
        The behavior to apply when updateWithDeltaTime is called. All forces from the goals in the behavior are summed and then applied.
      • delegate

        public GKAgentDelegate delegate()
        Object which has agentDidUpdate called on it during this agent's behavior updatekbeha
      • mass

        public float mass()
        Agent's mass. Used for agent impulse application purposes. Defaults to 1.0
      • maxAcceleration

        public float maxAcceleration()
        Maximum amount of acceleration that can be applied to this agent. All applied impulses are clipped to this amount. Defaults to 1.0
      • maxSpeed

        public float maxSpeed()
        Maximum speed of this agent. Impulses cannot cause the agents speed to ever be greater than this value. Defaults to 1.0
      • radius

        public float radius()
        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
      • setBehavior

        public void setBehavior​(GKBehavior value)
        The behavior to apply when updateWithDeltaTime is called. All forces from the goals in the behavior are summed and then applied.
      • setDelegate_unsafe

        public void setDelegate_unsafe​(GKAgentDelegate value)
        Object which has agentDidUpdate called on it during this agent's behavior updatekbeha
      • setDelegate

        public void setDelegate​(GKAgentDelegate value)
        Object which has agentDidUpdate called on it during this agent's behavior updatekbeha
      • setMass

        public void setMass​(float value)
        Agent's mass. Used for agent impulse application purposes. Defaults to 1.0
      • setMaxAcceleration

        public void setMaxAcceleration​(float value)
        Maximum amount of acceleration that can be applied to this agent. All applied impulses are clipped to this amount. Defaults to 1.0
      • setMaxSpeed

        public void setMaxSpeed​(float value)
        Maximum speed of this agent. Impulses cannot cause the agents speed to ever be greater than this value. Defaults to 1.0
      • setRadius

        public void setRadius​(float value)
        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
      • setSpeed

        public void setSpeed​(float value)
        Current speed of the agent along its foward direction. Defaults to 0.0
      • speed

        public float speed()
        Current speed of the agent along its foward direction. Defaults to 0.0
      • supportsSecureCoding

        public static boolean supportsSecureCoding()
      • _supportsSecureCoding

        public boolean _supportsSecureCoding()
        Description copied from interface: NSSecureCoding
        This property must return YES on all classes that allow secure coding. Subclasses of classes that adopt NSSecureCoding and override initWithCoder: must also override this method and return YES. The Secure Coding Guide should be consulted when writing methods that decode data.
        Specified by:
        _supportsSecureCoding in interface NSSecureCoding
        Overrides:
        _supportsSecureCoding in class GKComponent