Merhaba,

Şahsen bir grafik tasarımcı olmam sebebiyle yazılım işinde henüz yeniyim. Bir scriptin içerisindeki değişkenleri farklı bir scriptte public bir string değişkeni ile tanımlamak istiyorum. Özetle sorun kısaca şu(kodlar anlamsız olabilir. sadece anlaşılır olmasını istiyorum);

1.script

public string NpcAdam;
public string NpcKadin;

2.script

Public string NpcAdi;

1.script.NpcAdam; //2. script içerisinde 1.criptteki değişkenlerden birine hızlıca ulaşıyorum.

Problem şu. Bu noktadaki "NpcAdam" değişkenini "NpcAdi" ile belirlemek istiyorum. Fakat bir türlü çalışmadı.

Yani esas hedefim şu;
1.script.NpcAdi;

Yani "NpcAdi" değişkenine tanımlanan "NpcAdam" veya "NpcKadin" stringi, 1.scriptteki ulaşılacak değişkeni belirlemesi.

Merak edenler için, bu bir diyalog sistemi. Her npc için aynı scirpt kullanılacak. Bunu da 2. scriptteki string içindeki kelime belirleyecek.Bunu özetlediğim şekilde çözemezsem 1. script içerisindeki tüm değişkenleri if döngüsü ile NpcAdi ile eşleştirmek zorunda kalacağım. Bu da 75 adet Npc karakteri olunca, 75 adet if döngüsü demek olacak. Umarım karmaşık olmamıştır.

 

unity hiç yazmadım, kod yapısını da bilmem, ama genelde bu tür şeyler için static kullanılır, yani public static String nmpAdam şeklinde tanımlayıp, script1.npcadam olarak erişmeyi dene.

mkaya

Her npcye özgü bir script var mı ayrıyetten?
Mesela npc_ozellik.cs gibi.

Öyle olsa mesela ona ait bilgileri orda saklarsın. Mesela npc_ozellik.cs içinde public string npc_adi = "hak yemez"

Npc game objecttinin içinde yer alıyor bu script.

Aynı şekilde genel npc.cs içinden çağırabilirsin bu scriptti işte diyalog_isim = this.getcomponent.npc_ozellik.npc_adi


Kodu tam hatırlamadım da işte böyle bişi

masseter
1

mobil görünümden çık