Files
XericUIActionVessel/Runtime/Core/Vessel/ObjectVessel2.cs
T
2025-11-10 09:34:01 +08:00

51 lines
1.1 KiB
C#

using System;
using UnityEngine;
using UnityEngine.Serialization;
using Object = UnityEngine.Object;
namespace XericUI.Core.Vessel
{
[Serializable]
public sealed class ObjectVessel<T0, T1> : VesselBase
where T0 : Object
where T1 : Object
{
[SerializeField] private Object target0 = default(T0);
[SerializeField] private Object target1 = default(T1);
public T0 Target0
{
get => target0 as T0;
set => target0 = value;
}
public T1 Target1
{
get => target1 as T1;
set => target1 = value;
}
public ObjectVessel()
{
}
public ObjectVessel(Object target0, Object target1)
{
this.target0 = target0;
this.target1 = target1;
}
public static implicit operator T0(ObjectVessel<T0, T1> value)
{
return (T0)value.target0;
}
public static implicit operator T1(ObjectVessel<T0, T1> value)
{
return (T1)value.target1;
}
}
}