private void CreateExpandedItems(MenuItemTemplate item, VariableValue value, ref int index) { var list = value.List; for (var i = 0; i < list.Count; i++) { AddItem(item, null, list.GetVariable(i), index++); } }
private void AddItem(MenuItemTemplate item, MenuItem existing, VariableValue value, int index) { var parent = GetItemParent(); var obj = existing == null?Instantiate(item.Template, parent) : existing; obj.Setup(item, existing == null); obj.Move(index); obj.Index = index; obj.Label = item.Id; obj.Value = value; obj.Focused = false; }
private void CreateSceneItem(MenuItemTemplate item, VariableValue value, ref int index) { var obj = transform.Find(item.Name); var menu = obj != null?obj.GetComponent <MenuItem>() : null; if (menu) { AddItem(item, menu, value, index++); } else { Debug.LogErrorFormat(this, _missingChildError, item.Name, name); } }
private void CreateListItem(MenuItemTemplate item, VariableValue value, ref int index) { if (item.Source == MenuItemTemplate.ObjectSource.Asset) { if (item.Template == null) { Debug.LogErrorFormat(this, _missingTemplateError, item.Label, name); } else if (item.Expand) { CreateExpandedItems(item, value, ref index); } else { AddItem(item, null, value, index++); } } else if (item.Source == MenuItemTemplate.ObjectSource.Scene) { CreateSceneItem(item, value, ref index); } }