示例#1
0
        public SceneControlData(
            TranslateSceneWidget translateWidg, RotateSceneWidget rotateWidg, TransformModeViewModel transformModeModel)
        {
            TransformActorModel = new TransformActorViewModel();
            TranslateSceneWidget = translateWidg;
            RotateSceneWidget = rotateWidg;

            TranslateBindingEngine =
                    new BindingEngine<TranslateSceneWidget, TransformActorViewModel>(TranslateSceneWidget, TransformActorModel)
                        .Bind(tw => tw.Position, a => a.Position, BindingType.TwoWays)
                        .Bind(tw => tw.Active, a => a.TranslateWidgetMode)
                        .Bind(tw => tw.Visible, a => a.TranslateWidgetMode);

            RotateBindingEngine =
                    new BindingEngine<RotateSceneWidget, TransformActorViewModel>(RotateSceneWidget, TransformActorModel)
                        .Bind(tw => tw.Position, a => a.Position, BindingType.TwoWays)
                        .Bind(tw => tw.Rotation, a => a.Rotation, BindingType.TwoWays)
                        .Bind(tw => tw.Active, a => a.RotateWidgetMode)
                        .Bind(tw => tw.Visible, a => a.RotateWidgetMode);

            _transformModeModel = transformModeModel;
            _transformModeModel.OnWidgetModeChanges += OnWidgetModeChanges;
            TransformActorModel.WidgetMode = _transformModeModel.WidgetMode;
        }
        private void LoadedHandler(object sender, RoutedEventArgs e)
        {
            if (DesignerProperties.GetIsInDesignMode(this))
                return;

            _game = new MyGame(PuppeteerEditor.Handle);
            _game.GameWorld.UpdateWorld = false;
            var controlArg =
                new ConstructorArgument(
                    ApplicationProperties.IPuppeteerControllerGameWorldArgName,
                    _game.GameWorld);

            PuppeteerController =
                DependencyInjectorHelper
                            .PuppeteerKernel
                            .Get<IPuppeteerController>(controlArg);
            //_puppeteerController.GameWorld = _game.GameWorld;

            PuppeteerController.PuppeteerControl = this;

            if (OnLoaded != null)
                OnLoaded(this);

            SelectBoneMode.IsChecked = true;

            _transformModeModel =
                DependencyInjectorHelper
                    .PuppeteerKernel
                    .Get<TransformModeViewModel>();

            TranslateButton.DataContext = _transformModeModel;
            FreeMovementButton.DataContext = _transformModeModel;
            RotateButton.DataContext = _transformModeModel;
            ScaleButton.DataContext = _transformModeModel;

            _workingModesModel =
                DependencyInjectorHelper
                    .PuppeteerKernel
                    .Get<PuppeteerWorkingModesModel>();

            SelectBoneMode.DataContext = _workingModesModel;
            SelectAssetMode.DataContext = _workingModesModel;
            AddBoneMode.DataContext = _workingModesModel;
        }