예제 #1
0
파일: CriFs.cs 프로젝트: Dio-Deus/solitude
    public CriFsLoadFileRequest(CriFsBinder srcBinder, string path, CriFsRequest.DoneDelegate doneDelegate, int readUnitSize)
    {
        /* パスの保存 */
        this.path = path;

        /* 完了コールバック指定 */
        this.doneDelegate = doneDelegate;

        /* readUnitSizeの保存 */
        this.readUnitSize = readUnitSize;

        /* ファイルのバインド要求 */
        if (srcBinder == null) {
            this.newBinder = new CriFsBinder();
            this.refBinder = this.newBinder;
            this.bindId = this.newBinder.BindFile(srcBinder, path);
            this.phase = Phase.Bind;
        } else {
            this.newBinder = null;
            this.refBinder = srcBinder;
            this.fileSize = srcBinder.GetFileSize(path);
            if (this.fileSize < 0) {
                this.phase = Phase.Error;
            } else {
                this.phase = Phase.Load;
            }
        }
    }