C#(Unity)循环遍历Dictionary,并修改内容或删除内容

头文件

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;
	            }
	        }
	    }
	} 

}
相关推荐
Charles_go10 分钟前
C#7、如何处理异常
开发语言·c#
我曾遇到一束光13 分钟前
Springboot3.X+security6.5+jdk21
java·开发语言
Tipriest_17 分钟前
C++ 图形中间件库Magnum详细介绍
开发语言·c++·magnum
tryxr25 分钟前
Java 不同创建线程的方式什么时候才可以使用 this 来获取线程的引用
java·开发语言·多线程
消失的旧时光-19431 小时前
Kotlin JSON 序列化库选型指南:Kotlinx.serialization vs Gson
开发语言·kotlin·json
newchenxf1 小时前
AndroidStudio版本和AGP版本和gradle版本以及kotlin gradle plugin版本关系梳理 2025
android·开发语言·kotlin
猫头虎1 小时前
Rust评测案例:Rust、Java、Python、Go、C++ 实现五大排序算法的执行时间效率比较(基于 OnlineGDB 平台)
java·开发语言·c++·python·golang·rust·排序算法
milanyangbo1 小时前
从局部性原理到一致性模型:深入剖析缓存设计的核心权衡
开发语言·后端·缓存·架构
ftpeak1 小时前
Rust 嵌入式开发的经验之谈
开发语言·后端·rust
唐青枫1 小时前
C#.NET ControllerBase 深入解析:Web API 控制器的核心基石
c#·.net