Exemplo n.º 1
0
    void CreateButton(int index, BuyUnitStatus status, List <PreviewRescaleConfig> previewsRequiringRescaling)
    {
        var menu = (BuyUnitMenu)target;

        // create button
        var btn         = (GameObject)PrefabUtility.InstantiatePrefab(menu.ButtonPrefab);
        var btnSettings = btn.GetComponent <BuyUnitButton> ();

        btnSettings.Menu            = menu;
        btnSettings.UnitStatusIndex = index;

        // add button to pivot point in menu canvas
        btn.transform.SetParent(menu.transform, false);
        btn.transform.position = menu.transform.position;

        // scale then move to correct position
        MoveAndScaleButton(btn, index);

        var previewObject = btn.transform.FindChild("Preview");

        if (previewObject == null)
        {
            // just ignore it, for now
            //Debug.LogError("ButtonPrefab is missing \"Preview\" child in object hierarchy.", this);
        }
        else
        {
            // create preview image
            var previewRenderer = previewObject.GetComponent <SpriteRenderer> ();
            if (previewRenderer != null)
            {
                GetOrCreateUnitPreview(previewRenderer, index, status.Config, previewsRequiringRescaling);
            }
        }

        // make sure, canvas sorting is overridden
        for (var i = 0; i < btn.transform.childCount; ++i)
        {
            var child  = btn.transform.GetChild(i);
            var canvas = child.GetComponent <Canvas>();

            if (canvas != null)
            {
                canvas.overrideSorting = true;
            }
        }

        btnSettings.Start();
    }
Exemplo n.º 2
0
    public BuyUnitStatus[] ResetUnitStatuses()
    {
        if (buyUnitConfigs == null)
        {
            buyUnitConfigs = new BuyUnitConfig[0];
        }

        BuyUnitStatuses = new BuyUnitStatus[buyUnitConfigs.Length];

        for (int i = 0; i < buyUnitConfigs.Length; ++i)
        {
            var cfg = buyUnitConfigs[i];

            BuyUnitStatuses[i] = new BuyUnitStatus(this, cfg);
        }

        return(BuyUnitStatuses);
    }