| 12345678910111213141516171819202122232425262728293031 | 
							- using System.Collections;
 
- using System.Collections.Generic;
 
- using System.Linq;
 
- using Unity.VisualScripting;
 
- using UnityEngine;
 
- [CreateAssetMenu(fileName = "InfraredSpotSettings", menuName = "ScriptableObjects/InfraredSpotSettings", order = 1)]
 
- public class InfraredSpotSettings : ScriptableObject
 
- {
 
-     public float RadiusThreshold = 100f;      // 初始阈值参考价值不大,每个环境都不一样?
 
-     List<float> data;
 
-     public InfraredSpotSettings()
 
-     {
 
-         data = new List<float>(50);
 
-         data.AddRange(Enumerable.Repeat(RadiusThreshold, 3));
 
-     }
 
-     public void UpdateThreshold(float data)
 
-     {
 
-         var sum = RadiusThreshold * this.data.Count() + data;
 
-         if (this.data.Count >= 100)
 
-         {
 
-             sum -= this.data[0];
 
-             this.data.RemoveAt(0);
 
-         }
 
-         this.data.Add(data);
 
-         RadiusThreshold = sum / this.data.Count();
 
-     }
 
- }
 
 
  |