Exemplo n.º 1
0
        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++);
            }
        }
Exemplo n.º 2
0
        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;
        }
Exemplo n.º 3
0
        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);
            }
        }
Exemplo n.º 4
0
 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);
     }
 }