当前位置: 首页>>代码示例>>C#>>正文


C# ICommandManager.Add方法代码示例

本文整理汇总了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);
        }
开发者ID:Christof,项目名称:ionfish,代码行数:10,代码来源:CommandBindingManagerBase.cs

示例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);
        }
开发者ID:Christoph,项目名称:ionfish,代码行数:18,代码来源:CameraCommandManager.cs

示例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);
        }
开发者ID:Christof,项目名称:ionfish,代码行数:17,代码来源:FirstPersonCameraCommandBindingManager.cs

示例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);
        }
开发者ID:Christof,项目名称:ionfish,代码行数:17,代码来源:OrbitingCameraCommandBindingManager.cs

示例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);
        }
开发者ID:Gohla,项目名称:Veda-plugins,代码行数:21,代码来源:AliasPlugin.cs


注:本文中的ICommandManager.Add方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。