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(); } }
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); //------------------------------------------------------------- }); }); }