// =========================================================== // Constants // =========================================================== // =========================================================== // Methods // =========================================================== public static EnergyBar3DBase Create3DBar(EnergyBar3DBase.BarType type) { var panel = MadPanel.UniqueOrNull(); if (panel == null) { EditorUtility.DisplayDialog("Not Initialized", "You have to initialize EBT first", "OK"); MadInitTool.ShowWindow(); return null; } else { switch (type) { case EnergyBar3DBase.BarType.Filled: return FillRenderer3DBuilder.Create(); case EnergyBar3DBase.BarType.Repeated: return RepeatRenderer3DBuilder.Create(); default: Debug.LogError("Unknown bar type: " + type); return null; } } }
static Transform ActiveParentOrPanel() { Transform parentTransform = null; var transforms = Selection.transforms; if (transforms.Length > 0) { var firstTransform = transforms[0]; if (MadTransform.FindParent<MadPanel>(firstTransform) != null) { parentTransform = firstTransform; } } if (parentTransform == null) { var panel = MadPanel.UniqueOrNull(); if (panel != null) { parentTransform = panel.transform; } } return parentTransform; }
// =========================================================== // Static Methods // =========================================================== public static RepeatedRenderer3D Create() { var panel = MadPanel.UniqueOrNull(); if (panel == null) { var panels = MadPanel.All(); if (panels.Length == 0) { if (EditorUtility.DisplayDialog( "Init Scene?", "Scene not initialized for 3D bars. You cannot place new bar without proper initialization. Do it now?", "Yes", "No")) { MadInitTool.ShowWindow(); } } else { CreateMeshBarTool.ShowWindow(EnergyBar3DBase.BarType.Repeated); } return null; } else { return Create(panel); } }
// =========================================================== // Static Methods // =========================================================== public static FilledRenderer3D Create() { var panel = MadPanel.UniqueOrNull(); if (panel == null) { if (EditorUtility.DisplayDialog( "Init Scene?", "Scene not initialized for 3D bars. You cannot place new bar without proper initialization. Do it now?", "Yes", "No")) { MadInitTool.ShowWindow(); return null; } panel = MadPanel.UniqueOrNull(); } var bar = MadTransform.CreateChild<FilledRenderer3D>(panel.transform, "fill progress bar"); TryApplyExampleTextures(bar); Selection.activeObject = bar.gameObject; return bar; }