本文整理汇总了C#中Zone.Create方法的典型用法代码示例。如果您正苦于以下问题:C# Zone.Create方法的具体用法?C# Zone.Create怎么用?C# Zone.Create使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Zone
的用法示例。
在下文中一共展示了Zone.Create方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: LoadZones
static void LoadZones( [NotNull] Map mapFile, [NotNull] OpticraftDataStore dataStore ) {
if( mapFile == null ) throw new ArgumentNullException( "mapFile" );
if( dataStore == null ) throw new ArgumentNullException( "dataStore" );
if( dataStore.Zones.Length == 0 ) {
return;
}
// TODO: investigate side effects
PlayerInfo conversionPlayer = new PlayerInfo( "OpticraftConversion", RankManager.HighestRank, true, RankChangeType.AutoPromoted );
foreach( OpticraftZone optiZone in dataStore.Zones ) {
// Make zone
Zone fZone = new Zone {
Name = optiZone.Name,
};
BoundingBox bBox = new BoundingBox( optiZone.X1, optiZone.Y1, optiZone.Z1, optiZone.X2, optiZone.X2, optiZone.Z2 );
fZone.Create( bBox, conversionPlayer );
// Min rank
Rank minRank = Rank.Parse( optiZone.MinimumRank );
if( minRank != null ) {
fZone.Controller.MinRank = minRank;
}
foreach( string playerName in optiZone.Builders ) {
// These are all lower case names
if( !Player.IsValidName( playerName ) ) {
continue;
}
PlayerInfo pInfo = PlayerDB.FindPlayerInfoExact( playerName );
if( pInfo != null ) {
fZone.Controller.Include( pInfo );
}
}
// Excluded names are not as of yet implemented in opticraft, but will be soon
// So add compatibility for them when they arrive.
if( optiZone.Excluded != null ) {
foreach( string playerName in optiZone.Excluded ) {
// These are all lower case names
if( !Player.IsValidName( playerName ) ) {
continue;
}
PlayerInfo pInfo = PlayerDB.FindPlayerInfoExact( playerName );
if( pInfo != null ) {
fZone.Controller.Exclude( pInfo );
}
}
}
mapFile.Zones.Add( fZone );
}
}