Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- namespace HelpPeople
- {
- [System.Serializable] public class Pair //simple mutable "POD-struct"
- {
- public Pair(SpriteRenderer sr, Transform t, float d) { spriteRenderer = sr; transform = t; distance = d; }
- public SpriteRenderer spriteRenderer;
- public Transform transform;
- public float distance;
- }
- public class Spriter : MonoBehaviour
- {
- [SerializeField] private List<Pair> renderers;
- [SerializeField] private Camera cam;
- private void LateUpdate()
- {
- var camPos = cam.transform.position;
- for(int i = 0; i < renderers.Count; ++i) //just set distance to all before sort
- {
- Pair current = renderers[i];
- current.distance = (camPos - current.transform.position).sqrMagnitude;
- }
- renderers.Sort((r1, r2) => r1.distance.CompareTo(r2.distance));
- for(int i = 0; i < renderers.Count; ++i) //set order in simplest way, one by one
- {
- renderers[i].spriteRenderer.sortingOrder = i;
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement