VRSetting 改成 XRSetting FOR Unity 20184.4f1
VRSetting 改成 XRSetting FOR Unity 20184.4f1
CacheResource(path, ref item, crc, obj)
这里的ref 应不应该加? ResourItem类型 本事是引用类型,传的也是引用吧?
卸载的时候,是否要把 加载的依赖项 也卸载呢?
这里应该是有问题的
//t:prefab or t:Prefab 表示type:Prefab----- (t:TextAsset 表示文本类型),返回GUID
string[] allStr = AssetDatabase.FindAssets("t:prefab", abConfig.m_AllPrefabPath.ToArray());
foreach (var str in allStr)
{
Debug.Log(AssetDatabase.GUIDToAssetPath(str)); //通过GUID找到资源的全路径(带后缀)
}
GameObject obj = Instantiate(assetBundle.LoadAsset<GameObject>("Attack.prefab"));
GameObject obj2 = Instantiate(assetBundle.LoadAsset<GameObject>("Attack"));
后缀可加可不加,主要prefab中p小写
string[] resDependence = AssetDatabase.GetAssetBundleDependencies(abBase.ABName, true);
static void CreateConfig(Dictionary<string, string> validPathABNameDict)
{
AssetBundleConfig config = new AssetBundleConfig();
config.ABList = new List<ABBase>();
foreach (string path in validPathABNameDict.Keys)
{
ABBase abBase = new ABBase();
abBase.Path = path;
abBase.Crc = Crc32.GetCRC32(path);
abBase.ABName = validPathABNameDict[path];
abBase.AssetName = path.Remove(0, path.LastIndexOf("/") + 1);
abBase.ABDependence = new List<string>();
string[] resDependence = AssetDatabase.GetAssetBundleDependencies(abBase.ABName, true);
foreach (string de in resDependence)
{
//Debug.LogFormat($"AB包:{abBase.ABName} ------ 依赖{de}");
abBase.ABDependence.Add(de);
}
config.ABList.Add(abBase);
}
//写入XML
.
.
.
//写入二进制
.
.
.
续完了
资源加载方式:
①直接拖到组件上
②Resources.Load()
③AssesBundle
④AssetDataBase.LoadAt
NavMeshAgent: 导航组件,控制移动
AudioSource: 控制声音。
自己写出来了,性能感人。洪泛算一个周期要好几秒,沃日。原来是debug搞得鬼。
这样用switch不好,当地图需要增加或减少元素时,你会改到哭的。
这里我选择用一个数组保存下来trap的位置。
这样写销毁方法不太好,应该当所有子物体都播放完粒子特效时,销毁整个物体。
讲的太啰嗦了
雷已经标记出来了,谁他妈会去踩。所以方块标记上雷时,不作处理。
这里最好不要强转,用round比较好
4个字节,即255X255X255X255=42 2825 0625,最多能存42亿种方法,太浪费了,2个字节255X255=6 5025 ,足够。
1、客户端不正常关闭可以通过try catch 解决
2、客户端正常close关闭后,服务器端一直接收到空数据。