// /*=============================================================================== // Copyright (C) 2020 PhantomsXR Ltd. All Rights Reserved. // // This file is part of the AR-MOD SDK. // // The AR-MOD SDK cannot be copied, distributed, or made available to // third-parties for commercial purposes without written permission of PhantomsXR Ltd. // // Contact info@phantomsxr.com for licensing requests. // ===============================================================================*/ using System; using System.Collections.Generic; using UnityEngine; using UnityEngine.Serialization; using UnityEngine.Video; using Object = UnityEngine.Object; namespace Phantom.XRMOD.UnityFusion.Runtime.CodeHook { [Serializable] public class MonoField { public enum FieldTypeEnum { Number, String, Bool, GameObject, UnityComponent, AssetReference, Enum, Vector2, Vector3, Vector4, Quaternion, Color, LayerMask, ScriptableObject, NotSupported, Primitives, TextureArray, AudioClipArray, ShaderArray, SpriteArray, MaterialArray, AnimationClipArray, VideoClipArray, MeshArray, ColorArray, ScriptableObjectArray, Vector2Array, Vector3Array, Vector4Array, QuaternionArray, AnimationCurve, AnimationCurveArray, Components, GameObjectArray, AssetReferenceArray, Default, DataProperty, } [Tooltip("The name of the key to be assigned")] public string FieldName; [Tooltip("The value of fieldType of non-GameObject and UnityComponent")] public string Value; [Tooltip("If fieldType is GameObject or UnityComponent, it can be filled here, otherwise it is invalid")] public GameObject GameObject; public FieldTypeEnum FieldType = FieldTypeEnum.Default; [HideInInspector]public string AssetType; // public SystemObject Primitives; [HideInInspector] public Mesh[] MeshArray; [HideInInspector] public Color[] ColorArray; [HideInInspector] public Shader[] ShaderArray; [HideInInspector] public Sprite[] SpriteArray; [HideInInspector] public Vector2[] Vector2Array; [HideInInspector] public Vector3[] Vector3Array; [HideInInspector] public Vector4[] Vector4Array; [HideInInspector] public Texture2D[] TextureArray; [HideInInspector] public Material[] MaterialArray; [HideInInspector] public VideoClip[] VideoClipArray; [HideInInspector] public AudioClip[] AudioClipArray; [HideInInspector] public Quaternion[] QuaternionArray; [HideInInspector] public AnimationClip[] AnimationClipArray; [HideInInspector] public AnimationCurve[] AnimationCurveArray; [HideInInspector] public ScriptableObject[] ScriptableObjectArray; [HideInInspector] public GameObject[] Components; [FormerlySerializedAs("GameObjects")] [HideInInspector] public GameObject[] GameObjectArray; } [System.Serializable] public class UnityObject where T : Object { public List List; public Type ListType; } [System.Serializable] public class GenericPrimitiveObject { public List List; public string ListType; } }