CapersProject/Assets/SPUM/Sprite_Editor(Beta)/Script/SpriteSync.cs
2024-06-04 03:26:03 +09:00

65 lines
1.4 KiB
C#

using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;
[ExecuteInEditMode]
public class SpriteSync : MonoBehaviour
{
#if UNITY_EDITOR
[HideInInspector]
public SPUM_SpriteEditManager _manager;
[HideInInspector]
public SpriteRenderer _mySprite;
public Sprite _nowSprite;
void OnDrawGizmos()
{
if(_nowSprite==null)
{
Gizmos.color = new Color(1,1,1,0.5f);
Gizmos.DrawSphere(this.transform.position, 0.2f);
Handles.Label(transform.position, gameObject.name);
}
}
void Update()
{
if(Selection.activeGameObject != this.gameObject) return;
if(_mySprite==null)
{
_mySprite = transform.GetComponent<SpriteRenderer>();
}
else
{
_mySprite.sprite = _nowSprite;
}
if(_manager==null)
{
_manager = GameObject.FindAnyObjectByType<SPUM_SpriteEditManager>();
}
}
[Obsolete("Obsolete")]
public void SyncPivot()
{
if(_mySprite.sprite!=null)
{
_manager.SyncPivotProcess(_mySprite);
}
}
public void RemoveSprite()
{
transform.localPosition = Vector3.zero;
_mySprite.sprite = null;
_nowSprite = null;
}
#endif
}