Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

411
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda