實體是遊戲裏最重要的對象之一 。
創建實體的思路類似UI,同樣是通過插件加載prefab。
首先我們創建一個實體Prefab。這裏我圖簡單就來來了個Cube。
接着和之前UI一樣,我們創建一個腳本,用於管理實體邏輯。
using GameFramework;
using UnityGameFramework.Runtime;
public class Entity_Cube : EntityLogic
{
protected override void OnShow(object userData)
{
base.OnShow(userData);
Log.Debug("Cube已加載!");
}
}
我在OnShow中加了一條Log信息。關於更多方法的使用,大家可以查看Game Framework API 中的 Entity類 參考 。
當然你也可以直接進腳本EntityLogic.cs 看。
保存之後返回Unity,將腳本掛載到之前創建的Cube上。
和UI一樣,我們也要添加實體分組。讓我們找到Entity組件。
接着創建一個分組,這裏我創建的是EntityGroup。
接下來我們打開ProcedureMain腳本,我們現在要做的就是在ProcedureMain流程裏面加載出這個實體。在OnEnter()中加入下列代碼:
// 獲取框架實體組件
EntityComponent entityComponent = GameEntry.GetComponent<EntityComponent>();
// 創建實體
entityComponent.ShowEntity<Entity_Cube>(1, "Assets/Example/Cube.prefab", "EntityGroup");
這樣我們就能在流程中加載出來了。
忘了說,原場景中的 Camera框架作者修改了Culling Mask,不想改的話刪了建個新的就行。
OK,正常加載出來了。
這篇文章就到這裏。