/// <summary>
 /// Create a custom task and calculate cost of the action automatically without having to pass cost to the meta data. Saves a lot of code space and memory.
 /// </summary>
 /// <param name="objTask"></param>
 /// <param name="arrayData"></param>
 /// <param name="TaskMetaData"></param>
 public CustomTask(ObjectTask objTask, object[] arrayData, TaskMetaData TaskMetaData)
 {
     objectTask = objTask;
     objectParameterDataArray = arrayData;
     this.taskMetaData        = TaskMetaData;
     this.taskMetaData.calculateTaskCost((TileNode)arrayData[0]);
 }
 /// <summary>
 /// Create a custom task and calculate cost of the action automatically without having to pass cost to the meta data. Saves a lot of code space and memory.
 /// </summary>
 /// <param name="objTask"></param>
 /// <param name="arrayData"></param>
 /// <param name="TaskMetaData"></param>
 public CustomTask(ObjectTask objTask, object[] arrayData, TaskMetaData TaskMetaData)
 {
     objectTask = objTask;
     objectParameterDataArray = arrayData;
     this.taskMetaData        = TaskMetaData;
     try
     {
         //  ModCore.CoreMonitor.Log("ONE COST");
         this.taskMetaData.calculateTaskCost((TileNode)arrayData[0], false); //Used for pathing to a single tile in a location
     }
     catch (Exception err)
     {
         //  ModCore.CoreMonitor.Log(err.ToString());
     }
     try
     {
         // ModCore.CoreMonitor.Log("TWO COST");
         this.taskMetaData.calculateTaskCost((List <TileNode>)arrayData[0], false); //used to calculate best path stuff
     }
     catch (Exception err)
     {
         //  ModCore.CoreMonitor.Log(err.ToString());
     }
     try
     {
         // ModCore.CoreMonitor.Log("THREE COST");
         this.taskMetaData.calculateTaskCost((List <List <TileNode> >)arrayData[0], false); //and this one is for multiple paths.
     }
     catch (Exception err)
     {
         //ModCore.CoreMonitor.Log(err.ToString());
     }
 }
Exemple #3
0
        static bool FindObject(string name, ObjectTask task)
        {
            switch (task.findMode)
            {
            case ObjectFindMode.Equals:
                return(name == task.name);

            case ObjectFindMode.Contains:
                return(name.Contains(task.name));

            case ObjectFindMode.StartsWith:
                return(name.StartsWith(task.name));

            case ObjectFindMode.EndsWith:
                return(name.EndsWith(task.name));
            }

            return(false);
        }