using System; using System.Collections.Generic; using UnityEngine; public interface IActor { } public interface IStandardActor : IActor { } public interface INetworkActor : IActor { } public interface IAction where T : IActor { } public interface IActorAction : IAction { } public interface IStandardActorAction : IAction { } public interface INetworkActorAction : IAction { } [Serializable] public sealed class NetworkActorAction : INetworkActorAction { } public class Example_Contravariance : MonoBehaviour { [SerializeReference, SubclassSelector] public List> actions = new List>(); }