1.unityEvent addListenr后需要记得removeListener。不然引用越来越多会越玩越卡。
对于lambda表达的addListenr记得使用unityAction记录引用,以用于removeListener时使用。
如:
UnityAction tmp = ()=>Debug.Log(1);
button.onclick.AddListener(tmp);
button.onclick.RemoveListener(()=>Debug.Log(1));//失败
button.onclick.RemoveListener(tmp);//成功
2.使用NavMeshAgent的对象修改位置尽量使用GetCompent().Warp(pos);
而不是transform.position=pos;的方法。有时候位置会不符合预期结果
3.Vector2Int作为字典key值时效率比较低,HashCode碰撞概率太大,2d网格类游戏可以自己写个重载GetHashCode()方法的自定义Vector2Int降低碰撞概率。
4.多语言插件l2Localization