Inherits CrossLink.AIProxy.
Public Types | |
enum class | AIMode { Attack , Idle , Waiting , Follow , None } |
enum class | AttackSubState { Confront , Attack } |
Public Member Functions | |
override string | GetCamp () |
override Transform | GetTransform () |
override RagdollAnim | GetRagdoll () |
override CombatAttr | GetAttr () |
override CharacterControllerBase | GetControllerBase () |
override void | EnterLodLv (LodLevel lv, float dis) |
override bool | BeAbleToGazeByConfig () |
void | StopWeaponIKForAWhile (float extraSec=0) |
float | GetCommandOrderedTime () |
void | SetFollowTarget (AIProxy target) |
AIMode | GetAIState () |
void | SetAIState (AIMode ai) |
void | StayCommand () |
void | AttackCommand (AIProxy target) |
void | MoveCommand (AIProxy target, float dis) |
void | MoveCommand (Vector3 pos) |
void | FollowCommand (AIProxy followTarget) |
void | PlayActionCommand (AIProxy target, ActionData ad) |
bool | IsIndependentAtkDesire () |
float | GetBestDistance () |
override void | TickAI () |
bool | IsHateEnabled () |
void | TickHateList () |
bool | IsHate (AIProxy target) |
void | AddHate (AIProxy target, float hateValue=5) |
void | ReduceHateValue (float delta) |
void | RemoveHateTarget (AIProxy ai) |
override bool | CanAimTarget () |
override bool | IsDown () |
override bool | IsPowerfulRole () |
override void | CancelAction () |
override void | SelectTarget (AIProxy target) |
bool | AimTarget (AIProxy target) |
bool | IsAimWell (AIProxy target) |
float | GetLastPathFindTime () |
bool | IsJustPathFindLately () |
bool | IsGetPathFailRecently () |
bool | IsMoveRecently () |
bool | IsMoving () |
void | MoveToDistance (Vector3 tpos, float d, float range=0, bool allowDirectWalk=true) |
void | UpdateWithPath (Pathfinding.ABPath abPath, Vector3 moveDest) |
ActionData | GetSuitableActionToPerform (Actor actor, float distance, ActionData bypass=null) |
void | PerformSpecificAction (ActionData action) |
void | PerformDodgeAction () |
![]() | |
RagdollMuscle | GetMuscle (string name) |
virtual void | OnHitOtherSucc () |
float | LastSurroundTime () |
void | UpdateSurround (AIProxy hitter) |
AIProxy | GetClosestEnemy () |
AIProxy | GetClosestFriend () |
float | GetTargetDistance (AIProxy fc) |
virtual void | SetSelected (bool s) |
virtual bool | IsSelected () |
virtual bool | InAction () |
bool | IsCancelActionRecently (float interval=1) |
AIProxy | GetTarget () |
Transform | GetObsTrans () |
AvoidObstacle | GetObsCheckedObj () |
Vector3 | GetObsCheckedPoint () |
bool | CheckBlockByObstacle (AIProxy target) |
bool | IsBlockByOthers (AIProxy target) |
bool | IsWaitRecently () |
void | Wait (float costTime) |
void | GazeUpdate (InteractCharacter ic) |
void | UpdateGazeInteract () |
Public Attributes | |
FullCharacterControl | fc |
Pathfinding.Seeker | seeker |
MoveIndicator | indicator |
float | hateThreshold = -1 |
float | hateReduceMlp = 1 |
float | confrontAtkDesire = -1 |
float | checkDodgePob = 0.3f |
float | checkTuantPob = 0f |
float | checkTuantDisMin = 4 |
float | checkTuantDisMax = 8 |
float | switchActionPob = 0.5f |
float | switchActionInterval = 5 |
bool | standstill = false |
float | dynamicAtkSpeed = -1 |
float | dynamicAtkSpeedRange = -1 |
float | beBlockWhenStrongAtkRate = -1 |
float | atkOffsetMin = 0 |
float | atkOffsetMax = 0 |
Transform | headTrans |
bool | isRangeUnit = false |
bool | ignoreBlockByAlly = false |
float | bestAtkDistance = 4f |
float | moveCDBestDis = 0 |
float | atkDesire = 0.5f |
float | waitTimeMax = 5 |
float | waitTimeMin = 1 |
float | stiffTimeMax = 4 |
float | stiffTimeMin = 0.2f |
float | atkCooldown = 0 |
float | atkCooldownMin = -1 |
ActionData[] | aiActions |
ActionData[] | dodgeActions |
CooldownSlot[] | cooldownSlots |
ActionData[] | wakeupActions |
System.Func< bool > | OverrideAI = null |
Static Public Attributes | |
static float | GlobalDynamicSpeedMlp = -1 |
static bool | CheatAtkDesire = false |
static float | GlobalSurroundTimeMlp = 1 |
![]() | |
const string | CampGood = "Good" |
const string | CampBad = "Bad" |
const string | CampNone = "None" |
const float | KissDis = 0.6f |
const float | Face2FaceDis = 1.2f |
const float | CollisionDis = 2f |
const float | MeleeAtkDis = 2.5f |
const float | MeleeAtkReadyAtkDis = 3f |
const float | MeleeSafeDis = 4f |
const float | StandByDis = 8f |
const float | FarAwayDis = 10f |
static bool | EnableGroupAI = false |
static AIProxy | atkAI |
static float | AIWaitTimeMlp = 0.5f |
Protected Member Functions | |
void | Start () |
override void | OnGazeEnter (InteractCharacter ic) |
override void | OnGazeExit () |
override void | OnGazeUpdate (InteractCharacter ic) |
override void | OnGazeLeaving () |
override bool | CanDoGazeReact () |
override void | SetInAction () |
![]() | |
void | OnEnable () |
void | OnDisable () |
Events | |
System.Action< AIMode > | AIStateChangeEvent |
System.Action< AIController, AIProxy, ActionData > | AttackEvent |
System.Func< bool > | SearchPhaseBeforeEvent |
System.Action | SearchPhaseAfterEvent |
System.Func< bool > | FacePhaseBeforeEvent |
System.Action | FacePahseAfterEvent |
System.Func< bool > | DesirePhaseBeforeEvent |
System.Action | DesirePhaseAfterEvent |
System.Func< bool > | ActionPhaseBeforeEvent |
System.Action | ActionPhaseAfterEvent |
Additional Inherited Members | |
![]() | |
static string | OppoCamp (string camp) |
static Dictionary< Transform, AIProxy > | GetAroundAITarget () |
static void | SetAIStyle (string styleName) |
static void | SetHitTime (float ht) |
static void | UpdateAtkWindowMlp (InteractCharacter character=null) |
static float | GetAtkStartTime () |
static bool | IsGroupTarget (AIProxy target) |
static float | TargetProtectWindow () |
static float | TargetAtkWindow () |
static void | StartAtk (AIProxy src, float actionLen) |
static void | BreakAtk (AIProxy src) |
static bool | IsNoCampTargetArround (string camp) |
static List< AIProxy > | GetTarget (string camp=null) |
static List< AIProxy > | GetTargetInRangeAndAngle (Vector3 pos, float radius, Vector3 sdir, float dot, string camp=null, bool includeDown=false) |
static List< AIProxy > | GetTargetInRange (Vector3 pos, float radius, string camp=null, bool includeDown=false) |
static AIProxy | GetCloestAndAngleTarget (Transform self, float dot, string camp, bool goodRelate=true, bool includeDown=false) |
static AIProxy | GetCloestTarget (Transform self, string camp, bool goodRelate=true, bool includeDown=false) |
![]() | |
bool | isInAction = false |
int | actionId = -1 |
AIProxy | targetSelected = null |
CharacterControllerBase | blockChar = null |
float | gazeTime = -1 |
|
virtual |
Attack desire calu
Actual Action based on cooldown, distance, attack desire, etc.
Reimplemented from CrossLink.AIProxy.