public void Init(DishClientCore _core, DishRequirement _requirement) { Init(_core); requirement = _requirement; int column = (requirement.dishArr.Length + 1) / 2; (transform as RectTransform).SetSizeWithCurrentAnchors(RectTransform.Axis.Horizontal, column * 35 + (column + 1) * 10); for (int i = 0; i < requirement.dishArr.Length; i++) { GameObject go = GameObjectFactory.Instance.GetGameObject("Assets/Resource/prefab/requirementUnit.prefab", null); RequirementUnit unit = go.GetComponent <RequirementUnit>(); unit.Init(requirement.dishArr[i]); go.transform.SetParent(transform, false); float x = 10 + i / 2 * 45; float y = -10 - i % 2 * 45; (go.transform as RectTransform).anchoredPosition = new Vector2(x, y); } }
private void Refresh() { for (int i = 0; i < dataList.Count; i++) { DishRequirement requirement = dataList[i]; bool getContainer = false; for (int m = 0; m < containerList.Count; m++) { if (containerList[m].requirement == requirement) { getContainer = true; break; } } if (!getContainer) { GameObject go = GameObjectFactory.Instance.GetGameObject("Assets/Resource/prefab/requirement.prefab", null); go.transform.SetParent(container, false); RequirementUnitContainer unit = go.GetComponent <RequirementUnitContainer>(); unit.Init(core, requirement); containerList.Add(unit); int bornTick = core.tick - requirement.time; float x = moveDisPerTick * bornTick + max_length * 0.5f; (unit.transform as RectTransform).anchoredPosition = new Vector2(x, 0); } } for (int i = containerList.Count - 1; i > -1; i--) { RequirementUnitContainer unit = containerList[i]; if (!dataList.Contains(unit.requirement)) { containerList.RemoveAt(i); Disappear(unit); } } }