public virtual void Launch(EditMain _editmain) { Util.FindIfNotSet(this, ref toolMemory); editMain = _editmain; mainAnchor = editMain.mainAnchor; emissionAnchor = editMain.emissionAnchor; inputControl = editMain.GetInputControl(); active = true; if (reticleRect != null) { reticleRect.SetParent(editMain.GetReticleAnchor()); reticleRect.anchoredPosition = Vector2.zero; reticleRect.gameObject.SetActive(true); } if (subtoolbarRect != null) { subtoolbarRect.SetParent(editMain.bottomToolbarAnchor); subtoolbarRect.SetAsFirstSibling(); subtoolbarRect.anchoredPosition = Vector2.zero; subtoolbarRect.localScale = Vector3.one; } if (subtoolbar != null) { subtoolbar.Setup(); subtoolbar.OnSelectIndex = (newindex) => subtoolbarIndex = newindex; subtoolbar.SelectIndex(toolMemory.RequestSubtoolbarIndex(GetType())); } }