Exemple #1
0
    public void OnBeginDrag(PointerEventData eventData)
    {
        AudioManager.instantzia.Play("PiezaHartu");

        if (piezaMota == mota.Izenburua)
        {
            return;
        }
        piezaHutsunea = new GameObject();
        piezaHutsunea.transform.SetParent(transform.parent, false);

        RectTransform tamaina = piezaHutsunea.AddComponent <RectTransform>();
        float         luzera  = GetComponent <RectTransform>().sizeDelta.x;
        float         altuera = GetComponent <RectTransform>().sizeDelta.y;

        //float altuera = hutsuneAltuera;
        tamaina.sizeDelta = new Vector2(luzera, altuera);

        Image ertzak = piezaHutsunea.AddComponent <Image>();

        ertzak.sprite = outline;
        ertzak.color  = kolorea;
        ertzak.type   = Image.Type.Sliced;

        TamainaAldaketa piezaTamaina = piezaHutsunea.AddComponent <TamainaAldaketa>();

        piezaTamaina.layoutBertikala = GetComponent <TamainaAldaketa>().layoutBertikala;

        index = transform.GetSiblingIndex();
        piezaHutsunea.transform.SetSiblingIndex(index);

        piezaGurasoa   = transform.parent;
        hutsuneGurasoa = transform.parent;
        transform.SetParent(mugimenduPanela);

        GetComponent <CanvasGroup>().blocksRaycasts = false;
    }
    // Update is called once per frame
    void Update()
    {
        // textuaren tamaina ez da aldatzen
        if (GetComponent <Text>() != null)
        {
            luzera  = hasieraLuzera;
            altuera = hasieraAltuera;
        }

        hutsunea = false;

        // seme kopurua aldatzean tamaina aldatu behar da
        if (transform.childCount > 0)
        {
            if (layoutBertikala)
            {
                altuera = (transform.childCount - 1) * spacing;
                luzera  = transform.GetChild(0).GetComponent <TamainaAldaketa>().GetLuzera();
                for (int i = 0; i < transform.childCount; i++)
                {
                    if (transform.GetChild(i).name == "New Game Object")
                    {
                        hutsunea = true;
                    }
                    TamainaAldaketa piezaTamaina = transform.GetChild(i).GetComponent <TamainaAldaketa>();
                    altuera += piezaTamaina.GetAltuera();
                    if (piezaTamaina.GetLuzera() > luzera)
                    {
                        luzera = piezaTamaina.GetLuzera();
                    }
                }
            }
            else
            {
                altuera = transform.GetChild(0).GetComponent <TamainaAldaketa>().GetAltuera();
                luzera  = (transform.childCount - 1) * spacing;
                for (int i = 0; i < transform.childCount; i++)
                {
                    if (transform.GetChild(i).name == "New Game Object")
                    {
                        hutsunea = true;
                    }
                    TamainaAldaketa piezaTamaina = transform.GetChild(i).GetComponent <TamainaAldaketa>();
                    luzera += piezaTamaina.GetLuzera();
                    if (piezaTamaina.GetAltuera() > altuera)
                    {
                        altuera = piezaTamaina.GetAltuera();
                    }
                }
            }
            luzera  += horizontalOffset;
            altuera += verticalOffset;
        }
        // semerik ez -> hasierako tamainarekin gelditzen da
        else
        {
            luzera  = hasieraLuzera;
            altuera = hasieraAltuera;
        }

        // ezin da hasierako tamaina baino txikiagoa izan
        if (luzera < hasieraLuzera)
        {
            luzera = hasieraLuzera;
        }
        // ezin da hasierako tamaina baino txikiagoa izan
        if (altuera < hasieraAltuera)
        {
            altuera = hasieraAltuera;
        }

        if (hutsunea)
        {
            if (!aldaketak)
            {
                aldaketak         = true;
                tamaina.sizeDelta = new Vector2(luzera, altuera);
            }
        }
        else
        {
            aldaketak         = false;
            tamaina.sizeDelta = new Vector2(luzera, altuera);
        }

        //tamaina.sizeDelta = new Vector2(luzera, altuera);
    }