public void DesignComplete(IDesigned design) { if (design.IsDesigned) { OnAnyIDesignComplete?.Invoke(design); } }
public void MarkAsComplete(IDesigned design) { if (design.IsDesigned) { doneImage.gameObject.SetActive(true); } }
public void DisplayEngineeringProject(IDesigned design) { if (this.design != null) { this.design.OnDesignProgressEvent -= UpdateProjectProgress; this.design.OnDesignChangeEvent -= MarkAsComplete; } this.design = design; Part part = design as Part; if (part != null) { DisplayPart(); } this.design.OnDesignProgressEvent += UpdateProjectProgress; this.design.OnDesignChangeEvent += MarkAsComplete; UpdateProjectProgress(this.design); if (this.design.IsDesigned != true) { doneImage.gameObject.SetActive(false); } else { doneImage.gameObject.SetActive(true); } }
public void SubmitPartDesign(Part part) { IDesigned design = part as IDesigned; design.OnDesignChangeEvent += DesignComplete; partDesigns.Add(part); partAndPriority.Add(design, 1); OnNewIDesign?.Invoke(design); Debug.Log("New Part submitted to engineering. Cost: " + design.DesignCost); }
public void UpdateProjectProgress(IDesigned design) { progressImage.fillAmount = 1 - (design.DesignProgress / design.DesignCost); }
public void CreateNewIDesignPanel(IDesigned design) { EngineeringProjectPanel panel = EngineeringProjectPanelPool.GetGameObject().GetComponent <EngineeringProjectPanel>(); panel.DisplayEngineeringProject(design); }