Client LuaCsForBarotrauma
SkillPrefab.cs
1 using Microsoft.Xna.Framework;
2 using System.Xml.Linq;
3 
4 namespace Barotrauma
5 {
6  class SkillPrefab
7  {
8  public readonly Identifier Identifier;
9 
10  public Range<float> LevelRange { get; private set; }
11 
15  public readonly float PriceMultiplier;
16 
17  public bool IsPrimarySkill { get; }
18 
19  public SkillPrefab(ContentXElement element)
20  {
21  Identifier = element.GetAttributeIdentifier("identifier", "");
22  PriceMultiplier = element.GetAttributeFloat("pricemultiplier", 25.0f);
23  var levelString = element.GetAttributeString("level", "");
24  if (levelString.Contains(","))
25  {
26  var rangeVector2 = XMLExtensions.ParseVector2(levelString, false);
27  LevelRange = new Range<float>(rangeVector2.X, rangeVector2.Y);
28  }
29  else
30  {
31  float skillLevel = float.Parse(levelString, System.Globalization.CultureInfo.InvariantCulture);
32  LevelRange = new Range<float>(skillLevel, skillLevel);
33  }
34 
35  IsPrimarySkill = element.GetAttributeBool("primary", false);
36  }
37  }
38 }
string? GetAttributeString(string key, string? def)
float GetAttributeFloat(string key, float def)
bool GetAttributeBool(string key, bool def)
Identifier GetAttributeIdentifier(string key, string def)
readonly float PriceMultiplier
How much this skill affects characters' hiring cost
Definition: SkillPrefab.cs:15
SkillPrefab(ContentXElement element)
Definition: SkillPrefab.cs:19
readonly Identifier Identifier
Definition: SkillPrefab.cs:8
Range< float > LevelRange
Definition: SkillPrefab.cs:10