예제 #1
0
 public override void LoadReference(ResourceUtilReader resource_reader)
 {
     short.TryParse(resource_reader.GetValueByCol("ID"), out this.ID);
     this.Name     = resource_reader.GetValueByCol("Name");
     this.FileName = resource_reader.GetValueByCol("FileName");
     int.TryParse(resource_reader.GetValueByCol("Width"), out this.Width);
     int.TryParse(resource_reader.GetValueByCol("Height"), out this.Height);
 }
예제 #2
0
    //通过reader读取一条记录并添加到表里
    private bool ReadOneReference(ResourceUtilReader reader)
    {
        //判断ID
        T   reference = null;
        int refId     = reader.GetIntValueByCol("id");

        if (!this.container_.TryGetValue(refId, out reference))
        {
            reference = Activator.CreateInstance <T>();
        }
        reference.LoadReference(reader);

        this.container_[refId] = reference;
        return(true);
    }
예제 #3
0
    public void ReloadDataFromFile(string path, int editionType, bool crypto)
    {
        this.container_.Clear();
        using (ResourceUtilReader reader = new ResourceUtilReader(path, typeof(T).Name.Replace("Reference", ""), editionType, crypto))
        {
            while (reader.GetNextLine())
            {
                if (!ReadOneReference(reader))
                {
                    break;
                }
            }
        }


        OnAfterReload();
    }
예제 #4
0
 public virtual void LoadReference(ResourceUtilReader resource_reader)
 {
 }