private static void CreateTemplate() { var baseTemplate = UnityEngine.Object.Instantiate <Transform>(ScheduleIndicator.BaseTemplate); baseTemplate.gameObject.name = "TotalContainer"; baseTemplate.gameObject.SetActive(false); Transform timeContainer = baseTemplate.Find("TimeIndicator"); timeContainer.gameObject.AddComponent <CanvasRenderer>(); timeContainer.gameObject.AddComponent <NonDrawingGraphic>(); timeContainer.Find("Icon").DestroyGameObject(true); _template = baseTemplate.gameObject.AddComponent <ScheduleTotalIndicator>(); Transform totalLabel = timeContainer.Find("Text"); totalLabel.name = "Label"; // totalLabel.GetComponent<Text>().text = "∑"; totalLabel.GetComponent <Text>().text = ""; totalLabel.GetComponent <Text>().font = R.Fonts.FontAwesome5FreeSolid900; Transform textTransform2 = UnityEngine.Object.Instantiate <Transform>(totalLabel, totalLabel.parent); textTransform2.name = "TotalTimeText"; Text text2 = textTransform2.GetComponent <Text>(); text2.text = LazyManager <LocaleManager> .Current.Locale.GetString("schedule_stopwatch/unknown").ToUpper(); CargoCapacityIndicator.GetInstance(baseTemplate.transform); }
public static ScheduleTotalIndicator GetInstance(Transform parent) { if (_template == null) { CreateTemplate(); } ScheduleTotalIndicator result = UnityEngine.Object.Instantiate <ScheduleTotalIndicator>(_template, parent); result.transform.name = "TotalDuration"; return(result); }
private void CreateTimeIndicators(VehicleWindowScheduleTabSeparatorView separatorView, int insertIndex) { Settings settings = Settings.Current; RootTask task = ScheduleTab.Vehicle.Schedule.GetTasks()[insertIndex]; if (insertIndex == 0 && (settings.ShowScheduleTotalTime || settings.ShowTotalTransferCapacity)) { _totalIndicator = ScheduleTotalIndicator.GetInstance(separatorView.transform); _totalIndicator.transform.SetSiblingIndex(0); _totalIndicator.Initialize(ScheduleData, settings); _totalIndicator.gameObject.SetActive(true); } if ((settings.ShowIndividualTaskTimes || settings.ShowIndividualUnloadingCapacity || settings.ShowIndividualLoadingCapacity) && task.Behavior != RootTaskBehavior.NonStop) { ScheduleTaskIndicator indicator = ScheduleTaskIndicator.GetInstance(separatorView.transform); indicator.Initialize(task, ScheduleData, settings); indicator.gameObject.SetActive(true); } }