本文整理汇总了C#中ICommandManager.Add方法的典型用法代码示例。如果您正苦于以下问题:C# ICommandManager.Add方法的具体用法?C# ICommandManager.Add怎么用?C# ICommandManager.Add使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ICommandManager
的用法示例。
在下文中一共展示了ICommandManager.Add方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: CommandBindingManagerBase
protected CommandBindingManagerBase(ICommandManager commandManager, InputCommandBinder inputCommandBinder, Game game)
{
mInputCommandBinder = inputCommandBinder;
commandManager.Add(ESCAPE, game.Exit);
commandManager.Add(TAKE_SCREENSHOT, game.TakeScreenshot);
mInputCommandBinder.Bind(Button.Escape, ESCAPE);
mInputCommandBinder.Bind(Button.PrintScreen, TAKE_SCREENSHOT);
}
示例2: CameraCommandManager
public CameraCommandManager(ICommandManager commandManager, InputCommandBinder inputCommandBinder, Stand stand)
{
commandManager.Add(MOVE_FORWARD, () => stand.Position += stand.Direction * mFrameTime * mSpeedFactor);
commandManager.Add(MOVE_BACKWARD, () => stand.Position -= stand.Direction* mFrameTime * mSpeedFactor);
commandManager.Add(STRAFE_RIGHT, () => stand.Position += stand.Direction.Cross(stand.Up) * mFrameTime * mSpeedFactor);
commandManager.Add(STRAFE_LEFT, () => stand.Position -= stand.Direction.Cross(stand.Up) * mFrameTime * mSpeedFactor);
commandManager.Add(UP, () => stand.Position += stand.Up * mFrameTime * mSpeedFactor);
commandManager.Add(DOWN, () => stand.Position -= stand.Up* mFrameTime * mSpeedFactor);
commandManager.Add(SPEEDFACTOR, () => mSpeedFactor = 20);
inputCommandBinder.Bind(Button.LeftShift, SPEEDFACTOR);
inputCommandBinder.Bind(Button.W, MOVE_FORWARD);
inputCommandBinder.Bind(Button.S, MOVE_BACKWARD);
inputCommandBinder.Bind(Button.D, STRAFE_RIGHT);
inputCommandBinder.Bind(Button.A, STRAFE_LEFT);
inputCommandBinder.Bind(Button.R, UP);
inputCommandBinder.Bind(Button.F, DOWN);
}
示例3: FirstPersonCameraCommandBindingManager
public FirstPersonCameraCommandBindingManager(ICommandManager commandManager, InputCommandBinder inputCommandBinder, FirstPersonStand stand, Game game)
: base(commandManager, inputCommandBinder, stand, game)
{
commandManager.Add(TURN_LEFT, () => stand.Yaw(-FrameTime));
commandManager.Add(TURN_RIGHT, () => stand.Yaw(FrameTime));
commandManager.Add(TURN_UP, () => stand.Pitch(-FrameTime));
commandManager.Add(TURN_DOWN, () => stand.Pitch(FrameTime));
commandManager.Add(ROLL_LEFT, () => stand.Roll(FrameTime));
commandManager.Add(ROLL_RIGHT, () => stand.Roll(-FrameTime));
inputCommandBinder.Bind(Button.J, TURN_LEFT);
inputCommandBinder.Bind(Button.L, TURN_RIGHT);
inputCommandBinder.Bind(Button.I, TURN_UP);
inputCommandBinder.Bind(Button.K, TURN_DOWN);
inputCommandBinder.Bind(Button.U, ROLL_LEFT);
inputCommandBinder.Bind(Button.O, ROLL_RIGHT);
}
示例4: OrbitingCameraCommandBindingManager
public OrbitingCameraCommandBindingManager(ICommandManager commandManager, InputCommandBinder inputCommandBinder, OrbitingStand stand, Game game)
: base(commandManager, inputCommandBinder, game)
{
commandManager.Add(MOVE_BACKWARD, () => stand.Radius += FrameTime);
commandManager.Add(MOVE_FORWARD, () => stand.Radius -= FrameTime);
commandManager.Add(STRAFE_RIGHT, () => stand.Azimuth -= FrameTime);
commandManager.Add(STRAFE_LEFT, () => stand.Azimuth += FrameTime);
commandManager.Add(UP, () => stand.Declination += FrameTime);
commandManager.Add(DOWN, () => stand.Declination -= FrameTime);
inputCommandBinder.Bind(Button.W, MOVE_FORWARD);
inputCommandBinder.Bind(Button.S, MOVE_BACKWARD);
inputCommandBinder.Bind(Button.D, STRAFE_RIGHT);
inputCommandBinder.Bind(Button.A, STRAFE_LEFT);
inputCommandBinder.Bind(Button.R, UP);
inputCommandBinder.Bind(Button.F, DOWN);
}
示例5: Add
private void Add(ICommandManager commandManager, IPlugin plugin, AliasData unparsedAlias,
IExpression alias, bool store)
{
ushort arity = alias.Arity;
QualifiedNameTypes qualifiedName =
QualifiedAliasName(plugin.Name, unparsedAlias.Name, arity);
if(_aliases.ContainsKey(qualifiedName) || _commands.ContainsKey(qualifiedName))
throw new InvalidOperationException("Alias with name " + unparsedAlias.Name + " and arity " + arity
+ " already exists.");
AliasCommand command = new AliasCommand(plugin, unparsedAlias.Name,
"Alias for (" + ControlCodes.Bold(unparsedAlias.Expression) + ")", false, alias);
commandManager.Add(command);
_unqualifiedAliases.Add(unparsedAlias.Name, arity);
_commands.Add(qualifiedName, command);
_aliases.Add(qualifiedName, unparsedAlias);
if(store)
Aliases.Add(unparsedAlias);
}