public void SetItemPrefab(string key, Button itemPrefab) { if (!menuItems.ContainsKey(key)) { return; } var itemEO = menuItems[key]; ExpandoObjectUtility.SetVariable(itemEO, "itemPrefab", itemPrefab); }
public void SetAction(string key, System.Action action) { if (!menuItems.ContainsKey(key)) { return; } var itemEO = menuItems[key]; ExpandoObjectUtility.SetVariable(itemEO, "action", action); }
public void SetName(string key, string name) { if (!menuItems.ContainsKey(key)) { return; } var itemEO = menuItems[key]; ExpandoObjectUtility.SetVariable(itemEO, "name", name); }
public void RegisterItem(string key, string name, Button itemPrefab, System.Action action) { var itemEO = !menuItems.ContainsKey(key) ? new ExpandoObject() : menuItems[key]; if (!menuItems.ContainsKey(key)) { menuItems.Add(key, itemEO); } ExpandoObjectUtility.SetVariable(itemEO, "name", name); ExpandoObjectUtility.SetVariable(itemEO, "action", action); ExpandoObjectUtility.SetVariable(itemEO, "itemPrefab", itemPrefab); }
void Start() { _id = this.GetID(); text.text = name; // instance python's scriptable object pythonPixel = new ExpandoObject(); ExpandoObjectUtility.SetVariable(pythonPixel, "id", GetInstanceID()); ExpandoObjectUtility.SetVariable(pythonPixel, "position", new Position { x = transform.position.x, y = transform.position.y }); // StartCoroutine(SetPythonPixelPosition()); StartCoroutine(Dragging()); }
IEnumerator SetPythonPixelPosition() { while (!gameObject.IsNull()) { yield return(null); if (!gameObject.activeSelf) { continue; } var position = (Position)ExpandoObjectUtility.GetVariable(pythonPixel, "position"); if (position.x == transform.position.x && position.y == transform.position.y) { continue; } ExpandoObjectUtility.SetVariable(pythonPixel, "position", new Position { x = transform.position.x, y = transform.position.y }); } }