/// <summary>Checks wether or not the player has all/any parents (depends on <see cref="RequiresAllParents"/>. If this check passes, it executes the <see cref="UnlockRequirements"/> for any specific requirements.</summary> /// <param name="player"></param> /// <returns>true if the palyer can unlock the transformation; otherwise false.</returns> public bool CanPlayerUnlock(MyPlayer player) { for (int i = 0; i < Parents.Length; i++) { if (RequiresAllParents & !player.HasTransformation(Parents[i])) { return(false); } if (!RequiresAllParents && player.HasTransformation(Parents[i])) { return(true); } } return(UnlockRequirements.Invoke(player)); }
/// <summary>The specific transformation requirements, f.e. UI Omen requires the player to be low on health and fighting a boss with substantial health.</summary> /// <param name="player"></param> /// <returns>true if not overriden or if the player meets the transformation requirements; otherwise false.</returns> public virtual bool MeetsTransformationRequirements(MyPlayer player) => UnlockRequirements.Invoke(player);
public virtual bool MeetsSelectionRequirements(MyPlayer player) => PlayerHasTransformation(player) && UnlockRequirements.Invoke(player);