public override void OnInspectorGUI() { Target = (SpriteAttachments)target; if (Target.sheet != oldSheet) { if (Target.sheet != null && Target.spriteRenderer != null) { Target.CreateAttachments(); } else { Target.DeleteAttachments(); } } if (Target.spriteRenderer != oldSpriteRenderer) { if (Target.spriteRenderer != null && Target.sheet != null) { Target.CreateAttachments(); } else { Target.DeleteAttachments(); } } oldSpriteRenderer = Target.spriteRenderer; oldSheet = Target.sheet; EditorGUILayout.HelpBox("Will recreate all attachment on runtime if you manually destroy one of them", MessageType.Info); base.OnInspectorGUI(); }
private void Update() { if (Attachments == null) { Attachments = GetComponentInParent <SpriteAttachments>(); } if (flipChildren) { foreach (SpriteRenderer childRenderer in spriteRendererChildren) { childRenderer.flipX = Attachments.spriteRenderer.flipX; childRenderer.flipY = Attachments.spriteRenderer.flipY; } } }
private void Awake() { Attachments = GetComponentInParent <SpriteAttachments>(); spriteRendererChildren = GetComponentsInChildren <SpriteRenderer>().ToList(); }