Example #1
0
        public void SetSpriteWithOffset()
        {
            SpriteWithOffset[] os = SpriteWithOffset.CreateFromJson(jsonFile.text);
            Dictionary <string, SpriteWithOffset> d = new Dictionary <string, SpriteWithOffset>();

            foreach (var o in os)
            {
                d.Add(o.name, o);
            }
            foreach (var sr in spriteRenderers)
            {
                SpriteWithOffset o = null;
                if (!d.TryGetValue(sr.sprite.name, out o))
                {
                    Debug.LogWarning(sr.sprite.name + " cant found in json");
                    continue;
                }
                float pixelsPerUnit = o.width / sr.bounds.size.x;
                //Debug.Log(pixelsPerUnit);
                Vector2 leftTop = new Vector2(sr.bounds.min.x, sr.bounds.max.y);
                var     go      = sr.gameObject;
                go.transform.position += VectorUtils.V23(VectorUtils.V32(transform.position) - leftTop);
                var offset = new Vector2(o.x, -o.y) / (pixelsPerUnit);
                go.transform.position += VectorUtils.V23(offset);
            }
        }