本文整理匯總了C#中UnityEditor.XCodeEditor.PBXList類的典型用法代碼示例。如果您正苦於以下問題:C# PBXList類的具體用法?C# PBXList怎麽用?C# PBXList使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。
PBXList類屬於UnityEditor.XCodeEditor命名空間,在下文中一共展示了PBXList類的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。
示例1: AddSearchPaths
protected bool AddSearchPaths( PBXList paths, string key, bool recursive = true )
{
bool modified = false;
if( !ContainsKey( BUILDSETTINGS_KEY ) )
this.Add( BUILDSETTINGS_KEY, new PBXDictionary() );
foreach( string path in paths ) {
string currentPath = path;
if( recursive && !path.EndsWith( "/**" ) )
currentPath += "/**";
// Debug.Log( "adding: " + currentPath );
if( !((PBXDictionary)_data[BUILDSETTINGS_KEY]).ContainsKey( key ) ) {
((PBXDictionary)_data[BUILDSETTINGS_KEY]).Add( key, new PBXList() );
}
else if( ((PBXDictionary)_data[BUILDSETTINGS_KEY])[key] is string ) {
PBXList list = new PBXList();
list.Add( ((PBXDictionary)_data[BUILDSETTINGS_KEY])[key] );
((PBXDictionary)_data[BUILDSETTINGS_KEY])[key] = list;
}
currentPath = "\\\"" + currentPath + "\\\"";
if( !((PBXList)((PBXDictionary)_data[BUILDSETTINGS_KEY])[key]).Contains( currentPath ) ) {
((PBXList)((PBXDictionary)_data[BUILDSETTINGS_KEY])[key]).Add( currentPath );
modified = true;
}
}
return modified;
}
示例2: AddOtherCFlags
public bool AddOtherCFlags( PBXList flags )
{
Debug.Log( "INIZIO 2" );
bool modified = false;
if( !ContainsKey( BUILDSETTINGS_KEY ) )
this.Add( BUILDSETTINGS_KEY, new PBXDictionary() );
foreach( string flag in flags ) {
if( !((PBXDictionary)_data[BUILDSETTINGS_KEY]).ContainsKey( OTHER_C_FLAGS_KEY ) ) {
((PBXDictionary)_data[BUILDSETTINGS_KEY]).Add( OTHER_C_FLAGS_KEY, new PBXList() );
}
else if ( ((PBXDictionary)_data[BUILDSETTINGS_KEY])[ OTHER_C_FLAGS_KEY ] is string ) {
string tempString = (string)((PBXDictionary)_data[BUILDSETTINGS_KEY])[OTHER_C_FLAGS_KEY];
((PBXDictionary)_data[BUILDSETTINGS_KEY])[ OTHER_C_FLAGS_KEY ] = new PBXList();
((PBXList)((PBXDictionary)_data[BUILDSETTINGS_KEY])[OTHER_C_FLAGS_KEY]).Add( tempString );
}
if( !((PBXList)((PBXDictionary)_data[BUILDSETTINGS_KEY])[OTHER_C_FLAGS_KEY]).Contains( flag ) ) {
((PBXList)((PBXDictionary)_data[BUILDSETTINGS_KEY])[OTHER_C_FLAGS_KEY]).Add( flag );
modified = true;
}
}
return modified;
}
示例3: SetWeakLink
public bool SetWeakLink( bool weak = false )
{
PBXDictionary settings = null;
PBXList attributes = null;
if( !_data.ContainsKey( SETTINGS_KEY ) ) {
if( weak ) {
attributes = new PBXList();
attributes.internalNewlines = false;
attributes.Add( WEAK_VALUE );
settings = new PBXDictionary();
settings.Add( ATTRIBUTES_KEY, attributes );
settings.internalNewlines = false;
this.Add( SETTINGS_KEY, settings );
}
return true;
}
settings = _data[ SETTINGS_KEY ] as PBXDictionary;
settings.internalNewlines = false;
if( !settings.ContainsKey( ATTRIBUTES_KEY ) ) {
if( weak ) {
attributes = new PBXList();
attributes.internalNewlines = false;
attributes.Add( WEAK_VALUE );
settings.Add( ATTRIBUTES_KEY, attributes );
return true;
}
else {
return false;
}
}
else {
attributes = settings[ ATTRIBUTES_KEY ] as PBXList;
}
attributes.internalNewlines = false;
if( weak ) {
attributes.Add( WEAK_VALUE );
}
else {
attributes.Remove( WEAK_VALUE );
}
settings.Add( ATTRIBUTES_KEY, attributes );
this.Add( SETTINGS_KEY, settings );
return true;
}
示例4: AddSearchPaths
protected bool AddSearchPaths( PBXList paths, string key, bool recursive = true, bool quoted = false ) //we want no quoting whenever we can get away with it
{
//Debug.Log ("AddSearchPaths " + paths + key + (recursive?" recursive":"") + " " + (quoted?" quoted":""));
bool modified = false;
if( !ContainsKey( BUILDSETTINGS_KEY ) )
this.Add( BUILDSETTINGS_KEY, new PBXSortedDictionary() );
foreach( string path in paths ) {
string currentPath = path;
//Debug.Log ("path " + currentPath);
if( !((PBXDictionary)_data[BUILDSETTINGS_KEY]).ContainsKey( key ) ) {
((PBXDictionary)_data[BUILDSETTINGS_KEY]).Add( key, new PBXList() );
}
else if( ((PBXDictionary)_data[BUILDSETTINGS_KEY])[key] is string ) {
PBXList list = new PBXList();
list.Add( ((PBXDictionary)_data[BUILDSETTINGS_KEY])[key] );
((PBXDictionary)_data[BUILDSETTINGS_KEY])[key] = list;
}
//Xcode uses space as the delimiter here, so if there's a space in the filename, we *must* quote. Escaping with slash may work when you are in the Xcode UI, in some situations, but it doesn't work here.
if (currentPath.Contains(@" ")) quoted = true;
if (quoted) {
//if it ends in "/**", it wants to be recursive, and the "/**" needs to be _outside_ the quotes
if (currentPath.EndsWith("/**")) {
currentPath = "\\\"" + currentPath.Replace("/**", "\\\"/**");
} else {
currentPath = "\\\"" + currentPath + "\\\"";
}
}
//Debug.Log ("currentPath = " + currentPath);
if( !((PBXList)((PBXDictionary)_data[BUILDSETTINGS_KEY])[key]).Contains( currentPath ) ) {
((PBXList)((PBXDictionary)_data[BUILDSETTINGS_KEY])[key]).Add( currentPath );
modified = true;
}
}
return modified;
}
示例5: ParseArray
private PBXList ParseArray()
{
PBXList list = new PBXList();
bool complete = false;
while( !complete ) {
switch( NextToken() ) {
case END_OF_FILE:
Debug.Log( "Error: Reached end of file inside a list: " + list );
complete = true;
break;
case ARRAY_END_TOKEN:
complete = true;
break;
case ARRAY_ITEM_DELIMITER_TOKEN:
break;
default:
StepBackward();
list.Add( ParseValue() );
break;
}
}
return list;
}
示例6: AddHeaderSearchPaths
public bool AddHeaderSearchPaths(PBXList paths)
{
Debug.Log("AddHeaderSearchPaths " + paths);
foreach (KeyValuePair<string, XCBuildConfiguration> buildConfig in buildConfigurations)
{
buildConfig.Value.AddHeaderSearchPaths(paths);
}
modified = true;
return modified;
}
示例7: AddFrameworkSearchPaths
public bool AddFrameworkSearchPaths(PBXList paths, bool recursive = true)
{
return this.AddSearchPaths(paths, FRAMEWORK_SEARCH_PATHS_KEY, recursive);
}
示例8: AddLibrarySearchPaths
public bool AddLibrarySearchPaths( PBXList paths, bool recursive = true )
{
return this.AddSearchPaths( paths, LIBRARY_SEARCH_PATHS_KEY, recursive );
}
示例9: AddHeaderSearchPaths
public bool AddHeaderSearchPaths( PBXList paths, bool recursive = true )
{
return this.AddSearchPaths( paths, HEADER_SEARCH_PATHS_KEY, recursive );
}
示例10: overwriteBuildSetting
public bool overwriteBuildSetting(string settingName, string settingValue) {
Debug.Log ("overwriteBuildSetting " + settingName + " " + settingValue);
bool modified = false;
if( !ContainsKey( BUILDSETTINGS_KEY ) ) {
Debug.Log ("creating key " + BUILDSETTINGS_KEY);
this.Add( BUILDSETTINGS_KEY, new PBXSortedDictionary() );
}
if( !((PBXDictionary)_data[BUILDSETTINGS_KEY]).ContainsKey( settingName ) ) {
Debug.Log("adding key " + settingName);
((PBXDictionary)_data[BUILDSETTINGS_KEY]).Add( settingName, new PBXList() );
}
else if ( ((PBXDictionary)_data[BUILDSETTINGS_KEY])[ settingName ] is string ) {
//Debug.Log("key is string:" + settingName);
//string tempString = (string)((PBXDictionary)_data[BUILDSETTINGS_KEY])[settingName];
((PBXDictionary)_data[BUILDSETTINGS_KEY])[ settingName ] = new PBXList();
//((PBXList)((PBXDictionary)_data[BUILDSETTINGS_KEY])[settingName]).Add( tempString );
}
if( !((PBXList)((PBXDictionary)_data[BUILDSETTINGS_KEY])[settingName]).Contains( settingValue ) ) {
Debug.Log("setting " + settingName + " to " + settingValue);
((PBXList)((PBXDictionary)_data[BUILDSETTINGS_KEY])[settingName]).Add( settingValue );
modified = true;
}
return modified;
}
示例11: AddOtherLinkerFlags
public bool AddOtherLinkerFlags( string flag )
{
PBXList flags = new PBXList();
flags.Add( flag );
return AddOtherLinkerFlags( flags );
}
示例12: AddHeaderSearchPaths
public bool AddHeaderSearchPaths( PBXList paths )
{
foreach( KeyValuePair<string, XCBuildConfiguration> buildConfig in buildConfigurations ) {
// Debug.Log( "ADDING HEADER PATH: " + paths + " to " + buildConfig.Key );
buildConfig.Value.AddHeaderSearchPaths( paths );
}
modified = true;
return modified;
}
示例13: AddLibrarySearchPaths
public bool AddLibrarySearchPaths( PBXList paths )
{
foreach( KeyValuePair<string, XCBuildConfiguration> buildConfig in buildConfigurations ) {
buildConfig.Value.AddLibrarySearchPaths( paths );
}
modified = true;
return modified;
}
示例14: AddOtherLinkerFlags
public bool AddOtherLinkerFlags( PBXList flags )
{
foreach( KeyValuePair<string, XCBuildConfiguration> buildConfig in buildConfigurations ) {
buildConfig.Value.AddOtherLinkerFlags( flags );
}
modified = true;
return modified;
}
示例15: AddCodeSignOnCopy
//CodeSignOnCopy
public bool AddCodeSignOnCopy()
{
if( !_data.ContainsKey( SETTINGS_KEY ) )
_data[ SETTINGS_KEY ] = new PBXDictionary();
var settings = _data[ SETTINGS_KEY ] as PBXDictionary;
if( !settings.ContainsKey( ATTRIBUTES_KEY ) ) {
var attributes = new PBXList();
attributes.Add( "CodeSignOnCopy" );
attributes.Add( "RemoveHeadersOnCopy" );
settings.Add( ATTRIBUTES_KEY, attributes );
}
else {
var attributes = settings[ ATTRIBUTES_KEY ] as PBXList;
attributes.Add( "CodeSignOnCopy" );
attributes.Add( "RemoveHeadersOnCopy" );
}
return true;
}