IComponentData
- Oyun Geliştirme kursu
- Uzman
- Ders 21/47
- 4 dk
IComponentData ile bileşen tanımlamayı öğrenirsin.
IComponentData nedir?
IComponentData, Unity ECS mimarisinde veri bileşenleri oluşturmak için kullanılan bir arayüzdür. Bu arayüzü uygulayan yapılar genellikle struct olarak tanımlanır ve Entity nesnelerine veri eklemek için kullanılır. Örneğin bir Position bileşeni, nesnenin koordinatlarını saklayabilir.
using Unity.Entities;
public struct Position : IComponentData
{
public float X;
public float Y;
}Bu bileşen yalnızca veri tutar; veriyi işleyen mantık ayrı bir System içerisinde bulunur.
Bir veri bileşeni oluşturma
Bir ECS bileşeni oluşturmak için Unity.Entities ad alanını projene dahil et. Ardından struct tanımlayıp IComponentData arayüzünü uygula. Bileşenin içine oyun nesnesine ait sayısal verileri yerleştirebilirsin.
using Unity.Entities;
public struct Health : IComponentData
{
public int Value;
}Health bileşeni, bir Entity nesnesinin sağlık değerini saklamak için kullanılabilir.
Uygulama Skor bileşeni oluştur
Score adında bir ECS bileşeni oluştur. Yapı IComponentData arayüzünü uygulamalı ve Value adında bir int alanı içermeli. Gerekli Unity.Entities ad alanını da ekle. Ayrıca başlangıç skorunu konsola yazdıran statik bir metot tanımla.
Başlangıç kodu
// Score veri bileşenini tanımla
// IComponentData arayüzünü uygula
// Value alanını ekle
// Başlangıç skorunu yazdıran metodu tanımlaÖrnek çözüm
using Unity.Entities;
using UnityEngine;
public struct Score : IComponentData
{
public int Value;
public static void PrintInitial()
{
Debug.Log("Score: " + 0);
}
}Beklenen çıktı
Score: 0
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 ECS veri bileşeni oluştururken hangi C# türü kullanılır?
- delegate
- struct Doğru cevap
- enum
- interface
Açıklama: IComponentData uygulayan ECS veri bileşenleri struct olarak tanımlanır.
2 Health bileşenini tamamla
public struct Health : ____
{
public int Value;
}
public struct Health : IComponentData
{
public int Value;
}
Açıklama: IComponentData, Health yapısının ECS veri bileşeni olarak kullanılmasını sağlar.
3 IComponentData yapısı
| Kavram | Anlamı |
|---|---|
IComponentData |
ECS bileşen arayüzü |
struct |
Değer türünde yapı tanımlar |
int Value |
Tam sayı verisi tutar |
Unity.Entities |
ECS türlerini içerir |