Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

407
Views
cómo configurar un objeto anidado en el inspector de Unity

Intenté crear un objeto anidado en el script C# en Unity y cambiar los valores en él.

Clase de objeto anidado

 using UnityEngine; public class Replica : ScriptableObject { public string Text; public int Speed = 1; public int PersonaID = 0; }

Clase con objeto anidado

 using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; [CreateAssetMenu(fileName = "Data", menuName = "ScriptableObjects/DialogContainer", order = 1)] public class DialogContainer : ScriptableObject { public Replica[] Replicas; // Here is nested object public Sprite[] Avatars; }

Y cuando creé el ScriptableObject vi eso: Foto de la interfaz de ScriptableObject

Aquí solo puedo poner una instancia de la clase allí, pero no puedo configurarla.

Pero quiero cambiar los valores directamente en el inspector sin crear e insertar un objeto de clase "Replica" como en InputManager, donde puedo crear un obj más en el eje, abrirlo y cambiar los valores en el inspector de esa manera. Foto de la interfaz que quiero ver

over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

Si desea configurar su clase en el inspector, esa clase no debe derivarse de MonoBehaviour o ScriptableObject y estar con la etiqueta [System.Serializable] de lo que puede serializarla en una clase anidada sin crear una instancia.

Réplica:

 [System.Serializable] public class Replica { public string Text; public int Speed = 1; public int PersonaID = 0; }

Contenedor de diálogo:

 using System.Collections.Generic; using UnityEngine; public class DialogContainer : MonoBehaviour{ public List<Replica> Replicas; public Sprite[] Avatars; }

De lo que vi eso: captura de pantalla del Inspector

over 4 years ago · Santiago Trujillo Report

0

A menos que haga un editor personalizado para DialogContainer , no puede hacer lo que quiere hacer. Si tiene un ScriptableObject principal que contiene una lista secundaria de ScriptableObject s, no puede editar los campos de cada hijo cuando tiene el principal seleccionado en su Vista de proyecto.

Tendrá que editar cada Replica secundaria seleccionando la instancia de Replica en la Vista del proyecto. Luego, el Inspector le permitirá editar esa Replica .

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!