예제 #1
0
 void OnAllySwitch(PartyManager _party, AllyMember _toSet, AllyMember _current)
 {
     if (_party.bIsCurrentPlayerCommander && _toSet != null)
     {
         SetTarget(_toSet.transform);
     }
 }
예제 #2
0
 private void CallOnLeftClickAlly(AllyMember _ally)
 {
     if (OnLeftClickAlly != null)
     {
         OnLeftClickAlly(_ally);
     }
 }
예제 #3
0
 private void CallOnAllySwitch(PartyManager _party, AllyMember _toSet, AllyMember _current)
 {
     if (OnAllySwitch != null)
     {
         OnAllySwitch(_party, _toSet, _current);
     }
 }
예제 #4
0
 void OnCommandAttack(AllyMember _ally)
 {
     if (_ally != null)
     {
         LookAtTarget(_ally.transform);
     }
 }
예제 #5
0
 void OnAllySwitch(PartyManager _party, AllyMember _toSet, AllyMember _current)
 {
     if (partyHasInitAlly == false)
     {
         partyHasInitAlly = true;
         ToggleCamBehaviors(true);
     }
 }
예제 #6
0
        /// <summary>
        /// The character took some damage at the specified position. Apply the animation in direction of the damage.
        /// </summary>
        /// <param name="amount">The total amount of damage inflicted on the character.</param>
        /// <param name="position">The position that the character took the damage.</param>
        /// <param name="force">The amount of force applied to the object while taking the damage.</param>
        /// <param name="attacker">The GameObject that did the damage.</param>
        private void TookDamage(int amount, Vector3 position, Vector3 force, AllyMember _instigator, GameObject hitGameObject)
        {
            if (amount >= largeDamageAmount)
            {
                m_DamageType = RTSDamageType.DamageReactGut;
            }

            StartAbility();
            Invoke("DamageVisualizationComplete", damageTime);
        }
예제 #7
0
        protected virtual void UpdateTargettedEnemy(AllyMember _ally)
        {
            if (_ally == null)
            {
                return;
            }
            Transform _allyTransform = _ally.transform;

            if (_allyTransform != targetTransform)
            {
                targetTransform = _allyTransform;
            }
        }
예제 #8
0
        public override void AllyTakeDamage(int amount, AllyMember _instigator)
        {
            base.AllyTakeDamage(amount, _instigator);
            Vector3 _position = ChestTransform.position;
            Vector3 _force    = Vector3.zero;

            if (bIsCurrentPlayer)
            {
                EventHandler.ExecuteEvent <float, Vector3, Vector3, GameObject>(gameObject, "OnHealthDamageDetails", amount, _position, _force, _instigator.gameObject);
            }

            if (IsAlive == false)
            {
                EventHandler.ExecuteEvent <Vector3, Vector3, GameObject>(gameObject, "OnDeathDetails", _force, _position, _instigator.gameObject);
            }
        }
예제 #9
0
        public override TaskStatus OnUpdate()
        {
            CurrentExecutionItem_Cached    = CurrentExecutionItem.Value;
            CurrentExecutionTarget_Cached  = CurrentExecutionTarget.Value;
            PreviousExecutionItem_Cached   = PreviousExecutionItem.Value;
            PreviousExecutionTarget_Cached = PreviousExecutionTarget.Value;
            var _taskResult = behaviorActions.HasNewTacticsItem(ref CurrentExecutionItem_Cached,
                                                                ref CurrentExecutionTarget_Cached,
                                                                ref PreviousExecutionItem_Cached,
                                                                ref PreviousExecutionTarget_Cached, CheckPreviousNullInstead.Value) ? TaskStatus.Success : TaskStatus.Failure;

            CurrentExecutionItem.Value    = CurrentExecutionItem_Cached;
            CurrentExecutionTarget.Value  = CurrentExecutionTarget_Cached;
            PreviousExecutionItem.Value   = PreviousExecutionItem_Cached;
            PreviousExecutionTarget.Value = PreviousExecutionTarget_Cached;
            return(_taskResult);
        }
        public override TaskStatus OnUpdate()
        {
            CurrentExecutionItem_Cached    = CurrentExecutionItem.Value;
            CurrentExecutionTarget_Cached  = CurrentExecutionTarget.Value;
            PreviousExecutionItem_Cached   = PreviousExecutionItem.Value;
            PreviousExecutionTarget_Cached = PreviousExecutionTarget.Value;
            var _taskResult = behaviorActions.ExecuteTacticsItem(ref CurrentExecutionItem_Cached,
                                                                 ref CurrentExecutionTarget_Cached,
                                                                 ref PreviousExecutionItem_Cached,
                                                                 ref PreviousExecutionTarget_Cached, StopPerformingTask.Value) ? TaskStatus.Success : TaskStatus.Failure;

            CurrentExecutionItem.Value    = CurrentExecutionItem_Cached;
            CurrentExecutionTarget.Value  = CurrentExecutionTarget_Cached;
            PreviousExecutionItem.Value   = PreviousExecutionItem_Cached;
            PreviousExecutionTarget.Value = PreviousExecutionTarget_Cached;
            return(_taskResult);
        }
예제 #11
0
 void OnAllySwitch(PartyManager _party, AllyMember _toSet, AllyMember _current)
 {
     player = _toSet.gameObject;
 }
예제 #12
0
        public override void AllyTakeDamage(int _amount, Vector3 _position, Vector3 _force, AllyMember _instigator, GameObject _hitGameObject)
        {
            base.AllyTakeDamage(_amount, _position, _force, _instigator, _hitGameObject);
            if (bIsCurrentPlayer)
            {
                EventHandler.ExecuteEvent <float, Vector3, Vector3, GameObject>(gameObject, "OnHealthDamageDetails", _amount, _position, _force, _instigator.gameObject);
            }

            if (IsAlive == false)
            {
                EventHandler.ExecuteEvent <Vector3, Vector3, GameObject>(gameObject, "OnDeathDetails", _force, _position, _instigator.gameObject);
            }
        }