void AttempActivate(ref DefaultCharBehaviourController.InternalState internalState, ref DefaultCharBehaviourController.PredictedState predictedState, DefaultCharBehaviourController.Ability ability, bool force) { if (predictedState.activeAbility == ability) { return; } // if(DefaultCharBehaviourController.ShowInfo.IntValue > 0) // GameDebug.Log("AttempActivate:" + ability); if (predictedState.activeAbility != DefaultCharBehaviourController.Ability.None) { var behavior = internalState.GetAbilityBehavior(predictedState.activeAbility); if (force) { Deactivate(behavior); } else { RequestDeactivate(behavior); return; } } { predictedState.activeAbility = ability; var behavior = internalState.GetAbilityBehavior(predictedState.activeAbility); Activate(behavior); } }
bool IsRequestingActive(ref DefaultCharBehaviourController.InternalState internalState, DefaultCharBehaviourController.Ability ability) { var behavior = internalState.GetAbilityBehavior(ability); var abilityCtrl = EntityManager.GetComponentData <AbilityControl>(behavior); return(abilityCtrl.behaviorState == AbilityControl.State.RequestActive); }