<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>CToolAI :: Catur Documentation</title>
    <link>https://doc.cdryx.net/CdryxAIOUPlugin/modules/ccoreumodule/tools/ctoolai/index.html</link>
    <description>Overview AI blackboard key management and team attitude utilities.&#xA;Struct: CBlackBoardKey&lt;T&gt; Name Description name FName key identifier. entry FBlackboardEntry associated with this key. // Create a typed blackboard key CBlackBoardKey&lt;UBlackboardKeyType_Object&gt; targetKey(FName(&#34;Target&#34;)); CBlackBoardKey&lt;UBlackboardKeyType_Vector&gt; destKey(FName(&#34;Destination&#34;)); Blackboard functions Name Description trySetBlackBoardKey Set a blackboard key value. Logs warning if key not found. Overloads for CBlackBoardKey and FBlackboardKeySelector. tryGetBlackBoardKey Get a blackboard key value. Overloads for CBlackBoardKey and FBlackboardKeySelector. clearBlackBoardKey Clear a blackboard key. Overloads for FName and CBlackBoardKey. defineKey Define a key in a UBlackboardData. Overload for Object keys typed to a class, and generic keys with customization lambda. // Define a typed blackboard key CBlackBoardKey&lt;UBlackboardKeyType_Object&gt; targetKey(FName(&#34;Target&#34;)); defineKey&lt;AMyCharacter&gt;(myBlackboardData, targetKey); // Set a blackboard key trySetBlackBoardKey&lt;UBlackboardKeyType_Object&gt;(aiController, targetKey, targetActor); // Get a blackboard key UObject* target = tryGetBlackBoardKey&lt;UBlackboardKeyType_Object&gt;(aiController, targetKey); // Clear clearBlackBoardKey(aiController, targetKey); Team attitude functions Name Description retrieveTeamAttitude Get team attitude between two actors. isAForBOneOf Check if A’s attitude toward B matches one or more attitudes. Overloads for single attitude, array, and TEnumAsByte. getController Get the controller of a pawn. ETeamAttitude::Type attitude = retrieveTeamAttitude(actorA, actorB); bool isHostile = isAForBOneOf(actorA, actorB, ETeamAttitude::Hostile); bool isFriendlyOrNeutral = isAForBOneOf(actorA, actorB, TArray({ETeamAttitude::Friendly, ETeamAttitude::Neutral})); AController* ctrl = getController(myPawn);</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate></lastBuildDate>
    <atom:link href="https://doc.cdryx.net/CdryxAIOUPlugin/modules/ccoreumodule/tools/ctoolai/index.xml" rel="self" type="application/rss+xml" />
  </channel>
</rss>