示例#1
0
 public void LoadTaskTemplate(UInt16 Id, TaskTemplate task)
 {
     lock (this)
     {
         string pathname = ServerFrame.Support.IFileConfig.Instance.DefaultTaskTemplateDirectory + "/" + Id.ToString() + ".task";
         if (ServerFrame.Config.IConfigurator.FillProperty(task, pathname))
         {
             mTasks[Id] = task;
         }
         else
         {
             Log.FileLog.WriteLine(string.Format("LoadTaskTemplate {0} failed", Id));
         }
     }
 }
示例#2
0
        public void LoadAllTemplate()
        {
            var files = System.IO.Directory.EnumerateFiles(ServerFrame.Support.IFileManager.Instance.Root + "ZeusGame/Template/Task");

            foreach (var i in files)
            {
                if (i.Substring(i.Length - 5, 5) == ".task")
                {
                    string fullPathname = i;
                    var    item         = new TaskTemplate();
                    if (ServerFrame.Config.IConfigurator.FillProperty(item, ServerFrame.Support.IFileManager.Instance._GetRelativePathFromAbsPath(fullPathname)))
                    {
                        mTasks[item.TaskId] = item;
                    }
                }
            }
        }
示例#3
0
 public TaskTemplate GetTask(UInt16 id, bool bForceLoad)
 {
     lock (this)
     {
         if (mTasks[id] == null)
         {
             mTasks[id] = new TaskTemplate();
             LoadTaskTemplate(id, mTasks[id]);
         }
         else
         {
             if (bForceLoad)
             {
                 LoadTaskTemplate(id, mTasks[id]);
             }
         }
         return(mTasks[id]);
     }
 }