示例#1
0
        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);
        }
示例#2
0
 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);
             }
         }
     }
 }
示例#3
0
 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);
 }