Ctrl+K

Prefab

اعلان

public class Strawberry.Core.Prefab

یک الگوی پیش‌ساخته (Prefab) برای ساخت موجود (Entity). یکی را از یک موجود موجود (توسط Prefab) یا به‌صورت fluent با PrefabBuilder بسازید، سپس Instantiate را برای ساخت کپی فراخوانی کنید. ارجاعات دارایی (چهره (Sprite)، تکسچر و غیره) هنگام snapshot با نام سریالایز می‌شوند و هنگام instantiate با نام حل می‌شوند.

ارث‌بری از: Strawberry.DisposableReferenceObject

سازنده‌ها

Prefab

یک پیش‌ساخته با snapshot گرفتن از جزء (Component)‌های موجود روی templateEntity می‌سازد. ارجاعات دارایی با snapshotAssets به نام حل می‌شوند.

void Prefab(Entity templateEntity, AssetManager snapshotAssets = null)

پارامترها:

نام نوع توضیحات
templateEntity Strawberry.Core.Entity موجود برای snapshot.
snapshotAssets Strawberry.Core.AssetManager = null AssetManager برای حل دارایی ← نام. معمولاً مدیر سراسری. اگر پیش‌ساخته هیچ ارجاع دارایی ندارد می‌تواند null باشد.

متدها

Instantiate

یک موجود جدید با جزء‌های این پیش‌ساخته نمونه‌سازی می‌کند و ارجاعات دارایی را با instantiateAssets حل می‌کند.

Entity Instantiate(Scene scene, AssetManager instantiateAssets = null, Vector2? position = null)

پارامترها:

نام نوع توضیحات
scene Strawberry.Core.Scene صحنه‌ای (Scene) که موجود جدید به آن تعلق خواهد داشت.
instantiateAssets Strawberry.Core.AssetManager = null AssetManager برای حل نام ← دارایی هنگام نمونه‌سازی. معمولاً مدیر محلی صحنه (که به مدیر سراسری رجوع می‌کند). اگر پیش‌ساخته هیچ ارجاع دارایی ندارد می‌تواند null باشد.
position Strawberry.Math.Vector2? = null موقعیت جهانی اختیاری. اگر null باشد، موقعیت الگو استفاده می‌شود. اگر پیش‌ساخته TransformComponent نداشته باشد نادیده گرفته می‌شود.

خروجی: موجود تازه ساخته‌شده، که قبلاً به صحنه اضافه شده است.

InstantiateDetached

بدون اضافه‌کردن به صحنه نمونه‌سازی می‌کند. برای pooling مفید است.

Entity InstantiateDetached(Scene scene, AssetManager instantiateAssets = null)

پارامترها:

نام نوع توضیحات
scene Strawberry.Core.Scene
instantiateAssets Strawberry.Core.AssetManager = null

CleanManaged protected override

void CleanManaged()