/**************************************************** * Unity Functions * *************************************************/ // Use this for initialization void Start() { if (cam == null) { cam = Camera.main; } if (cam == null) { Debug.LogError("Missing Camera, please add one"); } camT = cam.transform; //add outline component to camera if missing OutlineEffect of = cam.GetComponent <OutlineEffect>(); if (of == null) { of = cam.gameObject.AddComponent <OutlineEffect>(); } //set outline color if the user want to if (useCustomOutlineColor) { of.lineColor0 = outlineColor; } object_placer = GetComponent <ObjectPlacer>(); object_selector = GetComponent <ObjectSelector>(); }
private void OnDisable() { //unsubscribe to event selector = GetComponent <ObjectSelector>(); if (selector != null) { selector.OnMenuCollapse -= BlockCamera; } }
void Start() { controller = GetComponent <CharacterController>(); myTransform = transform; cam = GetComponentInChildren <Camera>().transform; selector = GetComponent <ObjectSelector>(); if (selector != null) { selector.OnMenuCollapse += BlockCamera; //block camera rotaion when selecting items from menu } }
/**************************************************** * UI generation * *************************************************/ /// <summary> /// Create the buttons for all the elements /// </summary> /// <param name="container">Item list</param> /// <param name="selector">Object Selector Script referenct for callbacks</param> public void Populatemenu(BuildItemContainer container, ObjectSelector selector) { this.selector = selector; for (int i = 0; i < container.items.Count; i++) { var item = Instantiate(objPrefab, ButtonsParent).GetComponent <BuilderObjectUI>(); //reset position and scale of the instantiated item RectTransform rt = item.GetComponent <RectTransform>(); rt.localScale = Vector3.one; rt.localPosition = Vector3.zero; //setup content item.SetUp(container.items[i]); item.AddButtonListner(selector.UseItem, i); if (i == 0) //select the first button { SetSelectedItem(item); } } }