// ~~ private // ~ Non-Static // ~~ public public void Refresh( IAttributeData aData = null, IPortraitData pData = null, IDescriptionData dData = null ) { Clear(); _rootFlexRect = ColumnGridFlexibleRect.GetRect(ViewData, 2); _rootFlexRect.transform.SetParent(ContentRect.transform, false); bool showPortrait = pData == null ? false : true; bool showAttributes = aData == null ? false : true; bool showDescription = dData == null ? false : true; if (showPortrait) { RefreshPortrait(pData, _rootFlexRect); } if (showAttributes) { RefreshAttributes(aData, _rootFlexRect); } if (showDescription) { RefreshDescription(dData, _rootFlexRect); } _rootFlexRect.Refresh(); }
// ~~ private private void RefreshAttributes(IAttributeData data, ColumnGridFlexibleRect root) { VerticalFlexibleRect child = VerticalFlexibleRect.GetRect(ViewData); child.transform.SetParent(root.transform, false); foreach (KeyValuePair <string, float[]> pair in data.AttributeDictionary) { HorizontalFlexibleRect grandchild = HorizontalFlexibleRect.GetRect(ViewData); grandchild.transform.SetParent(child.transform, false); GameObject keyLeafObj = new GameObject(pair.Key.ToString()); Text keyText = keyLeafObj.AddComponent <Text>(); keyText.font = UnityBuiltin.Font("Arial"); keyText.text = pair.Key; keyText.color = Color.black; keyText.fontSize = (int)TextConstants.BODY_TEXT_SIZE; keyLeafObj.transform.SetParent(grandchild.transform, false); GameObject valueLeafObj = new GameObject(pair.Value.ToString()); Text valueText = valueLeafObj.AddComponent <Text>(); valueText.font = UnityBuiltin.Font("Arial"); valueText.text = pair.Value[0].ToString(); valueText.color = Color.black; valueText.fontSize = (int)TextConstants.BODY_TEXT_SIZE; valueLeafObj.transform.SetParent(grandchild.transform, false); } }
private void RefreshPortrait(IPortraitData data, ColumnGridFlexibleRect root) { GameObject leafObj = new GameObject("Portrait"); Image portrait = leafObj.AddComponent <Image>(); portrait.sprite = data.Portrait; leafObj.transform.SetParent(root.transform, false); }
private void RefreshDescription(IDescriptionData data, ColumnGridFlexibleRect root) { GameObject leafObj = new GameObject("Description"); Text descriptionText = leafObj.AddComponent <Text>(); descriptionText.text = data.Description; descriptionText.color = Color.black; descriptionText.font = UnityBuiltin.Font("Arial"); leafObj.transform.SetParent(root.transform, false); }
public static ColumnGridFlexibleRect GetRect(ViewData viewData, int constraintCount) { GameObject result = new GameObject("ColumnGridViewRect"); ColumnGridFlexibleRect resultMono = result.AddComponent <ColumnGridFlexibleRect>(); resultMono.ViewData = viewData; resultMono.BGColor = new Color(0f, 0f, 0f, 0f); resultMono.GridLayoutGroup.constraint = ConstraintType; resultMono.GridLayoutGroup.constraintCount = constraintCount; return(resultMono); }