using UnityEngine; using System.Xml.Linq; using UnityEngine.UI; using exprivia.ui; using sam; using System.Linq; public abstract class VariablesViewController : MonoBehaviour { public IDataView variablesDataView; public GameObject itemPrefab; public Text selVarDescText; protected VariablesViewDelegate variablesDelegate; protected VariablesViewDataSource variablesDataSource; public ProductLoader prodLoader; private void Start() { variablesDelegate = exprivia.Utils.GetOrAddComponent(gameObject); variablesDataSource = exprivia.Utils.GetOrAddComponent(gameObject); variablesDelegate.itemPrefab = itemPrefab; variablesDelegate.selVarDescText = selVarDescText; if (variablesDataView == null) variablesDataView = gameObject.GetComponent(); if (variablesDataView == null) Debug.LogError("MyListViewController -> Start() : unable to find ListView component of GameObject '" + gameObject.name + "'"); else { variablesDelegate.variablesDataView = variablesDataView; variablesDataView.SetDelegate(variablesDelegate); variablesDataView.SetDataSource(variablesDataSource); InitializeVariablesData(); } } protected abstract void InitializeVariablesData(); /*{ prodLoader = FindObjectOfType(); if (prodLoader == null) { Debug.LogError("could not find ProductLoader"); return; } var sortedList = prodLoader.profile.variables.OrderBy(i => i.name); foreach (var v in sortedList) { XAttribute attr = v.xmlElt.Attribute("visualize"); if ((attr == null) || (string.Compare(attr.Value, "1") != 0)) continue; VariablesDataSourceType item = new VariablesDataSourceType(v.variableIndex, v.name, v.description); variablesDataSource.Add(item); } //for (int i = 0; i < prodLoader.profile.variables.Count; i++) { // XAttribute attr = prodLoader.profile.variables[i].xmlElt.Attribute("visualize"); // if ((attr == null) || (string.Compare(attr.Value, "1") != 0)) // { // continue; // } // string title = prodLoader.profile.variables[i].name; // string description = prodLoader.profile.variables[i].description; // VariablesDataSourceType item = new VariablesDataSourceType(i, title, description); // variablesDataSource.Add(item); //} }*/ }