Example #1
0
        public void GenerateContextMenu()
        {
            CutContextMenu = new ContextMenu();

            if (EventDefinitionManager.CanActionCopyFromViewport(Cut.ParentActor.Name, Cut.Name))
            {
                MenuItem CopyItem = new MenuItem()
                {
                    Header = "Copy Camera from Viewport"
                };
                CopyItem.Click += (x, y) =>
                {
                    CopyCameraFromViewportEventArgs NewArgs = new CopyCameraFromViewportEventArgs();
                    NewArgs.RequestingCut = this;

                    Cut.ParentActor.ParentEvent.OnCutRequestCopyFromViewport(NewArgs);
                };

                CutContextMenu.Items.Add(CopyItem);
                CutContextMenu.Items.Add(new Separator());
            }

            if (EventDefinitionManager.CanActionCopyStartFromViewport(Cut.ParentActor.Name, Cut.Name))
            {
                MenuItem CopyItem = new MenuItem()
                {
                    Header = "Copy Start Camera from Viewport"
                };
                CopyItem.Click += (x, y) =>
                {
                    CopyCameraFromViewportEventArgs NewArgs = new CopyCameraFromViewportEventArgs();
                    NewArgs.RequestingCut = this;
                    NewArgs.IsStart       = true;

                    Cut.ParentActor.ParentEvent.OnCutRequestCopyFromViewport(NewArgs);
                };

                CutContextMenu.Items.Add(CopyItem);
                CutContextMenu.Items.Add(new Separator());
            }

            Dictionary <string, string> properties = EventDefinitionManager.GetPropertiesForAction(Cut.ParentActor.Name, Cut.Name);

            foreach (KeyValuePair <string, string> prop_str in properties)
            {
                string        SubDefault = "";
                SubstanceType SubType    = EventDefinitionManager.GetPropertyTypeAndDefaultValue(Cut.ParentActor.Name, Cut.Name, prop_str.Key, out SubDefault);

                CutContextMenu.Items.Add(new MenuItem()
                {
                    Header           = prop_str.Key,
                    Command          = CreatePropertyCommand,
                    CommandParameter = new Tuple <string, string, SubstanceType>(prop_str.Value, SubDefault, SubType)
                });
            }
        }
Example #2
0
 public void OnCutRequestCopyFromViewport(CopyCameraFromViewportEventArgs e)
 {
     CopyFromViewportRequested?.Invoke(this, e);
 }