public void RemoveFeature(Program.ScriptFeatures feature_removal)
 {
     if (HasFeatureAsEnum(feature_removal))
     {
         EnabledScriptFeatures.Remove(feature_removal);
     }
 }
 public void AddFeature(Program.ScriptFeatures feature_addition)
 {
     if (!HasFeatureAsEnum(feature_addition))
     {
         EnabledScriptFeatures.Add(feature_addition);
     }
 }
        public bool HasFeatureAsEnum(Program.ScriptFeatures checkfeature)
        {
            bool feature_included = false;
            int  target_index     = SearchFeature(checkfeature);

            if (target_index > -1)
            {
                feature_included = true;
            }
            return(feature_included);
        }
        public List <Program.ScriptFeatures> ConvertFeaturesToLocalEnumList(List <string> LocalStringList)
        {
            List <Program.ScriptFeatures> TempFeatureList = new List <Program.ScriptFeatures>();

            foreach (string s in LocalStringList)
            {
                Program.ScriptFeatures Temp_Enum = enumhelper.Get_Enum(s);
                TempFeatureList.Add(Temp_Enum);
            }
            return(TempFeatureList);
        }
        public int SearchFeature(Program.ScriptFeatures target_feature)
        {
            int target_index  = -1;
            int current_index = 0;

            foreach (Program.ScriptFeatures f in EnabledScriptFeatures)
            {
                if (f == target_feature)
                {
                    //end the search for the index in our list
                    target_index = current_index;
                    break;
                }
            }
            return(target_index);
        }
コード例 #6
0
        //Helper function to basically search script lists
        //and extract all of one type of script.
        public List <ScriptRepresentation> MakeScriptListWithFeature(List <ScriptRepresentation> Ilist, Program.ScriptFeatures TargetFeature)
        {
            List <ScriptRepresentation> I_returner = new List <ScriptRepresentation>();


            foreach (ScriptRepresentation n in Ilist)
            {
                if (n.FeaturesList.Contains(TargetFeature))
                {
                    I_returner.Add(n);
                }
            }
            return(I_returner);
        }
コード例 #7
0
        //If a Script Representation with the filename of NoProperty is returned
        //We will omit it and assume we couldn't find an induction
        //And return to randomizing =p
        public ScriptRepresentation FindScriptWithFeature(List <ScriptRepresentation> Ilist, Program.ScriptFeatures TargetFeature)
        {
            ScriptRepresentation I_returner = new ScriptRepresentation();

            I_returner.FileName = "NoProperty";
            foreach (ScriptRepresentation n in Ilist)
            {
                if (n.FeaturesList.Contains(TargetFeature))
                {
                    //We found a script with the target feature -- cancel search.
                    I_returner = n;
                    break;
                }
            }
            return(I_returner);
        }
コード例 #8
0
 public void RemoveScriptsWithFeature(List <ScriptRepresentation> Ilist, Program.ScriptFeatures TargetFeature)
 {
     Ilist.RemoveAll((Item => Item.FeaturesList.Contains(TargetFeature)));
 }
コード例 #9
0
 public Program.ScriptFeatures Get_Enum(string input)
 {
     Program.ScriptFeatures TempFeature = (Program.ScriptFeatures)Enum.Parse(typeof(Program.ScriptFeatures), input);
     return(TempFeature);
 }