protected override GameObject OnItemInsert(int position, EZData.Context item, string smartObject)
    {
        if (_tabPanel == null)
            return null;

        for (var i = 0; i < _tabPanel.items.Length; ++i)
        {
            if (_tabPanel.items[i].order >= position)
            {
                _tabPanel.items[i].setOrder(_tabPanel.items[i].order + 1);
                _tabPanel.items[i].name = (_tabPanel.items[i].order + 1).ToString() + "-Panel";
            }
        }

        var r = _tabPanel.newPanel(GetStringValue(item, TitleTextPath, _titleTextsCache));

        if (LabelTextPath.Length > 0)
            r.gameObject.AddComponent<iGuiLabelTextBinding>().Path = LabelTextPath;
        if (LabelImagePath.Length > 0)
            r.gameObject.AddComponent<iGuiLabelTextureBinding>().Path = LabelImagePath;
        if (LabelTooltipPath.Length > 0)
            r.gameObject.AddComponent<iGuiTooltipTextBinding>().Path = LabelTooltipPath;

        r.addSmartObject(smartObject);

        if (r == null)
            return null;
        r.setOrder(position);
        r.name = (_tabPanel.items[position].order + 1).ToString() + "-Panel";
        OnOptionDataChange(position, item);

        return r.gameObject;
    }
Example #2
0
	public virtual GameObject Instantiate(EZData.Context itemContext, int index)
	{
		if (Template == null)
		{
			return null;
		}
		
		GameObject instance = (GameObject)Instantiate(Template);
		
		var subTemplates = instance.GetComponentsInChildren<NguiListItemTemplate>();
		foreach (var st in subTemplates)
		{
			if (st.Template == instance)
				st.Template = Template;
		}
		
		foreach(UIDragCamera cd in instance.GetComponentsInChildren<UIDragCamera>())
		{
			if (cd.draggableCamera == null && DraggableCamera != null)
				cd.draggableCamera = DraggableCamera;
		}
		var itemData = instance.AddComponent<NguiItemDataContext>();
		
		instance.transform.parent = transform;
        //Debug.LogError("SetContext " + itemContext.GetType().Name);
		itemData.SetContext(itemContext);
		instance.transform.parent = null;
		
		itemData.SetIndex(index);
			
		return instance;
	}
 public void ApplyContext(GameObject instance, EZData.Context itemContext, int index)
 {
     if (instance == null)
         return;
     var itemData = instance.AddComponent<iGuiItemDataContext>();
     itemData.SetContext(itemContext, _rootContext.Root);
     itemData.SetIndex(index);
 }
	protected virtual void OnItemInsert(int position, EZData.Context item)
	{
		GameObject itemObject = null;
		if (_itemTemplate != null)
		{
			itemObject = _itemTemplate.Instantiate(item, position);
			
			itemObject.name = string.Format("{0}", position);
			for (var i = 0; i < transform.childCount; ++i)
			{
				var child = transform.GetChild(i).gameObject;
				int childNumber;
				if (int.TryParse(child.name, out childNumber) && childNumber >= position)
				{
					child.name = string.Format("{0}", childNumber + 1);
				}
			}
			itemObject.transform.parent = gameObject.transform;
			itemObject.transform.localScale = Vector3.one;
			itemObject.transform.localPosition = Vector3.back;
		}
		else
		{
			if (position < transform.childCount)
			{
				itemObject = transform.GetChild(position).gameObject;	
				var itemData = itemObject.GetComponent<NguiItemDataContext>();
				if (itemData != null)
				{
					itemData.SetContext(item);
					itemData.SetIndex(position);
				}
			}
		}
		if (itemObject != null)
		{
			foreach(var dragObject in itemObject.GetComponentsInChildren<UIDragObject>())
			{
				if (dragObject.target == null)
					dragObject.target = gameObject.transform;
			}
			foreach(var dragObject in itemObject.GetComponents<UIDragObject>())
			{
				if (dragObject.target == null)
					dragObject.target = gameObject.transform;
			}
			
			var parentVisibility = NguiUtils.GetComponentInParentsAs<IVisibilityBinding>(gameObject);
			foreach(var visibility in NguiUtils.GetComponentsInChildrenAs<IVisibilityBinding>(itemObject))
			{
				visibility.InvalidateParent();
			}
			var visible = parentVisibility == null ? true : parentVisibility.Visible;
			NguiUtils.SetVisible(itemObject, visible);
			
			RepositionContent();
		}
	}
 protected override GameObject OnItemInsert(int position, EZData.Context item, string smartObject)
 {
     var option = new GUIContent(
         GetStringValue(item, LabelTextPath, _labelTextsCache),
         (LabelImagePath.Length > 0) ? GetTextureValue(item, LabelImagePath, _labelImagesCache) : null,
         (LabelTooltipPath.Length > 0) ? GetStringValue(item, LabelTooltipPath, _labelTooltipsCache) : string.Empty);
     _dropDownList.insertOption(position, option);
     return null;
 }
	public void SetContext(EZData.Context c)
	{
		_context =  c;

        var bindings = gameObject.GetComponentsInChildren<NguiBaseBinding>();
		foreach (var binding in bindings)
		{
			binding.UpdateBinding();
		}
	}
 private void OnItemInsert(int position, EZData.Context item)
 {
     if (_itemTemplate != null)
     {
         var obj = OnItemInsert(position, item, _itemTemplate.SmartObject);
         _itemTemplate.ApplyContext(obj, item, position);
     }
     else
     {
         OnItemInsert(position, item, string.Empty);
     }
 }
Example #8
0
    public void SetContext(EZData.Context c, iGuiRootContext rootContext)
    {
        _context =  c;
        _root = rootContext;

        var bindings = gameObject.GetComponentsInChildren<iGuiBinding>();
        foreach (var binding in bindings)
        {
            binding.SetContext(this);
        }

        var multiBindings = gameObject.GetComponentsInChildren<iGuiMultiBinding>();
        foreach (var binding in multiBindings)
        {
            binding.SetContext(this);
        }
    }
    protected override GameObject OnItemInsert(int position, EZData.Context item, string smartObject)
    {
        if (_listBox == null)
            return null;

        for (var i = 0; i < _listBox.items.Length; ++i)
        {
            if (_listBox.items[i].order >= position)
            {
                _listBox.items[i].setOrder(_listBox.items[i].order + 1);
                _listBox.items[i].name = (_listBox.items[i].order + 1).ToString() + "-Item";
            }
        }
        var r = _listBox.addSmartObject(smartObject);
        if (r == null)
            return null;
        r.setOrder(position);
        r.name = (_listBox.items[position].order + 1).ToString() + "-Item";

        return r.gameObject;
    }
Example #10
0
	public GameObject Instantiate(EZData.Context itemContext, int index, int groupNumber)
	{
		if (Template == null)
		{
			return null;
		}

		GameObject instance;

		instance = (GameObject)Instantiate(Template);

		
		var subTemplates = instance.GetComponentsInChildren<NguiListItemTemplate>();
		foreach (var st in subTemplates)
		{
			if (st.Template == instance)
				st.Template = Template;
		}
		
		foreach(UIDragCamera cd in instance.GetComponentsInChildren<UIDragCamera>())
		{
			if (cd.draggableCamera == null && DraggableCamera != null)
				cd.draggableCamera = DraggableCamera;
		}
		var itemData = instance.AddComponent<NguiItemDataContext>();

        instance.transform.SetParent(transform);
		itemData.SetContext(itemContext);
		instance.transform.SetParent(null);
		
		itemData.SetIndex(index);
			
		var toggle = itemData.GetComponent<UIToggle> ();

		if (toggle != null) {
			toggle.group = groupNumber;
		}

        return instance;
	}
	private EZData.Property<string> GetDisplayValueProperty(EZData.Context item)
	{
		if (item == null)
			return null;
		
		EZData.Property<string> property = null;
		if (_displayValuesCache.TryGetValue(item, out property))
			return property;
		property = item.FindProperty<string>(DisplayValuePath, this);
		if (property != null)
			_displayValuesCache.Add(item, property);
		return property;
	}
	protected override void OnItemInsert(int position, EZData.Context item)
	{
		base.OnItemInsert(position, item);
		_uiPopupList.items.Insert(position, GetDisplayValueProperty(item).GetValue());
		AssignValue(GetItemDisplayValue(_collection.SelectedIndex));
	}
Example #13
0
	public void SetContext(EZData.IContext context)
	{
		_context = context;
	}
 private void CleanupChangeCallback(EZData.Context key)
 {
     if (_labelTextsCache.ContainsKey(key))
         _labelTextsCache[key].OnChange -= OnOptionDataChange;
     if (_labelTooltipsCache.ContainsKey(key))
         _labelTooltipsCache[key].OnChange -= OnOptionDataChange;
     if (_labelImagesCache.ContainsKey(key))
         _labelImagesCache[key].OnChange -= OnOptionDataChange;
     if (_valuesCache.ContainsKey(key))
         _valuesCache[key].OnChange -= OnOptionDataChange;
 }
 private Texture2D GetTextureValue(EZData.Context item, string path, Dictionary<EZData.Context, EZData.Property<Texture2D>> cache)
 {
     if (item == null)
         return null;
     EZData.Property<Texture2D> property = null;
     if (cache.TryGetValue(item, out property))
         return property.GetValue();
     property = item.FindProperty<Texture2D>(path, this);
     if (property == null)
         return null;
     property.OnChange += OnOptionDataChange;
     cache.Add(item, property);
     return property.GetValue();
 }
 private bool GetBoolValue(EZData.Context item, string path, Dictionary<EZData.Context, EZData.Property<bool>> cache)
 {
     if (item == null)
         return false;
     EZData.Property<bool> property = null;
     if (cache.TryGetValue(item, out property))
         return property.GetValue();
     property = item.FindProperty<bool>(path, this);
     if (property == null)
         return false;
     property.OnChange += OnOptionDataChange;
     cache.Add(item, property);
     return property.GetValue();
 }
 protected abstract GameObject OnItemInsert(int position, EZData.Context item, string smartObject);
    private void OnOptionDataChange(int fakeItemIndex, EZData.Context fakeItem)
    {
        for (var i = 0; i < _tabPanel.titles.Count; ++i)
        {
            var item = (i == fakeItemIndex) ? fakeItem : _collection.GetBaseItem((i > fakeItemIndex) ? i - 1 : i);
            Debug.Log("Setting item " + i + " to " + GetStringValue(item, TitleTextPath, _titleTextsCache));

            _tabPanel.titles[i].text = GetStringValue(item, TitleTextPath, _titleTextsCache);
            _tabPanel.titles[i].image = (TitleImagePath.Length > 0) ? GetTextureValue(item, TitleImagePath, _titleImagesCache) : null;
            _tabPanel.titles[i].tooltip = (TitleTooltipPath.Length > 0) ? GetStringValue(item, TitleTooltipPath, _titleTooltipsCache) : string.Empty;
        }
    }
 private void CleanupChangeCallback(EZData.Context key)
 {
     if (_titleTextsCache.ContainsKey(key))
         _titleTextsCache[key].OnChange -= OnOptionDataChange;
     if (_titleTooltipsCache.ContainsKey(key))
         _titleTooltipsCache[key].OnChange -= OnOptionDataChange;
     if (_titleImagesCache.ContainsKey(key))
         _titleImagesCache[key].OnChange -= OnOptionDataChange;
 }