头文件
csharp
using System.Linq;
代码
csharp
/// <summary>
/// RotateObjectList :旋转列表 <物体本身,(Y轴当前旋转值,Y轴旋转目标)>
/// </summary>
Dictionary<HLSceneObject, (float,float)> RotateObjectList = new Dictionary<HLSceneObject,(float, float)>();
update(){
// 物体旋转列表遍历
if (RotateObjectList.Count > 0)
{
for (int i = 0; i < RotateObjectList.Count; i++)
{
var item = RotateObjectList.ElementAt(i);
float value = item.Value.Item1;
if (...)
{
// 旋转
value += rotateDirection * ScrollAnglePerTime * time * 5;
item.Key.RotateObject(value);
// 写回
RotateObjectList[item.Key] = (value, item.Value.Item2);
// 判断是否结束
if (...)
{
item.Key.ChangeRotate((int)item.Value.Item2);
OnScrolled();
RotateObjectList.Remove(item.Key);
continue;
}
}
}
}
}