public override void Update() { foreach (var item in TargetList.ToList()) { var block = item as IMySlimBlock; if (block != null) { ProcessItem(block); } } foreach (var item in TempPhysicless.ToList()) { if (DateTime.Now - item.Value > TimeSpan.FromSeconds(10)) { if (item.Key.Closed) { TempPhysicless.Remove(item.Key); continue; } if (!item.Key.Closed && item.Key.Physics != null) { item.Key.Physics.LinearVelocity = Vector3.Zero; item.Key.Physics.AngularVelocity = Vector3.Zero; item.Key.Physics.LinearDamping = 0.0f; item.Key.Physics.AngularDamping = 0.0f; } TempPhysicless.Remove(item.Key); } } }
private void AddPhysicless(IMyCubeGrid grid) { if (!TempPhysicless.ContainsKey((IMyCubeGrid)grid)) { TempPhysicless.Add((IMyCubeGrid)grid, DateTime.Now); } else { TempPhysicless[(IMyCubeGrid)grid] = DateTime.Now; } }