Ejemplo n.º 1
0
    public void EnableSkin(int skinNr)
    {
        // destroy grey variant
        GameObject toDestroy = skins[skinNr];

        skins.RemoveAt(skinNr);
        Destroy(toDestroy);

        // spawn coloured variant
        Vector3 pos = new Vector3
        {
            y = Screen.height * 2 + generalOffset,
            x = Screen.width * (skinNr + 1) / (skinsPre.Length + 1)
        };

        pos   = Camera.main.ScreenToWorldPoint(pos);
        pos.z = 0;
        GameObject skin;

        skin = Instantiate(skinsPre[skinNr], pos, Quaternion.identity, GameObject.Find("Canvas").transform);
        skins.Insert(skinNr, skin);

        CanvasScaler can = GameObject.Find("Canvas").GetComponent <CanvasScaler>();

        skin.transform.localScale = can.referencePixelsPerUnit * skin.transform.localScale;

        // Set listener for new sprite
        for (int i = 0; i < skins.Count; i++)
        {
            purch.skinButtons[i] = skins[i].GetComponent <Button>();
        }
        purch.SetListeners();

        // Change pricetag
        float skinHeight = 0;

        if (skins.Count > 0)
        {
            skinHeight = skins[0].GetComponent <Renderer>().bounds.extents.y * 2;
        }
        pos.y += skinHeight * priceOffset;
        GameObject pricetag = Instantiate(txtPrefab, pos, Quaternion.identity, GameObject.Find("Canvas").transform);

        pricetag.transform.localScale       = can.referencePixelsPerUnit * pricetag.transform.localScale / 100;
        pricetag.GetComponent <Text>().text = "purchased!";
        Destroy(toDestroy);
    }