public EntityNPCBase(XElement entityNPCBaseElement) : base(entityNPCBaseElement)
        {
            Name    = entityNPCBaseElement.Element("name").Value;
            Faction = (FACTION)Enum.Parse(typeof(FACTION), entityNPCBaseElement.Element("faction").Value);

            // keywords
            foreach (XElement keywordElement in entityNPCBaseElement.Element("keywords").Elements("keyword"))
            {
                Keywords.Add(keywordElement.Value);
            }

            // behavior
            var behaviorNode = entityNPCBaseElement.Element("behavior");

            if (behaviorNode != null)
            {
                foreach (XElement behaviorActionElement in behaviorNode.Elements())
                {
                    ACTION_ENUM action     = ParsedInput.StringToAction[behaviorActionElement.Name.LocalName];
                    int         percentage = int.Parse(behaviorActionElement.Value);
                    Behavior.PossibleActions.Add(new EntityBehaviorAction(action, percentage));
                }
            }
        }
Exemple #2
0
 public EntityBehaviorAction(ACTION_ENUM action, int percentageChance)
 {
     Action           = action;
     PercentageChance = percentageChance;
 }