C# 클래스 Nanook.QueenBee.Parser.QbFile

파일 보기 프로젝트 열기: Nanook/Queen-Bee 1 사용 예제들

공개 메소드들

메소드 설명
AddItem ( QbItemBase item ) : void
AlignPointers ( ) : void
CreateGenericArrayItem ( QbItemBase parent ) : GenericQbItem

Creates an array item based on the data type of the parent.

CreateQbItemType ( QbFile qbFile, QbItemType type ) : QbItemBase
CreateQbItemType ( QbFile qbFile, QbItemType type, QbFormat qbFormat ) : QbItemBase
FindItem ( QbItemType type, bool recursive ) : QbItemBase
FindItem ( QbKey key, bool recursive ) : QbItemBase
FindItem ( bool recursive, Predicate match ) : QbItemBase
FormatBadPointerExceptionMessage ( object sender, uint streamPos, uint pointer ) : string
FormatIsValidErrorMessage ( QbItemBase item, IsValidReturnType errorType ) : string
FormatWriteLengthExceptionMessage ( object sender, uint start, uint end, uint length ) : string
GetGenericItems ( QbItemBase item ) : List

Analyse the attributes on the item and return the editable items

InsertItem ( QbItemBase item, QbItemBase sibling, bool beforeAfter ) : void

Insert a new item before or after the sibling item.

IsValid ( ) : QbItemBase
QbFile ( Stream stream, PakFormat pakFormat ) : System
QbFile ( Stream stream, string debugFileContents, PakFormat pakFormat ) : System
QbFile ( string filename, PakFormat pakFormat ) : System
QbFile ( string filename, string debugFilename, PakFormat pakFormat ) : System
QbFile ( string filename, string debugFileContents, Stream stream, PakFormat pakFormat ) : System

Open using a stream, filename is just for reference. The stream must start with the file (the position is depended on)

RemoveItem ( QbItemBase item ) : void

Remove the specified item from this items children

SetGenericItems ( QbItemBase item, List gItems ) : void
SetNewFileId ( ) : void

The FileId is based on the filename, this will recalculate it, GH3 has a bug where the first character is missing from the path. The FileId doesn't appear to affect the game, it may just need to be unique

SupportedChildTypes ( QbItemType parent ) : QbItemType[]
SupportsChild ( QbItemType parent, QbItemType child ) : bool
Write ( Stream s ) : void
Write ( string filename ) : void

비공개 메소드들

메소드 설명
LookupDebugName ( uint debugCrc ) : string
LookupDebugName ( uint debugCrc, bool allowUserQbkeyLookup ) : string
QbFile ( ) : System
QbFile ( string qbFilename, PakFormat pakFormat, uint magic, byte unknownData ) : System

Create a blank QbFile

SearchItems ( QbFile qbFile, List qibs, bool recursive, Predicate match ) : QbItemBase
StreamPos ( Stream stream ) : uint

Subtracts the start offset of the stream from current position

createQbItemType ( QbFile qbFile, QbItemType type, QbFormat qbFormat, bool hasQbFormat ) : QbItemBase
loadDebugFile ( string debugFileContents ) : void
parse ( Stream stream ) : void
recurseIsValid ( QbItemBase item ) : QbItemBase
startLengthCheck ( BinaryEndianWriter bw ) : void
testLengthCheck ( object sender, BinaryEndianWriter bw ) : ApplicationException

메소드 상세

AddItem() 공개 메소드

public AddItem ( QbItemBase item ) : void
item QbItemBase
리턴 void

AlignPointers() 공개 메소드

public AlignPointers ( ) : void
리턴 void

CreateGenericArrayItem() 공개 정적인 메소드

Creates an array item based on the data type of the parent.
public static CreateGenericArrayItem ( QbItemBase parent ) : GenericQbItem
parent QbItemBase Must be a simple array type
리턴 GenericQbItem

CreateQbItemType() 공개 정적인 메소드

public static CreateQbItemType ( QbFile qbFile, QbItemType type ) : QbItemBase
qbFile QbFile
type QbItemType
리턴 QbItemBase

CreateQbItemType() 공개 정적인 메소드

public static CreateQbItemType ( QbFile qbFile, QbItemType type, QbFormat qbFormat ) : QbItemBase
qbFile QbFile
type QbItemType
qbFormat QbFormat
리턴 QbItemBase

FindItem() 공개 메소드

public FindItem ( QbItemType type, bool recursive ) : QbItemBase
type QbItemType
recursive bool
리턴 QbItemBase

FindItem() 공개 메소드

public FindItem ( QbKey key, bool recursive ) : QbItemBase
key QbKey
recursive bool
리턴 QbItemBase

FindItem() 공개 메소드

public FindItem ( bool recursive, Predicate match ) : QbItemBase
recursive bool
match Predicate
리턴 QbItemBase

FormatBadPointerExceptionMessage() 공개 정적인 메소드

public static FormatBadPointerExceptionMessage ( object sender, uint streamPos, uint pointer ) : string
sender object
streamPos uint
pointer uint
리턴 string

FormatIsValidErrorMessage() 공개 정적인 메소드

public static FormatIsValidErrorMessage ( QbItemBase item, IsValidReturnType errorType ) : string
item QbItemBase
errorType IsValidReturnType
리턴 string

FormatWriteLengthExceptionMessage() 공개 정적인 메소드

public static FormatWriteLengthExceptionMessage ( object sender, uint start, uint end, uint length ) : string
sender object
start uint
end uint
length uint
리턴 string

GetGenericItems() 공개 정적인 메소드

Analyse the attributes on the item and return the editable items
public static GetGenericItems ( QbItemBase item ) : List
item QbItemBase
리턴 List

InsertItem() 공개 메소드

Insert a new item before or after the sibling item.
public InsertItem ( QbItemBase item, QbItemBase sibling, bool beforeAfter ) : void
item QbItemBase Item to insert.
sibling QbItemBase
beforeAfter bool Insert before=True or after=False
리턴 void

IsValid() 공개 메소드

public IsValid ( ) : QbItemBase
리턴 QbItemBase

QbFile() 공개 메소드

public QbFile ( Stream stream, PakFormat pakFormat ) : System
stream Stream
pakFormat PakFormat
리턴 System

QbFile() 공개 메소드

public QbFile ( Stream stream, string debugFileContents, PakFormat pakFormat ) : System
stream Stream
debugFileContents string
pakFormat PakFormat
리턴 System

QbFile() 공개 메소드

public QbFile ( string filename, PakFormat pakFormat ) : System
filename string
pakFormat PakFormat
리턴 System

QbFile() 공개 메소드

public QbFile ( string filename, string debugFilename, PakFormat pakFormat ) : System
filename string
debugFilename string
pakFormat PakFormat
리턴 System

QbFile() 공개 메소드

Open using a stream, filename is just for reference. The stream must start with the file (the position is depended on)
public QbFile ( string filename, string debugFileContents, Stream stream, PakFormat pakFormat ) : System
filename string
debugFileContents string
stream Stream
pakFormat PakFormat
리턴 System

RemoveItem() 공개 메소드

Remove the specified item from this items children
public RemoveItem ( QbItemBase item ) : void
item QbItemBase Item to remove
리턴 void

SetGenericItems() 공개 정적인 메소드

public static SetGenericItems ( QbItemBase item, List gItems ) : void
item QbItemBase
gItems List
리턴 void

SetNewFileId() 공개 메소드

The FileId is based on the filename, this will recalculate it, GH3 has a bug where the first character is missing from the path. The FileId doesn't appear to affect the game, it may just need to be unique
public SetNewFileId ( ) : void
리턴 void

SupportedChildTypes() 공개 정적인 메소드

public static SupportedChildTypes ( QbItemType parent ) : QbItemType[]
parent QbItemType
리턴 QbItemType[]

SupportsChild() 공개 정적인 메소드

public static SupportsChild ( QbItemType parent, QbItemType child ) : bool
parent QbItemType
child QbItemType
리턴 bool

Write() 공개 메소드

public Write ( Stream s ) : void
s Stream
리턴 void

Write() 공개 메소드

public Write ( string filename ) : void
filename string
리턴 void