예제 #1
0
        private void BuildSequenceGraphLogicCore()
        {
            const LayoutAlgorithmTypeEnum algo = LayoutAlgorithmTypeEnum.Tree;
            var logicCore = new LogicCore {
                DefaultLayoutAlgorithm = algo
            };

            logicCore.DefaultLayoutAlgorithmParams = logicCore.AlgorithmFactory.CreateLayoutParameters(algo);
            var layoutParams = ((SimpleTreeLayoutParameters)logicCore.DefaultLayoutAlgorithmParams);

            layoutParams.Direction = LayoutDirection.LeftToRight;
            layoutParams.LayerGap  = 125;
            layoutParams.VertexGap = 40;

            logicCore.DefaultOverlapRemovalAlgorithm = OverlapRemovalAlgorithmTypeEnum.None;
            logicCore.DefaultEdgeRoutingAlgorithm    = EdgeRoutingAlgorithmTypeEnum.None;
            logicCore.AsyncAlgorithmCompute          = false;

            if (this.SequenceGraphArea.LogicCore != null && this.SequenceGraphArea.LogicCore.Graph != null)
            {
                logicCore.Graph = this.SequenceGraphArea.LogicCore.Graph;
            }

            this.SequenceGraphArea.LogicCore = logicCore;
            this.SequenceGraphArea.GenerateGraph(true);
        }
예제 #2
0
    void Start()
    {
        //Debug.Log("PlayerConnectionObj Start. Local: " + isLocalPlayer.ToString());
        UIController.instance.DBPWrite("Player " + this.playerId.ToString() + " joined!");
        if (isServer)          //We're the object on the server, need to link up to logic core
        //Debug.Log("pco init: This is the server");
        {
            GameObject logicCoreObj = GameObject.FindGameObjectWithTag("LogicCore");
            if (logicCoreObj != null)
            {
                this.lc = logicCoreObj.GetComponent <LogicCore>();
                //Debug.Log("pco init: Logic core found by server instance of player: " + this.lc.ToString());
            }
            //else
            //Debug.Log("pco init: Found no logic Core server instance of player");
        }
        if (isLocalPlayer)          // We're the local player, need to grab out grids, set their owner, set color
        //Debug.Log("pco init: This is the local player");
        //distinguish name? bad idea?
        {
            gameObject.name = gameObject.name + "Local";
            //Find our UIC and do it's setup
            UIController.instance = GameObject.FindGameObjectWithTag("UIGroup").GetComponent <UIController>();
            UIController.instance.DBPWrite("Player " + this.playerId.ToString() + " joined!");
            //Find our local playboard, and get grids
            this.pb      = GameObject.FindGameObjectWithTag("PlayBoard").GetComponent <PlayBoard2D>();       // Find the playboard in the scene
            this.pb.pobj = this;
            //this.ip = GameObject.FindGameObjectWithTag("InputProcessor").GetComponent<InputProcessor>();
            InputProcessor.instance.RegisterReport(this);

            this.isReady = true;             //Now we can recieve RPC's ready's set
            this.CmdRequestGameStateUpdate();
            this.CmdRequestGridUpdate();
        }
    }
        /// <summary>
        /// Prepares graph area control for future use.
        /// </summary>
        /// <returns></returns>
        public static ReadyGraphArea Initialize(DataGraph graph)
        {
            var gg_Area = new ReadyGraphArea();

            try
            {
                var logicCore = new LogicCore();
                logicCore.DefaultLayoutAlgorithm       = GraphX.LayoutAlgorithmTypeEnum.Tree;
                logicCore.DefaultLayoutAlgorithmParams =
                    logicCore.AlgorithmFactory.CreateLayoutParameters(GraphX.LayoutAlgorithmTypeEnum.Tree);
                ((SimpleTreeLayoutParameters)logicCore.DefaultLayoutAlgorithmParams).LayerGap               = 100;
                ((SimpleTreeLayoutParameters)logicCore.DefaultLayoutAlgorithmParams).VertexGap              = 100;
                ((SimpleTreeLayoutParameters)logicCore.DefaultLayoutAlgorithmParams).WidthPerHeight         = 1000;
                ((SimpleTreeLayoutParameters)logicCore.DefaultLayoutAlgorithmParams).OptimizeWidthAndHeight = true;

                /************************************/

                /*logicCore.DefaultLayoutAlgorithm = GraphX.LayoutAlgorithmTypeEnum.KK;
                 * logicCore.DefaultLayoutAlgorithmParams =
                 *                 logicCore.AlgorithmFactory.CreateLayoutParameters(GraphX.LayoutAlgorithmTypeEnum.KK);
                 * ((KKLayoutParameters)logicCore.DefaultLayoutAlgorithmParams).MaxIterations = 100;*/

                /*************************************/



                logicCore.DefaultOverlapRemovalAlgorithm       = GraphX.OverlapRemovalAlgorithmTypeEnum.FSA;
                logicCore.DefaultOverlapRemovalAlgorithmParams =
                    logicCore.AlgorithmFactory.CreateOverlapRemovalParameters(GraphX.OverlapRemovalAlgorithmTypeEnum.FSA);
                ((OverlapRemovalParameters)logicCore.DefaultOverlapRemovalAlgorithmParams).HorizontalGap = 100;
                ((OverlapRemovalParameters)logicCore.DefaultOverlapRemovalAlgorithmParams).VerticalGap   = 100;

                logicCore.DefaultEdgeRoutingAlgorithm = GraphX.EdgeRoutingAlgorithmTypeEnum.SimpleER;
                logicCore.EnableParallelEdges         = true;
                logicCore.EdgeShowSelfLooped          = true;
                logicCore.EdgeSelfLoopCircleOffset    = new Point(0, 0);
                logicCore.AsyncAlgorithmCompute       = false;
                logicCore.ParallelEdgeDistance        = 50;
                logicCore.EdgeSelfLoopCircleRadius    = 50;
                logicCore.EdgeCurvingEnabled          = true;
                gg_Area.LogicCore        = logicCore;
                gg_Area.EdgeDoubleClick += delegate(object sender, EdgeSelectedEventArgs args)
                {
                    var backRef = ((DataEdge)(args.EdgeControl.Edge)).BackRef;
                    GoToCodeEventHandler.ClickHandler(backRef, args);
                };
                gg_Area.InitializeComponent();
                gg_Area.GenerateGraph(graph, true, true, true);
                gg_Area.ShowAllEdgesLabels(true);
                gg_Area.AlignAllEdgesLabels(false);
            }
            catch (Exception e)
            {
                MessageBox.Show(e.Message);
                MessageBox.Show(e.StackTrace);
            }
            return(gg_Area);
        }
        /// <summary>
        /// Prepares graph area control for future use.
        /// </summary>
        /// <returns></returns>
        public static ReadyGraphArea Initialize(DataGraph graph)
        {
            var gg_Area = new ReadyGraphArea();
            try
            {
                var logicCore = new LogicCore();
                logicCore.DefaultLayoutAlgorithm = GraphX.LayoutAlgorithmTypeEnum.Tree;
                logicCore.DefaultLayoutAlgorithmParams =
                                   logicCore.AlgorithmFactory.CreateLayoutParameters(GraphX.LayoutAlgorithmTypeEnum.Tree);
                ((SimpleTreeLayoutParameters)logicCore.DefaultLayoutAlgorithmParams).LayerGap = 100;
                ((SimpleTreeLayoutParameters)logicCore.DefaultLayoutAlgorithmParams).VertexGap = 100;
                ((SimpleTreeLayoutParameters) logicCore.DefaultLayoutAlgorithmParams).WidthPerHeight = 1000;
                ((SimpleTreeLayoutParameters)logicCore.DefaultLayoutAlgorithmParams).OptimizeWidthAndHeight = true;

                /************************************/

                /*logicCore.DefaultLayoutAlgorithm = GraphX.LayoutAlgorithmTypeEnum.KK;
                logicCore.DefaultLayoutAlgorithmParams =
                                   logicCore.AlgorithmFactory.CreateLayoutParameters(GraphX.LayoutAlgorithmTypeEnum.KK);
                ((KKLayoutParameters)logicCore.DefaultLayoutAlgorithmParams).MaxIterations = 100;*/

                /*************************************/



                logicCore.DefaultOverlapRemovalAlgorithm = GraphX.OverlapRemovalAlgorithmTypeEnum.FSA;
                logicCore.DefaultOverlapRemovalAlgorithmParams =
                                  logicCore.AlgorithmFactory.CreateOverlapRemovalParameters(GraphX.OverlapRemovalAlgorithmTypeEnum.FSA);
                ((OverlapRemovalParameters)logicCore.DefaultOverlapRemovalAlgorithmParams).HorizontalGap = 100;
                ((OverlapRemovalParameters)logicCore.DefaultOverlapRemovalAlgorithmParams).VerticalGap = 100;

                logicCore.DefaultEdgeRoutingAlgorithm = GraphX.EdgeRoutingAlgorithmTypeEnum.SimpleER;
                logicCore.EnableParallelEdges = true;
                logicCore.EdgeShowSelfLooped = true;
                logicCore.EdgeSelfLoopCircleOffset = new Point(0,0);
                logicCore.AsyncAlgorithmCompute = false;
                logicCore.ParallelEdgeDistance = 50;
                logicCore.EdgeSelfLoopCircleRadius = 50;
                logicCore.EdgeCurvingEnabled = true;               
                gg_Area.LogicCore = logicCore;
                gg_Area.EdgeDoubleClick += delegate(object sender, EdgeSelectedEventArgs args)
                {
                    var backRef = ((DataEdge) (args.EdgeControl.Edge)).BackRef;
                    GoToCodeEventHandler.ClickHandler(backRef, args);
                };
                gg_Area.InitializeComponent();
                gg_Area.GenerateGraph(graph, true, true, true);
                gg_Area.ShowAllEdgesLabels(true);
                gg_Area.AlignAllEdgesLabels(false);
            }
            catch (Exception e)
            {
                MessageBox.Show(e.Message);
                MessageBox.Show(e.StackTrace);
            }
            return gg_Area;
        }
예제 #5
0
        public FormContact(Contact contact, bool flag, LogicCore core)
        {
            InitializeComponent();
            LogicCore = core;
            Contact   = contact;
            flag1     = flag;
            Load     += FormContact_Load;
            newPhones = Contact.Numbers;

            dataGridView1.DataSource = bindingSource;
            Numbers.DataPropertyName = "Number";
            Types.DataSource         = Enum.GetValues(typeof(PhoneType)).Cast <PhoneType>().Select(p => new { Name = Enum.GetName(typeof(PhoneType), p), Value = (int)p }).ToList();
            Types.DisplayMember      = "Name";
            Types.ValueMember        = "Name";
            Types.DataPropertyName   = "Type";
            bindingSource.DataSource = Contact.Numbers;

            dataGridView1.Columns["Contact_id"].Visible = false;
        }
예제 #6
0
        public FormMain1(LogicCore core)
        {
            InitializeComponent();

            LogicCore = core;

            core.LoadFirst();
            dataGridViewMain.DataSource = bindingSource1;
            bindingSource1.DataSource   = core.Contacts;
            ColumnFIO.DataPropertyName  = "FIO";
            dataGridViewMain.Columns["Name"].Visible       = false;
            dataGridViewMain.Columns["LastName"].Visible   = false;
            dataGridViewMain.Columns["ImageBytes"].Visible = false;
            dataGridViewMain.Columns["Bithday"].Visible    = false;
            dataGridViewMain.Columns["SecondName"].Visible = false;
            dataGridViewMain.Columns["Email"].Visible      = false;
            dataGridViewMain.Columns["Id"].Visible         = false;
            dataGridViewMain.Columns["FIO"].Visible        = false;
        }
예제 #7
0
 public MainCore(SwapChainManager swapChainManager)
 {
     Storage  = new StorageCore();
     Renderer = new Renderer(swapChainManager);
     Logic    = new LogicCore(Storage);
 }
예제 #8
0
 public void Awake()
 {
     Instance = this;
     //全局对象
     DontDestroyOnLoad(gameObject);
 }