com.guru.unity.applit/Runtime/Framework/UI/ViewBase.cs

84 lines
1.8 KiB
C#

using System;
namespace Guru.UI
{
using UnityEngine;
public class ViewBase: MonoBehaviour, IView, IDisposable
{
private Transform _transform;
public Transform Transform
{
get
{
if (_transform == null) _transform = gameObject.transform;
return _transform;
}
}
private RectTransform _rectTransform;
public RectTransform RectTransform
{
get
{
if (_rectTransform == null) _rectTransform = gameObject.GetComponent<RectTransform>();
return _rectTransform;
}
}
public string Name
{
get => gameObject.name;
set => gameObject.name = value;
}
public Vector3 LocalPosition
{
get => Transform.localPosition;
set => Transform.localPosition = value;
}
public Vector3 Position
{
get => Transform.position;
set => Transform.position = value;
}
public Vector2 AnchoredPos
{
get => RectTransform.anchoredPosition;
set => RectTransform.anchoredPosition = value;
}
public float Scale
{
get => _transform.localScale.x;
set => _transform.localScale = Vector3.one * value;
}
public bool Active
{
get => gameObject.activeSelf;
set => gameObject.SetActive(value);
}
public Transform FindChild(string path) => Transform.Find(path);
public virtual void Refresh()
{
}
public virtual void Dispose()
{
}
}
}