示例#1
0
    public override void Setup()
    {
        pipeList       = new List <AbstractControl>();
        pipeLinkedList = new LinkedList <AbstractControl>();
        for (int i = 0; i < 3; i++)
        {
            Vector3 pos;
            if (i == 0)
            {
                pos = new Vector3(gameView.localPosition.x + 40, gameView.localPosition.y + GetRandomLocalY());
            }
            else
            {
                pos = new Vector3(gameView.localPosition.x + i * 40 + GetRandomLocalX(),
                                  gameView.localPosition.y + GetRandomLocalY());
            }

            pipeControl = PoolController.Use(ControlPrefab, pos) as PipeControl;
            pipeControl.PipeOffScreen += OnPipeOffScreen;
            pipeLinkedList.AddLast(pipeControl);
            pipeList.Add(pipeControl);
        }
        if (!startGame)
        {
            StopPipe();
        }
    }
示例#2
0
        public PipePanelViewModel(int pipeId)
        {
            CompositionInitializer.SatisfyImports(this);

            var getPipeTask = DatabaseLoader.GetPipe(pipeId, true);
            List<Task> tasks = new List<Task>();
            tasks.Add(getPipeTask);

            Task.Factory.ContinueWhenAll(tasks.ToArray(), x =>
            {
                CMS.UiFactory.StartNew(() =>
                {
                    mPipe = getPipeTask.Result;
                    Pipe = mPipe;

                    mPipeControl = new PipeControl(mPipe);

                    mPipeComponentsControl = new PipeComponentsControl(mPipe);
                    View.PipeControl.Content = mPipeControl;

                    //Components
                    mPipeComponentsControl.CollectionChanged += (count) =>
                    {
                        mPipe.GeneralEquipmentRelatedItemsCount.PropertyOrComponents = count;
                        SetTabHeadersText();
                    };
                    View.ComponentsTab.Content = mPipeComponentsControl;

                    //PipeAttachmentsControl
                    mPipeAttachmentsControl = new PipeAttachmentsControl(mPipe);
                    mPipeAttachmentsControl.CollectionChanged += (count) =>
                    {
                        mPipe.GeneralEquipmentRelatedItemsCount.Attachments = count;
                        SetTabHeadersText();
                    };
                    View.AttachmentsTab.Content = mPipeAttachmentsControl;

                    //PipeIssuesControl
                    mPipeRelatedIssuesControl = new PipeRelatedIssuesControl(mPipe);
                    mPipeRelatedIssuesControl.CollectionChanged += (count) =>
                    {
                        mPipe.GeneralEquipmentRelatedItemsCount.Issues = count;
                        SetTabHeadersText();
                    };

                    View.IssueTab.Content = mPipeRelatedIssuesControl;

                    //PipeDocumentsControl
                    mPipeDocumentsControl = new PipeDocumentsControl(mPipe);
                    mPipeDocumentsControl.CollectionChanged += (count) =>
                    {
                        mPipe.GeneralEquipmentRelatedItemsCount.Documents = count;
                        SetTabHeadersText();
                    };
                    View.DocumentsTab.Content = mPipeDocumentsControl;

                    //GET Tab Counts --------------------------------------------------
                    CmsWebServiceClient cmsWebServiceClient = new CmsWebServiceClient(Utils.WcfBinding, Utils.WcfEndPoint);
                    cmsWebServiceClient.GetPipeRelatedItemsCountCompleted += (s1, e1) =>
                    {
                        mPipe.GeneralEquipmentRelatedItemsCount = e1.Result;

                        if (Loaded != null)
                        {
                            Loaded();
                        }

                        //do this post data binding
                        SetHeadersBindings();
                        SetTabHeadersText();
                    };
                    cmsWebServiceClient.GetPipeRelatedItemsCountAsync(mPipe.Id);
                    //-------------------------------------------------------------
                });
            });
        }