本文整理汇总了C#中Sample.TestCapabilities方法的典型用法代码示例。如果您正苦于以下问题:C# Sample.TestCapabilities方法的具体用法?C# Sample.TestCapabilities怎么用?C# Sample.TestCapabilities使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Sample
的用法示例。
在下文中一共展示了Sample.TestCapabilities方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: RunSample
/// <summary>
/// Quits the current sample and starts a new one.
/// </summary>
/// <param name="s"></param>
public virtual void RunSample( Sample s )
{
if ( CurrentSample != null )
{
CurrentSample.Shutdown(); // quit current sample
this.IsSamplePaused = false; // don't pause the next sample
}
RenderWindow.RemoveAllViewports(); // wipe viewports
if ( s != null )
{
// retrieve sample's required plugins and currently installed plugins
var ip = PluginManager.Instance.InstalledPlugins;
IList<String> rp = s.RequiredPlugins;
string errorMsg = String.Empty;
foreach ( string pluginName in rp )
{
bool found = false;
//try to find the required plugin in the current installed plugins
foreach ( IPlugin plugin in ip )
{
//if(plugin.na
found = true;
break;
}
if ( !found ) // throw an exception if a plugin is not found
{
String desc = String.Format( "Sample requires plugin: {0}", pluginName );
Log( desc );
errorMsg += desc + Environment.NewLine;
}
}
if ( errorMsg != String.Empty )
{
throw new AxiomException( errorMsg );
}
// throw an exception if samples requires the use of another renderer
errorMsg = String.Empty;
String rrs = s.RequiredRenderSystem;
if ( !String.IsNullOrEmpty( rrs ) && rrs != this.Root.RenderSystem.Name )
{
String desc = "Sample only runs with renderer: {0}";
throw new AxiomException( desc, rrs );
}
// test system capabilities against sample requirements
s.TestCapabilities( this.Root.RenderSystem.Capabilities );
s.Setup( RenderWindow, this.Keyboard, this.Mouse ); // start new sample
}
CurrentSample = s;
}