Beispiel #1
0
    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);
            }
        }
    }