private void OnTriggerEnter(Collider player) { Resmaterial[] materials = player.gameObject.GetComponentsInChildren <Resmaterial>(); if (materials.Length > 0 && MaterialPrefab.name != "StraightRail") { // 手中有材料,且不能是铁轨 Debug.Log("pick second material"); if (materials[0].name == MaterialPrefab.name) { // 若相同则判断容量是否已满 print("enter" + (materials.Length + Size)); if (materials.Length + Size <= Capacity) // 如果角色手中的材料数量 + 该地上的材料的堆叠数量 <= 容量 { // 表示人物还能继续捡材料 ToolManager tm = player.gameObject.GetComponent <ToolManager>(); tm.EquipSameMaterial(MaterialPrefab, materials.Length); print("ok"); } else { // 容量已满则退出 return; } } } }