前言
之前记录了ResSystem资源管理系统的内部构成和实现,这一篇记录下如何使用。
ResSystem使用
Addressable
在框架设置加载模式为Addressable
创建预制体,添加到Addressable的group中,
给预制体挂载脚本BulletController
脚本内容如下,主要是控制子弹飞行,然后一段时间后销毁,之前用过的
using JKFrame;
using UnityEngine;
public class BulletController : MonoBehaviour
{
public void Init()
{
transform.position=Vector3.zero;
Invoke(nameof(DestoryBullet),2f);
}
void Update()
{
transform.Translate(Vector3.forward*Time.deltaTime*5);
}
private void DestoryBullet()
{
transform.position=Vector3.zero;
//放进对象池
//PoolSystem.PushGameObject(gameObject);
ResSystem.PushGameObjectInPool(gameObject);
}
}
场景中新建空物体,添加测试脚本ResTest
using JKFrame;
using UnityEngine;
public class ResTest : MonoBehaviour
{
void Start()
{
ResSystem.InitGameObjectPoolForAssetName("bullet",5,5);
}
void Update()
{
if (Input.GetMouseButtonDown(0))
{
ResSystem.InstantiateGameObject<BulletController>("bullet", transform, "bullet").Init();
}
}
}
运行场景结果
Resources
Resources用法和Addressable基本相同,就不做记录了。