From 7ae59bfab7e0a2415beff019363cd0f9f0ac6724 Mon Sep 17 00:00:00 2001 From: Makihiro Date: Sun, 27 Oct 2024 00:01:16 +0900 Subject: [PATCH] Add Example_Contravariance --- Assets/Example/Example_Contravariance.cs | 23 +++++++++++++++++++ Assets/Example/Example_Contravariance.cs.meta | 11 +++++++++ 2 files changed, 34 insertions(+) create mode 100644 Assets/Example/Example_Contravariance.cs create mode 100644 Assets/Example/Example_Contravariance.cs.meta diff --git a/Assets/Example/Example_Contravariance.cs b/Assets/Example/Example_Contravariance.cs new file mode 100644 index 0000000..c264ed5 --- /dev/null +++ b/Assets/Example/Example_Contravariance.cs @@ -0,0 +1,23 @@ +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>(); + +} diff --git a/Assets/Example/Example_Contravariance.cs.meta b/Assets/Example/Example_Contravariance.cs.meta new file mode 100644 index 0000000..e533ce3 --- /dev/null +++ b/Assets/Example/Example_Contravariance.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: dff76005e1dfac84287448b12c4b160e +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: