【发布时间】:2022-11-04 00:19:44
【问题描述】:
在刀锋山:战团快速战斗模式中,允许用户选择军队组成,如图所示:
当用户滑动其中一个滑块时,其他滑块会自动移动到一个合理的值。
我想做类似的事情,但在 Unity Inspector 中。我有一个包含 GameObject 和字节滑块的类(使用范围属性):
我怎样才能达到类似的结果,因为每个人的产卵机会网格项?
生成机会是
byte.我使用了
OnValidate函数。我获得的产卵机会如下:// the sum of all spawn chances should be 100 List<byte> spawnChances = new List<byte>(); foreach (Spawnable item in gridItems) { spawnChances.Add(item.spawnChance); } if (spawnChances.Count > 0) { byte sum = 0; foreach (byte chance in spawnChances) { sum += chance; } if (sum != 100) { foreach (Spawnable item in gridItems) { item.spawnChance = (byte)(item.spawnChance / sum * 100); // if i do this, when i change the value // the editor snaps it to 100 } } }
【问题讨论】:
-
你知道OnValidate 仅限编辑吗?
-
是的,如果有更好的方法请告诉我。
标签: c# unity3d unity-editor