예제 #1
0
 /* Sets the base value of an attribute. Existing active modifiers are NOT cleared and will act upon the new base value. */
 public void SetNumericAttributeBase(FGameplayAttribute Attribute, float NewBaseValue)
 {
 }
예제 #2
0
 /* Gets the base value of an attribute. That is, the value of the attribute with no stateful modifiers */
 public float GetNumericAttributeBase(FGameplayAttribute Attribute)
 {
     return(1f);
 }
예제 #3
0
 // Not happy with this interface but don't see a better way yet. How should outside code (UI, etc) ask things like 'how much is this gameplay effect modifying my damage by'
 // (most likely we want to catch this on the backend - when damage is applied we can get a full dump/history of how the number got to where it is. But still we may need polling methods like below (how much would my damage be)
 public float GetGameplayEffectMagnitude(FActiveGameplayEffectHandle Handle, FGameplayAttribute Attribute)
 {
     return(1);
 }
예제 #4
0
 /**
  * Does this ability system component have this attribute?
  *
  * @param Attribute	Handle of the gameplay effect to retrieve target tags from
  *
  * @return true if Attribute is valid and this ability system component contains an attribute set that contains Attribute. Returns false otherwise.
  */
 public bool HasAttributeSetForAttribute(FGameplayAttribute Attribute)
 {
     return(false);
 }
예제 #5
0
 /**
  * Applies an inplace mod to the given attribute. Unlike ApplyModToAttribute this function will run on the client or server.
  * This may result in problems related to prediction and will not roll back properly.
  */
 public void ApplyModToAttributeUnsafe(FGameplayAttribute Attribute,
                                       EGameplayModOp ModifierOp, float ModifierMagnitude)
 {
 }
예제 #6
0
 public float GetNumericAttributeChecked(FGameplayAttribute Attribute)
 {
     return(1f);
 }
예제 #7
0
 public bool Equal(FGameplayAttribute Dest)
 {
     return(string.Equals(Attribute, Dest.GetUProperty()));
 }
예제 #8
0
 /**
  * 任何修改attribute的 base value前会被调用
  * 这个方法不能调用gameplay相关的事件或者callback
  */
 public virtual void PreAttributeBaseChange(FGameplayAttribute Attribute, ref float NewValue)
 {
 }
예제 #9
0
 public int GetTypeHash(FGameplayAttribute InAttribute)
 {
     // FIXME: Use ObjectID or something to get a better, less collision prone hash
     //return PointerHash(InAttribute.Attribute);
     return(0);
 }
예제 #10
0
 public FGameplayEffectAttributeCaptureDefinition(FGameplayAttribute InAttribute,
                                                  EGameplayEffectAttributeCaptureSource InSource, bool InSnapshot)
 {
 }
예제 #11
0
 public FGameplayModifierEvaluatedData(FGameplayAttribute InAttribute, EGameplayModOp InModOp, float InMagnitude,
                                       FActiveGameplayEffectHandle InHandle)
 {
 }
예제 #12
0
 /** Updates the aggregators for the past in handle, this will handle it so the UAttributeSets stats only get one update for the delta change */
 public void UpdateAggregatorMod(FActiveGameplayEffectHandle ActiveHandle, FGameplayAttribute Attribute,
                                 FGameplayEffectSpec Spec, bool bWasLocallyGenerated, FActiveGameplayEffectHandle InHandle)
 {
 }
예제 #13
0
        /* Adds a new modified attribute struct, will always add so check to see if it exists first */
        public FGameplayEffectModifiedAttribute AddModifiedAttribute(FGameplayAttribute Attribute)
        {
            FGameplayEffectModifiedAttribute a = new FGameplayEffectModifiedAttribute();

            return(a);
        }