public override bool IsTargettingEnemy(out Transform _currentTarget) { _currentTarget = null; bool _isTargetting = false; if (MyBehaviourChoice == BehaviourFrameworkChoice.BehaviorDesigner) { _isTargetting = (bool)AllyBehaviorTree.GetVariable(BBName_bTargetEnemy).GetValue(); } else if (MyBehaviourChoice == BehaviourFrameworkChoice.UNode) { _isTargetting = uNodeAllyTreeSpawner.GetVariable <bool>(BBName_bTargetEnemy); } if (_isTargetting) { if (MyBehaviourChoice == BehaviourFrameworkChoice.BehaviorDesigner) { _currentTarget = (Transform)AllyBehaviorTree.GetVariable(BBName_CurrentTargettedEnemy).GetValue(); } else if (MyBehaviourChoice == BehaviourFrameworkChoice.UNode) { _currentTarget = uNodeAllyTreeSpawner.GetVariable <Transform>(BBName_CurrentTargettedEnemy); } } return(_isTargetting); }
protected override void HandleCommandAttackEnemy(AllyMember enemy) { base.HandleCommandAttackEnemy(enemy); if (bUsingBehaviorTrees) { bool _isFreeMoving = false; if (MyBehaviourChoice == BehaviourFrameworkChoice.BehaviorDesigner) { _isFreeMoving = (bool)AllyBehaviorTree.GetVariable(BBName_bIsFreeMoving).GetValue(); } else if (MyBehaviourChoice == BehaviourFrameworkChoice.UNode) { //uNodeAllyTreeSpawner.SetVariable _isFreeMoving = uNodeAllyTreeSpawner.GetVariable <bool>(BBName_bIsFreeMoving); } bool _isPerformingAbility = IsPerformingSpecialAbility(); //Shouldn't Be FreeMoving or Performing Special Ability if (_isFreeMoving == false && _isPerformingAbility == false) { SetEnemyTarget(enemy); if (MyBehaviourChoice == BehaviourFrameworkChoice.BehaviorDesigner) { AllyBehaviorTree.SetVariableValue(BBName_bHasSetCommandMove, false); AllyBehaviorTree.SetVariableValue(BBName_bTryUseAbility, false); AllyBehaviorTree.SetVariableValue(BBName_AbilityToUse, null); } else if (MyBehaviourChoice == BehaviourFrameworkChoice.UNode) { uNodeAllyTreeSpawner.SetVariable(BBName_bHasSetCommandMove, false); uNodeAllyTreeSpawner.SetVariable(BBName_bTryUseAbility, false); uNodeAllyTreeSpawner.SetVariable(BBName_AbilityToUse, null); } } } }
public override bool IsPerformingSpecialAbility() { if (MyBehaviourChoice == BehaviourFrameworkChoice.BehaviorDesigner) { return((bool)AllyBehaviorTree.GetVariable(BBName_bIsPerformingAbility).GetValue()); } else if (MyBehaviourChoice == BehaviourFrameworkChoice.UNode) { return(uNodeAllyTreeSpawner.GetVariable <bool>(BBName_bIsPerformingAbility)); } return(false); }