利用UE的workdfile和函數列表兩個功能,可以很方便的實現一個代碼瀏覽器.下面就是利用這個兩個功能實現的INI瀏覽器的wordfile文件和函數列表截圖.
- /L14"Command and Conquer Generals Zero Hour INI" INI_LANG Noquote Line Comment = ; File Extensions = ini
- /TGBegin "CommandSets"
- /TGFindStr = "%CommandSet[ ^t]^(*^)$"
- /TGEnd
- /TGBegin "Weapons"
- /TGFindStr = "%Weapon[ ^t]^(*^)$"
- /TGEnd
- /TGBegin "WindowTransitions"
- /TGFindStr = "%WindowTransition[ ^t]^(*^)$"
- /TGEnd
- /TGBegin "Campaigns"
- /TGFindStr = "%Campaign[ ^t]^(*^)$"
- /TGBegin "Mission"
- /TGFindStr = "%[ ^t]+Mission[ ^t]+^(?+^)"
- /TGFindBStart = "%Campaign"
- /TGFindBEnd = "%END"
- /TGEnd
- /TGEnd
- /TGBegin "ChallengeGenerals"
- /TGFindStr = "%ChallengeGenerals$"
- /TGBegin "GeneralPersonas"
- /TGFindStr = "%[ ^t]+^(GeneralPersona[0-9]+^)"
- /TGFindBStart = "%ChallengeGenerals"
- /TGFindBEnd = "%END"
- /TGBegin "PlayerTemplate"
- /TGFindStr = "%[ ^t]+PlayerTemplate[ ^t]+=[ ^t]+Faction^([a-zA-Z]+^)"
- /TGFindBStart = "%[ ^t]+GeneralPersona[0-9]+"
- /TGFindBEnd = "%[ ^t]+END"
- /TGEnd
- /TGEnd
- /TGEnd
- /TGBegin "SpecialPowers"
- /TGFindStr = "%SpecialPower[ ^t]+[a-zA-Z_0-9]+$"
- /TGBegin "ReloadTime"
- /TGFindStr = "%[ ^t]+ReloadTime[ ^t]+=[ ^t]+^([0-9]+^)*$"
- /TGFindBStart = "%SpecialPower"
- /TGFindBEnd = "%End"
- /TGEnd
- /TGEnd
- /TGBegin "ObjectCreationLists"
- /TGFindStr = "%ObjectCreationList[ ^t]+[a-zA-Z_0-9]+$"
- /TGBegin "Transport"
- /TGFindStr = "%[ ^t]+Transport[ ^t]+=^(?+^)$"
- /TGFindBStart = "%ObjectCreationList"
- /TGFindBEnd = "%End"
- /TGEnd
- /TGBegin "FormationSize"
- /TGFindStr = "%[ ^t]+FormationSize[ ^t]+=^(?+^)$"
- /TGFindBStart = "%ObjectCreationList"
- /TGFindBEnd = "%End"
- /TGEnd
- /TGBegin "FormationSpacing"
- /TGFindStr = "%[ ^t]+FormationSpacing[ ^t]+=^(?+^)$"
- /TGFindBStart = "%ObjectCreationList"
- /TGFindBEnd = "%End"
- /TGEnd
- /TGEnd
- /TGBegin "Armors"
- /TGFindStr = "%Armor[ ^t]+[a-zA-Z_0-9]+$"
- /TGEnd
- /TGBegin "Sciences"
- /TGFindStr = "%Science[ ^t]+[a-zA-Z_0-9]+$"
- /TGBegin "PrerequisiteSciences"
- /TGFindStr = "%[ ^t]+PrerequisiteSciences[ ^t]+=^(?+^)$"
- /TGFindBStart = "%Science"
- /TGFindBEnd = "%End"
- /TGEnd
- /TGEnd
- /TGBegin "Locomotors"
- /TGFindStr = "%Locomotor[ ^t]+?+$"
- /TGBegin "Speed"
- /TGFindStr = "%[ ^t]+Speed[ ^t]+=^(?+^)$"
- /TGFindBStart = "%Locomotor"
- /TGFindBEnd = "%End"
- /TGEnd
- /TGBegin "Surfaces"
- /TGFindStr = "%[ ^t]+Surfaces[ ^t]+=^(?+^)"
- /TGFindBStart = "%Locomotor"
- /TGFindBEnd = "%End"
- /TGEnd
- /TGEnd
- /TGBegin "CommandButtons"
- /TGFindStr = "%CommandButton[ ^t]+[a-zA-Z_0-9]+$"
- /TGEnd
- /TGBegin "Objects"
- /TGFindStr = "%Object[ ^t]+^([a-zA-Z_0-9]+^);++?+"
- /TGBegin "DisplayName"
- /TGFindStr = "%[ ^t]+DisplayName[ ^t]+=[ ^t]+^([a-zA-Z_:]+^)"
- /TGFindBStart = "%Object"
- /TGFindBEnd = "%End"
- /TGEnd
- /TGBegin "Behaviors"
- /TGFindStr = "%[ ^t]+Behavior[ ^t]+=[ ^t]+^(?+^)"
- /TGFindBStart = "%Object"
- /TGFindBEnd = "%End"
- /TGBegin "SpecialPowerTemplate"
- /TGFindStr = "%[ ^t]+SpecialPowerTemplate[ ^t]+=[ ^t]+^(?+^)"
- /TGFindBStart = "%[ ^t]+Behavior?+"
- /TGFindBEnd = "%[ ^t]+End"
- /TGEnd
- /TGEnd
- /TGBegin "Weapons"
- /TGFindStr = "%[ ^t]+Weapon[ ^t]+=^(?+^)"
- /TGFindBStart = "%Object"
- /TGFindBEnd = "%End"
- /TGEnd
- /TGBegin "Locomotors"
- /TGFindStr = "%[ ^t]+Locomotor[ ^t]+=^(?+^)"
- /TGFindBStart = "%Object"
- /TGFindBEnd = "%End"
- /TGEnd
- /TGEnd
- /Colors = 0,8421376,8421376,8421504,255,
- /Colors Back = 16777215,16777215,16777215,16777215,16777215,
- /Colors Auto Back = 1,1,1,1,1,
- /Font Style = 0,0,0,0,0,
- /Delimiters = ~@$^&*( )+=|\{};"'<> ,
- /Open Brace Strings = "{" "(" "[" "<"
- /Close Brace Strings = "}" ")" "]" ">"
- //Open Fold Strings = "WeaponSet" "Object" "ObjectCreationList"
- //Close Fold Strings = "End"
- /C1"SpecialPower"
- SpecialPower
- End
- Armor
- Object
- ArmorSet
- UnitSpecificSounds
- Prerequisites
- Behavior
- Body
- Turret
- WeaponSet
- ConditionState
- Draw
- ObjectCreationList
- CreateObject
- DefaultConditionState
- CreateDebris
- DeliverPayload
- Attack
- DeliveryDecal
- CommandSet
- Science
- Locomotor
- Weapon
- WindowTransition
- END
- Window
- Campaign
- Mission
- ClientUpdate
- GeneralPersona0
- GeneralPersona1
- GeneralPersona2
- GeneralPersona3
- GeneralPersona4
- GeneralPersona5
- GeneralPersona6
- GeneralPersona7
- GeneralPersona8
- GeneralPersona9
- GeneralPersona10
- GeneralPersona11
- GeneralPersona12
- GeneralPersona13
- GeneralPersona14
- ChallengeGenerals