public static void BuildExpression(List <BlockModel.Element> _elements, Dictionary <string, string> _variants, GameObject _obj, CustomElementModel.CustomElementStatus _elementStatus, Symbol _symbol, string _color) { Color color = FacadeUtility.HexToColor(_color); Sprite sprite = imgBlockBlank; if (Symbol.Single == _symbol) { sprite = imgBlockSingle; } else if (Symbol.Left == _symbol) { sprite = imgBlockHead; } else if (Symbol.Right == _symbol) { sprite = imgBlockFoot; } else if (Symbol.Middle == _symbol) { sprite = imgBlockMiddle; } Image img = _obj.transform.Find("__img__").GetComponent <Image>(); img.color = color; img.sprite = sprite; decorateElements(_obj, _elements, _variants, _elementStatus); }
public static void BuildBlock(BlockModel.Block _block, GameObject _obj, CustomElementModel.CustomElementStatus _elementStatus) { Transform tsExpression = _obj.transform.Find("expression"); Color color = FacadeUtility.HexToColor(_block.color); GameObject expressionClone = null; int line = _block.elements.Count; expressionClone = cloneExpression(tsExpression.gameObject, color, line > 1 ? imgBlockHead : imgBlockSingle, line == 1 ? Symbol.Single : Symbol.Left); decorateElements(expressionClone, _block.elements[0], new Dictionary <string, string>(), _elementStatus); for (int i = 1; i < _block.elements.Count; ++i) { Symbol symbol = Symbol.Blank; Sprite sprite = imgBlockBlank; // blank cloneExpression(tsExpression.gameObject, color, sprite, symbol); if (i == line - 1) { // last one symbol = Symbol.Right; sprite = imgBlockFoot; } else { symbol = Symbol.Middle; sprite = imgBlockMiddle; } expressionClone = cloneExpression(tsExpression.gameObject, color, sprite, symbol); decorateElements(expressionClone, _block.elements[i], new Dictionary <string, string>(), _elementStatus); } Transform tsDrag = _obj.transform.Find("#drag"); tsDrag.SetAsLastSibling(); DragBlock drag = tsDrag.GetComponent <DragBlock>(); drag.method = _block.method; }
private void addGroup(GroupModel.Group _group) { GameObject clone = GameObject.Instantiate(uiBlockly.tsTempalteGroup.gameObject); clone.transform.SetParent(uiBlockly.tsTempalteGroup.parent); clone.transform.localScale = Vector3.one; clone.SetActive(true); clone.name = _group.name; Image icon = clone.transform.Find("icon").GetComponent <Image>(); icon.color = FacadeUtility.HexToColor(_group.color); UnityEngine.UI.Text name = clone.transform.Find("name").GetComponent <UnityEngine.UI.Text>(); name.text = _group.name; Toggle toggle = clone.GetComponent <Toggle>(); toggle.onValueChanged.AddListener( (_toggled) => { onGroupChanged(_toggled, toggle); } ); }