/// <summary> /// 获取生长UV /// </summary> public virtual Vector2 GetUVStartPosition(BlockInfoBean blockInfo, BlockMetaCrop blockCropData) { BlockBaseCrop blockCrop = block as BlockBaseCrop; List <Vector2Int[]> listUVData = blockCrop.GetListGrowUV(); Vector2 uvStartPosition; if (listUVData.IsNull()) { uvStartPosition = Vector2.zero; } else if (blockCropData.growPro >= blockCrop.GetCropLifeCycle()) { //如果生长周期大于UV长度 则取最后一个 Vector2Int[] itemUVData = listUVData[listUVData.Count - 1]; uvStartPosition = new Vector2(uvWidth * itemUVData[blockCropData.uvIndex].y, uvWidth * itemUVData[blockCropData.uvIndex].x); } else { Vector2Int[] itemUVData = listUVData[blockCropData.growPro]; //按生长周期取UV uvStartPosition = new Vector2(uvWidth * itemUVData[blockCropData.uvIndex].y, uvWidth * itemUVData[blockCropData.uvIndex].x); } return(uvStartPosition); }