Ejemplo n.º 1
0
        public void AddActionCondition(ConditionGroup conditionGroup, ActionGroup actionGroup, bool readOnly)
        {
            if ((null == conditionGroup) || (null == actionGroup))
                return;

            m_actionGroups.Add(new ActionConditionGroup(conditionGroup, actionGroup, readOnly));
        }
Ejemplo n.º 2
0
 // Use this for initialization
 public override void Awake()
 {
     base.Awake();
     Actions = this.GetActions();
     DelayedDispatch = DispatchOnFinish;
     Actions.IsEmpty(); //To avoid warning
 }
Ejemplo n.º 3
0
 public Action[] GetActions(ActionGroup ag)
 {
     foreach (ActionGroupProperties p in ActionGroupsArray)
         if (p.ActionGroup == ag)
             return p.Actions;
     throw new System.ArgumentException("Action group not found.", "ag");
 }
Ejemplo n.º 4
0
        private void OnExtensionChanged(object o, ExtensionNodeEventArgs args)
        {
            try {
                TypeExtensionNode node = (TypeExtensionNode)args.ExtensionNode;

                if (args.Change == ExtensionChange.Add)
                {
                    if (!extension_actions.ContainsKey(node.Id))
                    {
                        ActionGroup group = (ActionGroup)node.CreateInstance(typeof(ActionGroup));
                        extension_actions[node.Id] = group;
                        AddActionGroup(group);
                        Log.DebugFormat("Extension actions loaded: {0}", group.Name);
                    }
                }
                else if (args.Change == ExtensionChange.Remove)
                {
                    if (extension_actions.ContainsKey(node.Id))
                    {
                        string name = extension_actions[node.Id].Name;
                        extension_actions[node.Id].Dispose();
                        extension_actions.Remove(node.Id);
                        Log.DebugFormat("Extension actions unloaded: {0}", name);
                    }
                }
            } catch (Exception e) {
                Log.Error(e);
            }
        }
        // TODO later add option for max downloads / download directory

        /*
         * public override Widget GetConfigurationWidget()
         * {
         *  return new PodcastConfigPage ();
         * }
         */

        private void InstallInterfaceActions()
        {
            actions = new ActionGroup("Podcast");

            // Pixbufs in 'PodcastPixbufs' should be registered with the StockManager and used here.
            actions.Add(new ActionEntry [] {
                new ActionEntry("PodcastAction", null,
                                Catalog.GetString("Podcast"), null,
                                Catalog.GetString("Manage the Podcast plugin"), null),

                new ActionEntry("PodcastUpdateFeedsAction", Stock.Refresh,
                                Catalog.GetString("Update Feeds"), "<control><shift>U",
                                Catalog.GetString("Update Subscribed Podcast Feeds"),
                                OnPodcastUpdateFeedsHandler),

                new ActionEntry("PodcastSubscribeAction", Stock.New,
                                Catalog.GetString("Subscribe to New Feed"), "<control>F",
                                Catalog.GetString("Subscribe to New Podcast Feed"),
                                OnPodcastSubscribeHandler),

                new ActionEntry("PodcastVisitPodcastAlleyAction", Stock.JumpTo,
                                Catalog.GetString("Find New Podcasts"), "<control>P",
                                Catalog.GetString("Find New Podcasts at PodcastAlley.com"),
                                OnVisitPodcastAlleyHandler),
            });

            Globals.ActionManager.UI.InsertActionGroup(actions, 0);
            ui_manager_id = Globals.ActionManager.UI.AddUiFromResource("PodcastMenu.xml");
        }
        private void InstallInterfaceActions()
        {
            actions = new ActionGroup("Mirage Playlist Generator");

            actions.Add(new ActionEntry [] {
                new ActionEntry("MirageAction", null,
                                AddinManager.CurrentLocalizer.GetString("Mirage Playlist Generator"), null,
                                AddinManager.CurrentLocalizer.GetString("Manage the Mirage extension"), null),

                new ActionEntry("MirageRescanMusicAction", null,
                                AddinManager.CurrentLocalizer.GetString("Rescan the Music Library"), null,
                                AddinManager.CurrentLocalizer.GetString("Rescans the Music Library for new songs"),
                                OnMirageRescanMusicHandler),

                new ActionEntry("MirageDuplicateSearchAction", null,
                                AddinManager.CurrentLocalizer.GetString("Duplicate Search (Experimental)"), null,
                                AddinManager.CurrentLocalizer.GetString("Searches your Music Library for possible duplicates"),
                                OnMirageDuplicateSearchHandler),

                new ActionEntry("MirageResetAction", null,
                                AddinManager.CurrentLocalizer.GetString("Reset Mirage"), null,
                                AddinManager.CurrentLocalizer.GetString("Resets the Mirage Playlist Generation Plugin. " +
                                                                        "All songs have to be analyzed again to use Automatic Playlist Generation."),
                                OnMirageResetHandler),
            });

            action_service.UIManager.InsertActionGroup(actions, 0);
            uiManagerId = action_service.UIManager.AddUiFromResource("MirageMenu.xml");
        }
Ejemplo n.º 7
0
        public static ActionGroup BuildActionGroup(XmlNode node)
        {
            var         name        = node.Attributes["name"].Value;
            var         description = node.Attributes["decription"]?.Value;
            var         path        = GeneratePath("library", "action_group", node.Attributes["src"].Value);
            var         srcCode     = ToCSCode(path);
            ActionGroup group       = new ActionGroup(name, description);

            group.Script = CSharpScript.Create(srcCode,
                                               ScriptOptions.Default.WithReferences(typeof(Superpower).Assembly), typeof(Global));

            foreach (XmlNode cmdComplex in node.ChildNodes)
            {
                switch (cmdComplex.Name)
                {
                case "ActionGroup":
                    group.AddSubGroup(BuildActionGroup(cmdComplex));
                    break;

                case "Execution":
                    group.AddAction(BuildExecution(cmdComplex, group));
                    break;

                case "Field":
                    group.AddAction(BuildField(cmdComplex, group));
                    break;

                default:
                    throw new InvalidOperationException($"\"{cmdComplex.Name}\" is bot a valid xml name");
                }
            }

            return(group);
        }
Ejemplo n.º 8
0
        private void AddMenuItems(UIManager uim)
        {
            ToggleActionEntry[] toggleActionEntries = new ToggleActionEntry[] {
                new ToggleActionEntry("StatusbarShowAction", null, Catalog.GetString("Show"), null, null,
                                      new EventHandler(OnStatusbarShow), false),
                new ToggleActionEntry("StatusbarOffsetAction", null, Catalog.GetString("Offset"), null, null,
                                      new EventHandler(OnStatusbarOffset), false),
                new ToggleActionEntry("StatusbarSelectionAction", null, Catalog.GetString("Selection"), null, null,
                                      new EventHandler(OnStatusbarSelection), false),
                new ToggleActionEntry("StatusbarOverwriteAction", null, Catalog.GetString("Overwrite"), null, null,
                                      new EventHandler(OnStatusbarOverwrite), false)
            };

            ActionEntry[] actionEntries = new ActionEntry[] {
                new ActionEntry("Statusbar", null, Catalog.GetString("Statusbar"), null, null, null)
            };

            ActionGroup group = new ActionGroup("StatusbarActions");

            group.Add(toggleActionEntries);
            group.Add(actionEntries);

            uim.InsertActionGroup(group, 0);
            uim.AddUiFromString(uiXml);

            viewStatusbarShowMenuItem      = (CheckMenuItem)uim.GetWidget("/menubar/View/Statusbar/Show");
            viewStatusbarOffsetMenuItem    = (CheckMenuItem)uim.GetWidget("/menubar/View/Statusbar/Offset");
            viewStatusbarSelectionMenuItem = (CheckMenuItem)uim.GetWidget("/menubar/View/Statusbar/Selection");
            viewStatusbarOverwriteMenuItem = (CheckMenuItem)uim.GetWidget("/menubar/View/Statusbar/Overwrite");

            uim.EnsureUpdate();
        }
Ejemplo n.º 9
0
        public UIManager(Project project)
        {
            ActionEntry[] entries = new ActionEntry[] {
                new ActionEntry("FileMenu", null, Catalog.GetString("_File"), null, null, null),
                new ActionEntry("Open", Stock.Open, null, "<control>O", Catalog.GetString("Open a file"), OpenFile),
                new ActionEntry("RecentFiles", null, Catalog.GetString("Recent files"), null, null, null),
                new ActionEntry("Save", Stock.Save, null, "<control>S", Catalog.GetString("Save"), SaveFile),
                new ActionEntry("SaveAs", Stock.SaveAs, null, "<control><shift>S", Catalog.GetString("Save As"), SaveFileAs),
                new ActionEntry("ImportGlade", null, Catalog.GetString("_Import from Glade File..."), null, Catalog.GetString("Import UI from a Glade file"), ImportGlade),
                new ActionEntry("ExportGlade", null, Catalog.GetString("_Export to Glade File..."), null, Catalog.GetString("Export UI to a Glade file"), ExportGlade),
                new ActionEntry("Close", Stock.Close, null, "<control>W", Catalog.GetString("Close"), Close),
                new ActionEntry("Quit", Stock.Quit, null, "<control>Q", Catalog.GetString("Quit"), Quit),

                new ActionEntry("EditMenu", null, "_Edit", null, null, null),
                new ActionEntry("Undo", Stock.Undo, null, "<control>Z", Catalog.GetString("Undo previous action"), Undo),
                new ActionEntry("Redo", Stock.Redo, null, "<control><shift>Z", Catalog.GetString("Redo previously-undone action"), Redo),
                new ActionEntry("Cut", Stock.Cut, null, "<control>X", Catalog.GetString("Cut selection to clipboard"), Cut),
                new ActionEntry("Copy", Stock.Copy, null, "<control>C", Catalog.GetString("Copy selection to clipboard"), Copy),
                new ActionEntry("Paste", Stock.Paste, null, "<control>V", Catalog.GetString("Paste from clipboard"), Paste),
                new ActionEntry("Delete", Stock.Delete, null, "Delete", Catalog.GetString("Delete selection"), Delete),
                new ActionEntry("LibraryManager", null, Catalog.GetString("Widget libraries..."), null, null, ShowLibraryManager),

                new ActionEntry("ProjectMenu", null, Catalog.GetString("Project"), null, null, null),
                new ActionEntry("EditProjectIcons", null, Catalog.GetString("Project Icons..."), null, null, EditIcons),

                new ActionEntry("HelpMenu", null, Catalog.GetString("_Help"), null, null, null),
                new ActionEntry("Contents", Stock.Help, Catalog.GetString("_Contents"), "F1", Catalog.GetString("Help"), Help),
                new ActionEntry("About", Stock.About, null, null, Catalog.GetString("About Stetic"), About),
            };

            ActionGroup actions = new ActionGroup("group");

            actions.Add(entries);

            InsertActionGroup(actions, 0);
            AddUiFromString(menuXml);

            // Not yet implemented
            GetAction("/menubar/HelpMenu/Contents").Sensitive = false;

            GetAction("/menubar/FileMenu/Open").IsImportant = true;
            GetAction("/menubar/FileMenu/Save").IsImportant = true;

            // Set up Edit menu sensitivity hackery
            Gtk.MenuItem editMenuItem = (Gtk.MenuItem)GetWidget("/menubar/EditMenu");
            Gtk.Menu     editMenu     = (Gtk.Menu)editMenuItem.Submenu;
            editMenu.Shown  += EditShown;
            editMenu.Hidden += EditHidden;

            Gtk.MenuItem recentMenuItem = (Gtk.MenuItem)GetWidget("/menubar/FileMenu/RecentFiles");
            recentFilesMenu        = new Gtk.Menu();
            recentMenuItem.Submenu = recentFilesMenu;
            recentMenuItem.ShowAll();

            ReadRecentFiles();

            SteticMain.CurrentDesignerChanged += OnDesignerChanged;
            Project = project;
        }
Ejemplo n.º 10
0
        public void Dispose()
        {
            action_service.UIManager.RemoveUi(ui_manager_id);
            action_service.UIManager.RemoveActionGroup(actions);
            actions = null;

            instance = null;
        }
Ejemplo n.º 11
0
 private static void AreEqual(ActionGroup exp, ActionGroup act)
 {
     if (exp != null)
     {
         Assert.Equal(exp.GroupShortName, act.GroupShortName);
         Assert.Equal(exp.WebhookReceivers, act.WebhookReceivers);
     }
 }
Ejemplo n.º 12
0
        protected override void PluginDispose()
        {
            Globals.ActionManager.UI.RemoveUi(ui_manager_id);
            Globals.ActionManager.UI.RemoveActionGroup(actions);

            actions = null;
            SourceManager.RemoveSource(source);
        }
        protected override void PluginDispose()
        {
            Globals.ActionManager.UI.RemoveUi(ui_manager_id);
            Globals.ActionManager.UI.RemoveActionGroup(actions);

            actions = null;
            PodcastCore.Dispose();
        }
Ejemplo n.º 14
0
 public virtual void DiscardHand()
 {
     foreach (Card card in hand.ToList())
     {
         DiscardCard(card);
     }
     selectedActionGroup = null;
 }
Ejemplo n.º 15
0
 private void Start()
 {
     group = InitActionGroup(obj);
     group.LunchActionSystem(steps, (worpSteps) =>
     {
         LoopExecute();
     });
 }
Ejemplo n.º 16
0
    public int enduranceCost; //How much endurance this option costs

    #endregion Fields

    #region Constructors

    public DefendOption(string defendName, ActionGroup defendGroup, int baseDefense, int enduranceCost, string defendDescription)
    {
        this.defendName = defendName;
        this.defendGroup = defendGroup;
        this.baseDefense = baseDefense;
        this.enduranceCost = enduranceCost;
        this.defendDescription = defendDescription;
    }
Ejemplo n.º 17
0
    public ActionGroup Group()
    {
        var group = new ActionGroup();

        Add(group);

        return(group);
    }
Ejemplo n.º 18
0
        public CompositeTrackSourceContents() : base(name, PaneTopPosition, PaneLeftPosition)
        {
            action_service = ServiceManager.Get <InterfaceActionService> ();

            if (action_service.FindActionGroup("BrowserConfiguration") == null)
            {
                configure_browser_actions = new ActionGroup("BrowserConfiguration");

                configure_browser_actions.Add(new ActionEntry [] {
                    new ActionEntry("BrowserContentMenuAction", null,
                                    Catalog.GetString("Browser Content"), null,
                                    Catalog.GetString("Configure the filters available in the browser"), null)
                });

                configure_browser_actions.Add(new ToggleActionEntry [] {
                    new ToggleActionEntry("ShowArtistFilterAction", null,
                                          Catalog.GetString("Show Artist Filter"), null,
                                          Catalog.GetString("Show a list of artists to filter by"), null, ArtistFilterVisible.Get())
                });

                configure_browser_actions.Add(new RadioActionEntry [] {
                    new RadioActionEntry("ShowTrackArtistFilterAction", null,
                                         Catalog.GetString("Show all Artists"), null,
                                         Catalog.GetString("Show all artists in the artist filter"), 0),

                    new RadioActionEntry("ShowAlbumArtistFilterAction", null,
                                         Catalog.GetString("Show Album Artists"), null,
                                         Catalog.GetString("Show only album artists, not artists with only single tracks"), 1),
                }, ArtistFilterType.Get().Equals("artist") ? 0 : 1, null);

                configure_browser_actions.Add(new ToggleActionEntry [] {
                    new ToggleActionEntry("ShowGenreFilterAction", null,
                                          Catalog.GetString("Show Genre Filter"), null,
                                          Catalog.GetString("Show a list of genres to filter by"), null, GenreFilterVisible.Get())
                });

                configure_browser_actions.Add(new ToggleActionEntry [] {
                    new ToggleActionEntry("ShowYearFilterAction", null,
                                          Catalog.GetString("Show Year Filter"), null,
                                          Catalog.GetString("Show a list of years to filter by"), null, YearFilterVisible.Get())
                });

                action_service.AddActionGroup(configure_browser_actions);
                action_service.UIManager.AddUiFromString(menu_xml);
            }

            action_service.FindAction("BrowserConfiguration.ShowArtistFilterAction").Activated += OnArtistFilterVisibilityChanged;
            action_service.FindAction("BrowserConfiguration.ShowGenreFilterAction").Activated  += OnGenreFilterChanged;;
            action_service.FindAction("BrowserConfiguration.ShowYearFilterAction").Activated   += OnYearFilterChanged;;

            var artist_filter_action      = action_service.FindAction("BrowserConfiguration.ShowTrackArtistFilterAction") as RadioAction;
            var albumartist_filter_action = action_service.FindAction("BrowserConfiguration.ShowAlbumArtistFilterAction") as RadioAction;

            artist_filter_action.Changed       += OnArtistFilterChanged;
            artist_filter_action.Sensitive      = ArtistFilterVisible.Get();
            albumartist_filter_action.Changed  += OnArtistFilterChanged;
            albumartist_filter_action.Sensitive = ArtistFilterVisible.Get();
        }
Ejemplo n.º 19
0
 void Disable()
 {
     creature.movementDir = Vector2.zero;
     for (int i = 0; i < creature.actionGroups.Count; i++)
     {
         ActionGroup actionGroup = (ActionGroup)creature.actionGroups[i];
         creature.SetActionGroupActive(i, false);
     }
 }
Ejemplo n.º 20
0
        private void SetCategoriesMenu()
        {
            Gtk.Action  edit, editProp, sortMenu;
            UIManager   manager;
            ActionGroup g;

            manager = new UIManager();
            g       = new ActionGroup("CategoriesMenuGroup");

            edit           = new Gtk.Action("EditAction", Mono.Unix.Catalog.GetString("Edit name"), null, "gtk-edit");
            sortMenu       = new Gtk.Action("SortMenuAction", Mono.Unix.Catalog.GetString("Sort Method"), null, null);
            sortByName     = new Gtk.RadioAction("SortByNameAction", Mono.Unix.Catalog.GetString("Sort by name"), null, null, 1);
            sortByStart    = new Gtk.RadioAction("SortByStartAction", Mono.Unix.Catalog.GetString("Sort by start time"), null, null, 2);
            sortByStop     = new Gtk.RadioAction("SortByStopAction", Mono.Unix.Catalog.GetString("Sort by stop time"), null, null, 3);
            sortByDuration = new Gtk.RadioAction("SortByDurationAction", Mono.Unix.Catalog.GetString("Sort by duration"), null, null, 3);
            editProp       = new Gtk.Action("EditPropAction", Mono.Unix.Catalog.GetString("Edit properties"), null, "gtk-edit");

            sortByName.Group     = new GLib.SList(System.IntPtr.Zero);
            sortByStart.Group    = sortByName.Group;
            sortByStop.Group     = sortByName.Group;
            sortByDuration.Group = sortByName.Group;


            g.Add(edit, null);
            g.Add(sortMenu, null);
            g.Add(sortByName, null);
            g.Add(sortByStart, null);
            g.Add(sortByStop, null);
            g.Add(sortByDuration, null);
            g.Add(editProp, null);

            manager.InsertActionGroup(g, 0);

            manager.AddUiFromString("<ui>" +
                                    "  <popup action='CategoryMenu'>" +
                                    "    <menuitem action='EditAction'/>" +
                                    "    <menu action='SortMenuAction'>" +
                                    "      <menuitem action='SortByNameAction'/>" +
                                    "      <menuitem action='SortByStartAction'/>" +
                                    "      <menuitem action='SortByStopAction'/>" +
                                    "      <menuitem action='SortByDurationAction'/>" +
                                    "    </menu>" +
                                    "    <menuitem action='EditPropAction'/>" +
                                    "  </popup>" +
                                    "</ui>");

            categoriesMenu = manager.GetWidget("/CategoryMenu") as Menu;

            edit.Activated           += OnEdit;
            sortByName.Activated     += OnSortActivated;
            sortByStart.Activated    += OnSortActivated;
            sortByStop.Activated     += OnSortActivated;
            sortByDuration.Activated += OnSortActivated;
            editProp.Activated       += delegate(object sender, EventArgs e) {
                EditProperties(GetValueFromPath(Selection.GetSelectedRows()[0]) as Category, null);
            };
        }
Ejemplo n.º 21
0
        private static Execution BuildExecution(XmlNode node, ActionGroup parent)
        {
            var       name        = node.Attributes["name"].Value;
            var       description = node.Attributes["description"]?.Value;
            var       method      = node.Attributes["method"].Value;
            Execution execution   = new Execution(parent, name, method, description);

            return(execution);
        }
Ejemplo n.º 22
0
    public int enduranceCost; //How much endurance this options costs

    #endregion Fields

    #region Constructors

    public AttackOption(string attackName, AttackMethod attackMethod, ActionGroup attackGroup, int baseDamage, int enduranceCost, string attackDescription)
    {
        this.attackName = attackName;
        this.attackMethod = attackMethod;
        this.attackGroup = attackGroup;
        this.basePower = baseDamage;
        this.enduranceCost = enduranceCost;
        this.attackDescription = attackDescription;
    }
Ejemplo n.º 23
0
        public async Task <ActionResult <ApiResult> > Update(ActionGroup actionGroup)
        {
            await _ActionGroupService.Update(actionGroup);

            ApiResult resp = new ApiResult();

            resp.code = Code.Success;
            return(resp);
        }
Ejemplo n.º 24
0
        public virtual void StartMainLoop()
        {
            Gtk.UIManager uiManager = Tomboy.ActionManager.UI;

            ActionGroup mainMenuActionGroup = new ActionGroup("Mac");

            mainMenuActionGroup.Add(new ActionEntry [] {
                new ActionEntry("WindowMenuAction",
                                null,
                                // Translators: This is the name of "Window" menu in the Mac menubar
                                Catalog.GetString("_Window"),
                                null,
                                null,
                                null)
            });

            uiManager.AddUiFromString(osxMenuXml);
            uiManager.InsertActionGroup(mainMenuActionGroup, 1);

            Gtk.MenuShell mainMenu = uiManager.GetWidget("/MainWindowMenubar") as Gtk.MenuShell;
            mainMenu.Show();
            IgeMacMenu.MenuBar = mainMenu;
            WindowMenuManager.UpdateWindowMenu();

            Gtk.MenuItem about_item = uiManager.GetWidget("/MainWindowMenubar/HelpMenu/ShowAbout") as Gtk.MenuItem;
            Gtk.MenuItem prefs_item = uiManager.GetWidget("/MainWindowMenubar/EditMenu/ShowPreferences") as Gtk.MenuItem;
            Gtk.MenuItem quit_item  = uiManager.GetWidget("/MainWindowMenubar/FileMenu/QuitTomboy") as Gtk.MenuItem;

            (about_item.Child as Gtk.Label).Text = Catalog.GetString("About Tomboy");
            (prefs_item.Child as Gtk.Label).Text = Catalog.GetString("Preferences...");

            IgeMacMenuGroup about_group = IgeMacMenu.AddAppMenuGroup();
            IgeMacMenuGroup prefs_group = IgeMacMenu.AddAppMenuGroup();

            about_group.AddMenuItem(about_item, null);
            prefs_group.AddMenuItem(prefs_item, null);

            IgeMacMenu.QuitMenuItem = quit_item;

            IgeMacDock dock = new IgeMacDock();

            dock.Clicked += delegate(object sender, EventArgs args) {
                if (Tomboy.Tray.TomboyTrayMenu.Visible)
                {
                    Tomboy.Tray.TomboyTrayMenu.Hide();
                }
                else
                {
                    Tomboy.Tray.Tray.ShowMenu(false);
                }
            };
            dock.QuitActivate += delegate(object sender, EventArgs args) { Exit(0); };

            Tomboy.ActionManager ["CloseWindowAction"].Visible = false;

            Gtk.Application.Run();
        }
Ejemplo n.º 25
0
    public static void UnmarkTemplateAsUnselected(ActionGroup actionGroup)
    {
        GameObject instancedTemplate = FindTemplateInstance(actionGroup);

        if (instancedTemplate != null)
        {
            instancedTemplate.GetComponent <ActionGroupDataTemplate>().UnmarkTemplateAsUnselected();
        }
    }
Ejemplo n.º 26
0
        public FinalConnector(NetInfo centerNodeNetInfo, EdgeIntersections2 edgeIntersections, Ellipse ellipse, bool insertControllingVertices)
        {
            intersections = edgeIntersections?.Intersections ?? new List <VectorNodeStruct>();
            m_group       = edgeIntersections?.TmpeActionGroup();

            this.ellipse = ellipse;
            pleasenoinfiniterecursion = 0;
            this.centerNodeNetInfo    = centerNodeNetInfo;
            leftHandTraffic           = Singleton <SimulationManager> .instance.m_metaData.m_invertTraffic ==
                                        SimulationMetaData.MetaBool.True;

            // We ensure that the segments are not too long. For circles only (with ellipses it would be more difficult)
            m_maxAngDistance = Math.Min(Math.PI * 25 / ellipse.RadiusMain, Math.PI / 2 + 0.1d);

            bool isCircle = ellipse.IsCircle();

            if (!isCircle && insertControllingVertices)
            {
                /* See doc in the method below */
                InsertIntermediateNodes();
            }

            /* If the list of edge nodes is empty, we add one default intersection. */
            if (isCircle && intersections.Count == 0)
            {
                Vector3 defaultIntersection = new Vector3(ellipse.RadiusMain, 0, 0) + ellipse.Center;
                ushort  newNodeId           = NetAccess.CreateNode(centerNodeNetInfo, defaultIntersection);
                intersections.Add(new VectorNodeStruct(newNodeId));
            }

            int count = intersections.Count;

            foreach (VectorNodeStruct item in intersections)
            {
                item.angle = Ellipse.VectorsAngle(item.vector - ellipse.Center);
            }

            /* We sort the nodes according to their angles */
            intersections.Sort();

            /* Goes over all the nodes and conntets each of them to the angulary closest neighbour. (In a given direction) */

            for (int i = 0; i < count; i++)
            {
                VectorNodeStruct prevNode = intersections[i];
                if (isCircle)
                {
                    prevNode = CheckAngularDistance(intersections[i], intersections[(i + 1) % count]);
                }
                ConnectNodes(intersections[(i + 1) % count], prevNode);
            }

            if (m_group != null)
            {
                ModThreading.Timer(m_group);
            }
        }
Ejemplo n.º 27
0
    public IEnumerator CalculateAvailableActions(Character activeCharacter)
    {
        List <ActionGroup> possibleActions = new List <ActionGroup>();

        //Using ability from current location
        foreach (var ability in activeCharacter.Abilities)
        {
            if (activeCharacter.characterData.Energy.CurrentValue < ability.cost) //Not enough energ
            {
                continue;
            }
            foreach (var targetCell in ability.targeting.GetValidTargetCells(activeCharacter.Location, true))
            {
                possibleActions.Add(new ActionGroup(activeCharacter.Location, targetCell, ActionGroup.ActionChoice.AbilityOnly, ability));
            }
        }

        //Moving
        foreach (var moveToCell in activeCharacter.ReachableCells)
        {
            //Only move
            possibleActions.Add(new ActionGroup(moveToCell, null, ActionGroup.ActionChoice.WalkOnly, null));


            //Using abilities after move
            foreach (var ability in activeCharacter.Abilities)
            {
                if (activeCharacter.characterData.Energy.CurrentValue < ability.cost) //Not enough energy
                {
                    continue;
                }
                foreach (var targetCell in ability.targeting.GetValidTargetCells(moveToCell, true))
                {
                    possibleActions.Add(new ActionGroup(moveToCell, targetCell, ActionGroup.ActionChoice.WalkAndAbility, ability));
                }
            }
        }

        Debug.Log("Number of actions is " + possibleActions.Count);
        //Score all actiongroups
        foreach (var item in possibleActions)
        {
            Score(item, activeCharacter);
            yield return(null); //Wait one frame
        }

        //Sort
        possibleActions.Sort();

        //Pick one actiongroup
        int indexToChoose = Mathf.RoundToInt(UnityEngine.Random.Range(1 - difficulty, 0) * possibleActions.Count);

        indexToChoose = Mathf.Min(indexToChoose, possibleActions.Count - 1);
        ActionGroup chosenAction = possibleActions[indexToChoose];

        activeCharacter.SetNextAction(chosenAction);
    }
Ejemplo n.º 28
0
        public void ShowWindow()
        {
            Application.Init();

            gxml = new Glade.XML("contactviewer.glade", "MainWindow");
            gxml.Autoconnect(this);

            ActionEntry[] entries = new ActionEntry [] {
                new ActionEntry("FileMenuAction", null, "_File", null, null, null),
                new ActionEntry("OpenAction", Gtk.Stock.Open,
                                "_Open", "<control>O", Catalog.GetString("Open..."), new EventHandler(OnOpenDatabase)),
                new ActionEntry("QuitAction", Gtk.Stock.Quit,
                                "_Quit", "<control>Q", Catalog.GetString("Quit"), new EventHandler(OnQuit)),
                new ActionEntry("HelpMenuAction", null, "_Help", null, null, null),
                new ActionEntry("AboutAction", Gnome.Stock.About,
                                "_About", null, Catalog.GetString("About"), new EventHandler(OnAbout))
            };

            ActionGroup grp = new ActionGroup("MainGroup");

            grp.Add(entries);

            ui_manager = new UIManager();
            ui_manager.InsertActionGroup(grp, 0);
            ui_manager.AddUiFromResource("menu.xml");
            MenubarHolder.Add(ui_manager.GetWidget("/MainMenu"));

            // Fix the TreeView that will contain all contacts
            contact_store = new ListStore(typeof(string), typeof(string));

            ContactList.Model     = contact_store;
            ContactList.RulesHint = true;
            ContactList.AppendColumn(Catalog.GetString("Contacts"), new CellRendererText(), "text", 1);
            ContactList.ButtonReleaseEvent += OnContactSelected;

            // This ListStore will let the user choose what to see in the contact list
            contact_show_type_store = new ListStore(typeof(string), typeof(string));
            contact_show_type_store.AppendValues("DisplayName", Catalog.GetString("Display name"));
            contact_show_type_store.AppendValues("PrimaryEmail", Catalog.GetString("Primary E-mail"));
            contact_show_type_store.AppendValues("SecondEmail", Catalog.GetString("Secondary E-mail"));
            contact_show_type_store.AppendValues("NickName", Catalog.GetString("Nickname"));

            CellRendererText cell = new CellRendererText();

            ListIdentifier.PackStart(cell, false);
            ListIdentifier.AddAttribute(cell, "text", 1);
            ListIdentifier.Model    = contact_show_type_store;
            ListIdentifier.Active   = 0;
            ListIdentifier.Changed += OnContactListTypeChanged;

            MainWindow.Icon         = Beagle.Images.GetPixbuf("contact-icon.png");
            MainWindow.DeleteEvent += OnDeleteEvent;

            LoadDatabase();
            Application.Run();
        }
Ejemplo n.º 29
0
        public override bool Load()
        {
            History.Instance.Changed += OnHistoryChanged;
            historyActionGroup        = new ActionGroup("HistoryActions");
            uiManager.InsertActionGroup(historyActionGroup, 0);
            OnHistoryChanged(History.Instance);

            loaded = true;
            return(true);
        }
Ejemplo n.º 30
0
 public ImportActionGroupViewModel(ActionGroup model)
     : base(model)
 {
     this.PasteableTypes.Add(typeof(ImportMappingAction));
     this.PasteableTypes.Add(typeof(DeclineMappingAction));
     this.PasteableTypes.Add(typeof(ExtensionPassThroughAction));
     this.Commands.AddItem("AddImportMappingAction", t => this.Actions.AddImportMappingAction());
     this.Commands.AddItem("AddDeclineMappingAction", t => this.Actions.AddDeclineMappingAction());
     this.Commands.AddItem("AddPassThroughAction", t => this.Actions.AddPassThroughAction());
 }
Ejemplo n.º 31
0
    public override bool CheckIfPlayable(Character executer, ActionGroup actionGroupToPlay)
    {
        bool playable = true;

        foreach (PlayCondition playCondition in playConditions)
        {
            playable = playable && playCondition.CheckIfPlayable(executer, actionGroupToPlay);
        }
        return(playable);
    }
Ejemplo n.º 32
0
        public FilteredListSourceContents(string name)
        {
            this.name = name;
            InitializeViews();

            string position = Layout();

            if (ForcePosition != null)
            {
                return;
            }

            if (ServiceManager.Contains("InterfaceActionService"))
            {
                action_service = ServiceManager.Get <InterfaceActionService> ();

                if (action_service.FindActionGroup("BrowserView") == null)
                {
                    browser_view_actions = new ActionGroup("BrowserView");

                    browser_view_actions.Add(new RadioActionEntry [] {
                        new RadioActionEntry("BrowserLeftAction", null,
                                             Catalog.GetString("Browser on Left"), null,
                                             Catalog.GetString("Show the artist/album browser to the left of the track list"), 0),

                        new RadioActionEntry("BrowserTopAction", null,
                                             Catalog.GetString("Browser on Top"), null,
                                             Catalog.GetString("Show the artist/album browser above the track list"), 1),
                    }, position == "top" ? 1 : 0, null);

                    browser_view_actions.Add(new ToggleActionEntry [] {
                        new ToggleActionEntry("BrowserVisibleAction", null,
                                              Catalog.GetString("Show Browser"), "<control>B",
                                              Catalog.GetString("Show or hide the artist/album browser"),
                                              null, BrowserVisible.Get())
                    });

                    action_service.AddActionGroup(browser_view_actions);
                    //action_merge_id = action_service.UIManager.NewMergeId ();
                    action_service.UIManager.AddUiFromString(menu_xml);
                }

                (action_service.FindAction("BrowserView.BrowserLeftAction") as RadioAction).Changed += OnViewModeChanged;
                (action_service.FindAction("BrowserView.BrowserTopAction") as RadioAction).Changed  += OnViewModeChanged;
                action_service.FindAction("BrowserView.BrowserVisibleAction").Activated             += OnToggleBrowser;
            }

            ServiceManager.SourceManager.ActiveSourceChanged += delegate {
                ThreadAssist.ProxyToMain(delegate {
                    browser_container.Visible = ActiveSourceCanHasBrowser ? BrowserVisible.Get() : false;
                });
            };

            NoShowAll = true;
        }
Ejemplo n.º 33
0
        public async Task <IActionResult> Create([Bind("Id,Name")] ActionGroup actionGroup)
        {
            if (ModelState.IsValid)
            {
                _context.Add(actionGroup);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(actionGroup));
        }
        public void AddActionGroup(ActionGroup group)
        {
            lock (this) {
                if (action_groups.ContainsKey(group.Name))
                {
                    throw new ApplicationException("Group already exists");
                }

                InnerAddActionGroup(group);
            }
        }
 public void RemoveActionGroup(string name)
 {
     lock (this) {
         if (action_groups.ContainsKey(name))
         {
             ActionGroup group = action_groups[name];
             ui_manager.RemoveActionGroup(group);
             action_groups.Remove(name);
         }
     }
 }
Ejemplo n.º 36
0
 public ActionConditionGroup(ActionConditionGroup rhs, bool readOnly, bool createNewId)
     : base(rhs, readOnly, createNewId)
 {
     m_actionGroup = new ActionGroup(rhs.m_actionGroup, readOnly, createNewId);
     SetActionGroupObserver();
 }
Ejemplo n.º 37
0
 public ActionConditionGroup(ActionConditionGroup rhs)
     : base(rhs)
 {
     m_actionGroup = new ActionGroup(rhs.m_actionGroup);
     SetActionGroupObserver();
 }
Ejemplo n.º 38
0
 public ActionConditionGroup(ConditionGroup conditionGroup, ActionGroup actionGroup, bool readOnly)
     : base(conditionGroup, readOnly, false)
 {
     m_actionGroup = actionGroup;
     SetActionGroupObserver();
 }
Ejemplo n.º 39
0
        public void TestAddActionMultipleTimes()
        {
            PolicyCatalogue policyCatalogue;
            PolicyChannel channel;
            AddActionPostAddToChannel(out channel, out policyCatalogue);

            IActionMatrix actionMatrix = channel.Actions;
            Dictionary<KeyValuePair<Guid, Guid>, IActionMatrixCell>.Enumerator enumerator = actionMatrix.GetEnumerator();
            enumerator.MoveNext();
            KeyValuePair<KeyValuePair<Guid, Guid>, IActionMatrixCell> currentKeyValuePair = enumerator.Current;
            IPolicyObjectCollection<IActionConditionGroup> actionConditionGroups = currentKeyValuePair.Value.ActionConditionGroups;
            Assert.AreEqual(1, actionConditionGroups.Count);
            IActionConditionGroup actionConditionGroup = actionConditionGroups[0];
            Assert.IsNotNull(actionConditionGroup, "Expected a valid action condition group");
            Assert.AreEqual(1, actionConditionGroup.ActionGroup.Actions.Count, "Expected one action");
            IAction action = actionConditionGroup.ActionGroup.Actions[0];
            Assert.IsNotNull(action, "Expected a valid action");

            // Lets add another cell
            IRoutingItemCollection senders = new RoutingItemCollection(new Guid("{1B5380C6-EFD3-445E-80EE-0AFAB63B870A}"), "Another sources");
            IRoutingItemCollection recipients = new RoutingItemCollection(new Guid("{AE069B6D-2CD9-4EB1-8128-A28421D35FB1}"), "Another destinations");
            ActionMatrixCell actionMatrixCell = new ActionMatrixCell(senders, recipients);

            ConditionGroup conditionGroup = new ConditionGroup(new Guid("{0E409581-5ED4-4563-933C-E6272F4521FD}"), new TranslateableLanguageItem("Another test condition group"), ConditionLogic.AND, false);
            ActionGroup actionGroup = new ActionGroup(new Guid("{279F8DD8-0A09-4FBA-A729-1136BA3604FC}"), new TranslateableLanguageItem("Another test action group"), 1);
            actionGroup.Actions.Add(action);

            ActionConditionGroup actionConditionGroup2 = new ActionConditionGroup(conditionGroup, actionGroup, false);

            actionMatrixCell.ActionConditionGroups.Add(actionConditionGroup2);

            actionMatrix[senders, recipients] = actionMatrixCell;

            Assert.AreEqual(1, policyCatalogue.Channels.Count, "Expected one channel");
            Assert.AreEqual(2, policyCatalogue.ActionGroups.Count, "Expected one action group");
            Assert.AreEqual(1, policyCatalogue.Actions.Count, "Expected one action");
            Assert.AreEqual(4, policyCatalogue.LocationsCollection.Count, "Expected two location groups");
            Assert.AreEqual(3, policyCatalogue.Locations.Count, "Expected three locations");
        }
Ejemplo n.º 40
0
        private void AddActionPostAddToChannel(out PolicyChannel channel, out PolicyCatalogue policyCatalogue)
        {
            IPolicyLanguage language = new PolicyLanguage(new Guid("{E8B22533-98EB-4D00-BDE4-406DC3E1858B}"), "en");

            XMLPolicyCatalogueStore catalogueStore = XMLPolicyCatalogueStore.Instance;
            catalogueStore.Reset();
            policyCatalogue = new PolicyCatalogue(new Guid("{AB5E2A43-01FB-4AA6-98FC-8F74BB0621CA}"), language.Identifier, new TranslateableLanguageItem("{B5C31A66-1B39-4CA7-BF02-AF271B5864F7}"), catalogueStore);
            catalogueStore.AddPolicyCatalogue(policyCatalogue);

            PolicySetObserver policySetObserver = new PolicySetObserver(policyCatalogue);

            Assert.AreEqual(0, policyCatalogue.Channels.Count);
            Assert.AreEqual(0, policyCatalogue.ActionGroups.Count);
            Assert.AreEqual(0, policyCatalogue.Actions.Count);
            Assert.AreEqual(0, policyCatalogue.LocationsCollection.Count);
            Assert.AreEqual(0, policyCatalogue.Locations.Count);

            channel = new PolicyChannel(new Guid("{0FE26539-7AAD-46DC-8D5B-9651CC00B9E4}"), new TranslateableLanguageItem("Test channel"), ChannelType.SMTP);
            policySetObserver.AddObject(channel);

            IRoutingItemCollection senders = new RoutingItemCollection(new Guid("{441FDCBF-B606-4325-8CD5-E829AD5303B9}"), "Test sources");
            senders.Add(new RoutingItem(new Guid("{D41A47E2-CC13-46FF-BE83-829625792576}"), "James Brown", "*****@*****.**"));
            senders.Add(new RoutingItem(new Guid("{B031DFE9-54E7-482B-8955-18CFB8F06A40}"), "Nat King Cole", "*****@*****.**"));
            IRoutingItemCollection recipients = new RoutingItemCollection(new Guid("{29C44E5C-5405-409F-8513-A99AE246536F}"), "Test destinations");
            recipients.Add(new RoutingItem(new Guid("{9E26C6A2-ABE2-427D-9D78-5B8547ADA8D2}"), "Jet Li", "*****@*****.**"));
            ActionMatrix actionMatrix = new ActionMatrix();
            ActionMatrixCell actionMatrixCell = new ActionMatrixCell(senders, recipients);

            ConditionGroup conditionGroup = new ConditionGroup(new Guid("{9D065722-1106-4FC1-8D48-58733661B929}"), new TranslateableLanguageItem("Test condition group"), ConditionLogic.AND, false);
            ActionGroup actionGroup = new ActionGroup(new Guid("{E2A16C4D-E112-4249-92B9-612732117809}"), new TranslateableLanguageItem("Test action group"), 1);
            Action action = new Action(new Guid("{A5FAA63E-4F25-456F-92F9-9BB465C18F1F}"), "Test.dll", "Do.It", RunAt.Client, false, 1); //TODO JE
            ActionConditionGroup actionConditionGroup = new ActionConditionGroup(conditionGroup, actionGroup, false);

            actionMatrixCell.ActionConditionGroups.Add(actionConditionGroup);
            actionGroup.Actions.Add(action);

            actionMatrix[senders, recipients] = actionMatrixCell;

            channel.Actions = actionMatrix;
        }
Ejemplo n.º 41
0
        public void TestAddActionPreAddToChannel()
        {
            IPolicyLanguage language = new PolicyLanguage(new Guid("{E8B22533-98EB-4D00-BDE4-406DC3E1858B}"), "en");

            XMLPolicyCatalogueStore catalogueStore = XMLPolicyCatalogueStore.Instance;
            catalogueStore.Reset();
            PolicyCatalogue policyCatalogue = new PolicyCatalogue(new Guid("{AB5E2A43-01FB-4AA6-98FC-8F74BB0621CA}"), language.Identifier, new TranslateableLanguageItem("{B5C31A66-1B39-4CA7-BF02-AF271B5864F7}"), catalogueStore);
            catalogueStore.AddPolicyCatalogue(policyCatalogue);

            PolicySetObserver policySetObserver = new PolicySetObserver(policyCatalogue);

            Assert.AreEqual(0, policyCatalogue.Channels.Count);
            Assert.AreEqual(0, policyCatalogue.ActionGroups.Count);
            Assert.AreEqual(0, policyCatalogue.Actions.Count);
            Assert.AreEqual(0, policyCatalogue.LocationsCollection.Count);
            Assert.AreEqual(0, policyCatalogue.Locations.Count);

            PolicyChannel channel = new PolicyChannel(new Guid("{0FE26539-7AAD-46DC-8D5B-9651CC00B9E4}"), new TranslateableLanguageItem("Test channel"), ChannelType.SMTP);
            policySetObserver.AddObject(channel);

            IRoutingItemCollection senders = new RoutingItemCollection(new Guid("{441FDCBF-B606-4325-8CD5-E829AD5303B9}"), "Test sources");
            IRoutingItemCollection recipients = new RoutingItemCollection(new Guid("{29C44E5C-5405-409F-8513-A99AE246536F}"), "Test destinations");
            ActionMatrix actionMatrix = new ActionMatrix();
            channel.Actions = actionMatrix;

            ActionMatrixCell actionMatrixCell = new ActionMatrixCell(senders, recipients);
            actionMatrix[senders, recipients] = actionMatrixCell;          

            ConditionGroup conditionGroup = new ConditionGroup(new Guid("{9D065722-1106-4FC1-8D48-58733661B929}"), new TranslateableLanguageItem("Test condition group"), ConditionLogic.AND, false);
            ActionGroup actionGroup = new ActionGroup(new Guid("{E2A16C4D-E112-4249-92B9-612732117809}"), new TranslateableLanguageItem("Test action group"), 1);
            Action action = new Action(new Guid("{A5FAA63E-4F25-456F-92F9-9BB465C18F1F}"), "Test.dll", "Do.It", RunAt.Client, false, 1); //TODO JE
            ActionConditionGroup actionConditionGroup = new ActionConditionGroup(conditionGroup, actionGroup, false);
            
            actionMatrixCell.ActionConditionGroups.Add(actionConditionGroup);
            actionGroup.Actions.Add(action);

            Assert.AreEqual(1, policyCatalogue.Channels.Count, "Expected one channel");
            Assert.AreEqual(1, policyCatalogue.ActionGroups.Count, "Expected one action group");
            Assert.AreEqual(1, policyCatalogue.Actions.Count, "Expected one action");
            Assert.AreEqual(2, policyCatalogue.LocationsCollection.Count, "Expected two location groups");
            Assert.AreEqual(0, policyCatalogue.Locations.Count, "Expected no locations");
        }
Ejemplo n.º 42
0
        public static void BuildActionMatrix(IPolicy policy, ActionMatrix actionMatrix, ActionGroup actionGroup, IRoutingItemCollections senders, IRoutingItemCollections recipients)
        {
            ConditionGroup conditionGroup = new ConditionGroup(new Guid("{661EDD6F-D750-493A-9932-E56C8C22E2CF}"), new TranslateableLanguageItem("Test condition group"), ConditionLogic.AND, false);
            policy.Conditions.Add(conditionGroup);

            // Just fill out each cell with the same condition group for now...
            int i = 0;
            foreach (IRoutingItemCollection senderCollection in senders)
            {
                foreach (IRoutingItemCollection recipientCollection in recipients)
                {
                    ActionMatrixCell cell = new ActionMatrixCell(senderCollection, recipientCollection);
                    cell.AddActionCondition(conditionGroup, actionGroup, false);
                    actionMatrix[senderCollection, recipientCollection] = cell;
                    i++;
                }
            }

        }
        public void TestReadActionGroupCopyConstructors()
        {
            IActionGroup actionGroup = ReadActionGroupAttributesHelper();
            Assert.AreEqual("This is my first custom property", actionGroup["custom1"].Value);
            Assert.AreEqual("This is my second custom property", actionGroup["custom2"].Value);

            ActionGroup actionGroupCopy = new ActionGroup(actionGroup as ActionGroup);
            Assert.AreEqual("This is my first custom property", actionGroupCopy["custom1"].Value);
            Assert.AreEqual("This is my second custom property", actionGroupCopy["custom2"].Value);

            ActionGroup actionGroupCopy2 = new ActionGroup(actionGroup as ActionGroup, false, false);
            Assert.AreEqual("This is my first custom property", actionGroupCopy2["custom1"].Value);
            Assert.AreEqual("This is my second custom property", actionGroupCopy2["custom2"].Value);

            ActionGroup actionGroupCopy3 = new ActionGroup(actionGroup.Identifier, actionGroup.Name, 1);
            Assert.AreEqual("", actionGroupCopy3["custom1"].Value);
            Assert.AreEqual("", actionGroupCopy3["custom2"].Value);
        }
Ejemplo n.º 44
0
        private ActionGroup BuildActionGroup()
        {
            DataMethod dataMethod = new DataMethod("Test method");
            dataMethod.Parameters.Add(new Parameter("FindSomething", new DataElement(new TranslateableLanguageItem("string value"), new TranslateableLanguageItem(""), DataType.String, "missing")));
            dataMethod.Parameters.Add(new Parameter("RunSomething", new DataElement(new TranslateableLanguageItem("string value"), new TranslateableLanguageItem(""), DataType.String, "just do it!")));
            DataSource dataSource = new DataSource("Testme.dll", "TestMe", dataMethod);

            ObjectModel.IAction subAction = new ObjectModel.Action(new Guid("{72551FD1-D46D-4AF6-8DA3-76B5BCE01FD8}"), "CustomAction2.dll", "Test.Publish", RunAt.Server, true, 1); //TODO JE
            subAction.DataElements.Add(new DataElement(new Guid("{4E2F50C5-D310-47A1-AE3A-621F5C77FA68}"), new TranslateableLanguageItem("Do testing stuff"), new TranslateableLanguageItem("Do testing stuff"), DataType.Object, dataSource));

            IActionGroup subActionGroup = new ActionGroup(new Guid("{BBEF6879-6D10-455D-A5D9-86D9B8B725A6}"), new TranslateableLanguageItem("Test sub action group"), 1);
            subActionGroup.Actions.Add(subAction);

            ActionGroup actionGroup = new ActionGroup(new Guid("{987B7C8B-5ADD-4696-8456-DDE11D95CE0B}"), new TranslateableLanguageItem("Test action group"), 1);
            actionGroup.ActionGroups.Add(subActionGroup);

            IDataItem dataItem = DataItem.CreateDataItem(new TranslateableLanguageItem("Test data item"), DataType.Long, "10");
            ObjectModel.IAction action = new ObjectModel.Action(new Guid("{26BCFA7E-3605-4EE7-ACC6-0AFB4D5EBB71}"), "CustomAction.dll", "Test.Clean", RunAt.Client, false, 1); //TODO JE
            action.DataElements.Add(new DataElement(new Guid("{EB56B397-954D-45C2-ADBA-263372A8B59F}"), new TranslateableLanguageItem("Test data item stored in data element"), new TranslateableLanguageItem("Test data item stored in data element"), DataType.Long, dataItem));
            actionGroup.Actions.Add(action);

            return actionGroup;
        }
Ejemplo n.º 45
0
 //Adds a defend option to this profile
 public void AddDefendOption(string defendName, ActionGroup defendGroup, int baseDefense, int enduranceCost, string defendDescription)
 {
     DefendOption defOpt = new DefendOption(defendName, defendGroup, baseDefense, enduranceCost, defendDescription);
     defendList.Add(defOpt);
 }
Ejemplo n.º 46
0
 //Adds an attack option to this profile
 public void AddAttackOption(string attackName, AttackMethod attackMethod, ActionGroup attackGroup, int baseDamage, int enduranceCost, string attackDescription)
 {
     AttackOption atkOpt = new AttackOption(attackName, attackMethod, attackGroup, baseDamage, enduranceCost, attackDescription);
     attackList.Add(atkOpt);
 }
Ejemplo n.º 47
0
        public static void BuildActionMatrix(IPolicy policy, ActionMatrix actionMatrix, ActionGroup actionGroup)
        {
            ConditionGroup conditionGroup = new ConditionGroup(new Guid("{661EDD6F-D750-493A-9932-E56C8C22E2CF}"), new TranslateableLanguageItem("Test condition group"), ConditionLogic.AND, false);
            policy.Conditions.Add(conditionGroup);

            PolicyCataloguesCache policyCataloguesCache = PolicyCataloguesCache.Instance();
            IRoutingItemCollection senders1 = policyCataloguesCache.LocationsCollections[new Guid("{A81631A6-6AA3-45F7-AADD-4853447E5BD6}")];
            IRoutingItemCollection senders2 = policyCataloguesCache.LocationsCollections[new Guid("{0DAACC5C-6167-42C7-AED0-55D1D9CC5096}")];
            IRoutingItemCollection recipients1 = policyCataloguesCache.LocationsCollections[new Guid("{FA13BE82-9EB1-407E-9DD5-8005F3E840E4}")];
            IRoutingItemCollection recipients2 = policyCataloguesCache.LocationsCollections[new Guid("{13A8EBE5-8B1E-4919-82E2-8A860DE4043E}")];

            ActionMatrixCell actionMatrixCell1 = new ActionMatrixCell(senders1, recipients1);
            actionMatrixCell1.AddActionCondition(conditionGroup, actionGroup, false);

            ActionMatrixCell actionMatrixCell2 = new ActionMatrixCell(senders1, recipients2);
            actionMatrixCell1.AddActionCondition(conditionGroup, actionGroup, false);

            actionMatrix[senders1, recipients1] = actionMatrixCell1;
            actionMatrix[senders1, recipients2] = actionMatrixCell2;

            ConditionGroup conditionGroup2 = new ConditionGroup(new Guid("{D64056E5-A19D-4B29-8F4A-A70337B42A19}"), new TranslateableLanguageItem("Test condition group 2"), ConditionLogic.AND, false);
            policy.Conditions.Add(conditionGroup2);
            ActionMatrixCell actionMatrixCell3 = new ActionMatrixCell(senders2, recipients2);
            actionMatrixCell3.AddActionCondition(conditionGroup2, actionGroup, false);

            ActionMatrixCell actionMatrixCell4 = new ActionMatrixCell(senders2, recipients1);
            actionMatrixCell4.AddActionCondition(conditionGroup2, actionGroup, false);

            actionMatrix[senders2, recipients2] = actionMatrixCell3;
            actionMatrix[senders2, recipients1] = actionMatrixCell4;
        }
Ejemplo n.º 48
0
 public static IActionConditionGroup ActionConditionGroupFactory()
 {
     //TODO: Do we need to suppport nested Action Groups, but for the intial beta 
     //Steve says we assume a single action group containing all actions
     ConditionGroup conditionGroup = new ConditionGroup(Guid.NewGuid(), new TranslateableLanguageItem(""), ConditionLogic.AND, false);
     ActionGroup actionGroup = new ActionGroup(Guid.NewGuid(), new TranslateableLanguageItem(""), 1);
     ActionConditionGroup actionConditionGroup = new ActionConditionGroup(conditionGroup, actionGroup, false);
     return actionConditionGroup;
 }
Ejemplo n.º 49
0
        private ActionGroup ReadSpecialActionCell(XmlNode actionMatrixCellNode, XmlNode actionConditionGroupNode, string nodeName)
        {
            if ((null == actionMatrixCellNode) || (null == actionConditionGroupNode) || (nodeName != actionMatrixCellNode.Name))
                return null;

            string conditionGroupId = actionConditionGroupNode.Attributes.GetNamedItem("id").InnerText;

            XmlNode actionGroupNode = actionConditionGroupNode.SelectSingleNode("ActionGroup");
            string actionGroupNodeId = actionGroupNode.Attributes.GetNamedItem("id").InnerText;
            int precedence = Convert.ToInt32(actionGroupNode.Attributes.GetNamedItem("precedence").InnerText, CultureInfo.InvariantCulture);

            bool readOnly = PolicyUtilities.IsReadOnly(actionGroupNode);

            IPolicyObjectCollection<IActionGroup> availableActionGroups = m_reader.CataloguesCache.ActionGroups;
            ActionGroup actionGroup = new ActionGroup(availableActionGroups[new Guid(actionGroupNodeId)] as ActionGroup, precedence, readOnly);

            string xpath = string.Format(CultureInfo.InvariantCulture, @"{0}/ActionMatrix/{1}/ConditionGroups/ConditionGroup[@id='{2}']/",
                m_xpath.Substring(0, m_xpath.LastIndexOf("/")), nodeName, conditionGroupId);

            XmlActionReaderFactory.CreateReader(actionGroupNode, m_reader, actionGroup, xpath).Read();

            return actionGroup;
        }
Ejemplo n.º 50
0
        private void BuildPolicy(IPolicy policy)
        {
            IConditionGroup conditionGroup = new ConditionGroup(Guid.NewGuid(), new TranslateableLanguageItem(""), ConditionLogic.AND, false);
            policy.Conditions.Add(conditionGroup);

            ICondition condition = new Condition(Guid.NewGuid(), "TestClass", new TranslateableLanguageItem(""), OperatorType.Equals);
            conditionGroup.Conditions.Add(condition);
            condition.Parent = conditionGroup;

            DataMethod dataMethod = new DataMethod("ThisIsATest");
            DataElement parameterDataElement = new DataElement(Guid.NewGuid(), new TranslateableLanguageItem(""), new NonTranslateableLanguageItem(""), DataType.String, "Lets go dynamo");
            dataMethod.Parameters.Add(new Parameter("somethingTerrible", parameterDataElement));
            IDataSource dataSource = new DataSource("ThisIsADodgyAssembly.dll", "ItWantsToTakeOverYourComputer", dataMethod);
            condition.DataLeft = new DataElement(Guid.NewGuid(), new TranslateableLanguageItem(""), new NonTranslateableLanguageItem(""), DataType.Object, dataSource);

            IDataItem dataRightDataItem = DataItem.CreateDataItem(new TranslateableLanguageItem(""), DataType.String, "This is a test");
            condition.DataRight = new DataElement(Guid.NewGuid(), new TranslateableLanguageItem(""), new NonTranslateableLanguageItem(""), DataType.String, dataRightDataItem);


            //Now build a channel
            PolicyChannel channel = new PolicyChannel(Guid.NewGuid(), new TranslateableLanguageItem(""), ChannelType.SMTP);
            policy.Channels.Add(channel);
            RoutingTable routingTable = new RoutingTable(Guid.NewGuid(), new TranslateableLanguageItem(""), ChannelType.SMTP);
            channel.Routing = routingTable;

            IRoutingItemCollection senders = new RoutingItemCollection(Guid.NewGuid(), "");
            senders.Add(new RoutingItem(Guid.NewGuid(), "James Brown", "*****@*****.**"));
            senders.Add(new RoutingItem(Guid.NewGuid(), "Nat King Cole", "*****@*****.**"));

            IRoutingItemCollection recipients = new RoutingItemCollection(Guid.NewGuid(), "");
            recipients.Add(new RoutingItem(Guid.NewGuid(), "Jet Li", "*****@*****.**"));

            routingTable.Sources.Add(senders);
            routingTable.Destinations.Add(recipients);

            ActionMatrix actionMatrix = new ActionMatrix(false);
            channel.Actions = actionMatrix;
            ActionMatrixCell actionMatrixCell = new ActionMatrixCell(senders, recipients);
            actionMatrix[senders, recipients] = actionMatrixCell;

            ConditionGroup conditionGroup2 = new ConditionGroup(Guid.NewGuid(), new TranslateableLanguageItem(""), ConditionLogic.AND, false);
            ActionGroup actionGroup = new ActionGroup(Guid.NewGuid(), new TranslateableLanguageItem(""), 1);
            IActionConditionGroup actionConditionGroup = new ActionConditionGroup(conditionGroup2, actionGroup, false);

            actionMatrixCell.ActionConditionGroups.Add(actionConditionGroup);

            Action action = new Action(Guid.NewGuid(), new TranslateableLanguageItem(""), "TestAction.dll", "Test.Action", RunAt.Client, false, 1); //TODO JE

            DataItem dataItem = DataItem.CreateDataItem(new TranslateableLanguageItem(""), DataType.String, "Not again, when will it ever end!");
            DataElement dataElement = new DataElement(Guid.NewGuid(), new TranslateableLanguageItem(""), new TranslateableLanguageItem(""), DataType.String, dataItem);
            action.DataElements.Add(dataElement);
            actionConditionGroup.ActionGroup.Actions.Add(action);

            //Setup the Action Exception
            ConditionGroup conditionGroup3 = new ConditionGroup(Guid.NewGuid(), new TranslateableLanguageItem(""), ConditionLogic.AND, false);
            ActionGroup actionGroup3 = new ActionGroup(Guid.NewGuid(), new TranslateableLanguageItem(""), 1);
            IActionConditionGroup actionConditionGroup3 = new ActionConditionGroup(conditionGroup3, actionGroup3, false);

            Action action3 = new Action(Guid.NewGuid(), new TranslateableLanguageItem(""), "TestAction.dll", "Test.Action", RunAt.Client, false, 1);
            actionConditionGroup3.ActionGroup.Actions.Add(action3);

            actionMatrix.ActionExceptionHandler.ActionConditionGroups.Add(actionConditionGroup3);

            //Setup the Offline Actions
            ConditionGroup conditionGroup4 = new ConditionGroup(Guid.NewGuid(), new TranslateableLanguageItem(""), ConditionLogic.AND, false);
            ActionGroup actionGroup4 = new ActionGroup(Guid.NewGuid(), new TranslateableLanguageItem(""), 1);
            IActionConditionGroup actionConditionGroup4 = new ActionConditionGroup(conditionGroup4, actionGroup4, false);

            Action action4 = new Action(Guid.NewGuid(), new TranslateableLanguageItem(""), "TestAction.dll", "Test.Action", RunAt.Client, false, 1);
            actionConditionGroup4.ActionGroup.Actions.Add(action4);

            actionMatrix.Offline.ActionConditionGroups.Add(actionConditionGroup4);
        }
Ejemplo n.º 51
0
 public void AddActionCondition(ConditionGroup conditionGroup, ActionGroup actionGroup, bool readOnly)
 {
     m_actionGroups.Add(new ActionConditionGroup(conditionGroup, actionGroup, readOnly));
 }