Exemple #1
0
        protected void fetchRefs()
        {
            if (Application.isPlaying)
            {
                if (slots != null && slots.Length > 0)
                {
                    return;
                }
            }

            //search for filled image
            Image[] imgs = HalperComponentsGenerics.getComponentsInChildren <Image>(transform);
            //Image[] imgs = transform.GetComponentsInChildren<Image>();

            //only keep 'fill' type
            List <Image> tmp = new List <Image>();

            for (int i = 0; i < imgs.Length; i++)
            {
                if (imgs[i].type == Image.Type.Filled)
                {
                    tmp.Add(imgs[i]);
                }
            }

            slots = tmp.ToArray();
            //Debug.Log("fetched " + renders.Length + " renders");
            //for (int i = 0; i < renders.Length; i++) Debug.Log("  L " + renders[i].name, renders[i].transform);
        }
Exemple #2
0
    static public Transform getTransform <T>(Component comp) where T : Component
    {
        T t = HalperComponentsGenerics.getComponent <T>(comp);

        if (t != null)
        {
            return(t.transform);
        }
        return(null);
    }
Exemple #3
0
    static public void scaleRenderToBoxColliderBounds(Transform target, BoxCollider collider, float step)
    {
        step = Mathf.Abs(step); // just in case ...

        Renderer render = HalperComponentsGenerics.getComponent <Renderer>(target);

        float colSize = Vector3.Distance(collider.bounds.min, collider.bounds.max);

        float renderSize = 0f;

        bool doneGrowing = false;

        int safe = 100;

        Debug.Log("  >>>> <b>scaling " + target.name + "</b> <<<< ", target);

        while (safe > 0 && !doneGrowing)
        {
            renderSize = Vector3.Distance(render.bounds.min, render.bounds.max);

            float diff = colSize - renderSize;

            Debug.Log("  L step : " + step + " > diff " + diff);

            if (Mathf.Abs(diff) < step)
            {
                doneGrowing = true;
                continue;
            }

            float dir = Mathf.Sign(diff);

            Vector3 scaleStep = Vector3.one * step * dir;

            Debug.Log("  L scale step : " + scaleStep);
            Debug.Log("  L render scale (before) : " + target.localScale);

            target.localScale += scaleStep;

            Debug.Log("  L render scale (after) : " + target.localScale, target);
            Debug.Log("  L render bounds min : " + render.bounds.min);
            Debug.Log("  L render bounds max : " + render.bounds.max);

            //Debug.Log("  L (" + safe + ") " + render.name + " growing to " + render.transform.localScale);
            safe--;
        }

        if (safe <= 0)
        {
            Debug.LogError("safe!");
        }

        Debug.Log(target.name + " is done growing in " + collider.name, target);
    }
Exemple #4
0
        protected override void fetchRenders()
        {
            _spriteRenderDefault = _t.GetComponent <SpriteRenderer>();
            if (_spriteRenderDefault == null)
            {
                _spriteRenderDefault = _t.GetComponentInChildren <SpriteRenderer>();
            }
            _spriteRenders = HalperComponentsGenerics.getComponents <SpriteRenderer>(_t);

            //Debug.Log(_t.name + " has x" + _spriteRenders.Length + " sprites", _t);
        }
Exemple #5
0
    static public void growScaleInBoxCollider(Transform target, BoxCollider collider, float step)
    {
        Renderer render = HalperComponentsGenerics.getComponent <Renderer>(target);

        int safe = 100;

        while (safe > 0 && collider.bounds.Contains(render.bounds.min) && collider.bounds.Contains(render.bounds.max))
        {
            render.transform.localScale *= (1f + step);
            safe--;
        }

        if (safe <= 0)
        {
            Debug.LogError("safe!");
        }

        Debug.Log(target.name + " is done growing in " + collider.name, target);
    }