private void UnTrackDevice(OxStationController device, string prefabId) { QuickLogger.Debug($"Removing device: {prefabId} || Device: {device}"); TrackedDevices.Remove(prefabId); device.HealthManager.OnDamaged -= OnDeviceDamaged; device.HealthManager.OnRepaired -= OnDeviceRepaired; }
private void AlertedDeviceDestroyed(OxStationController obj) { var prefabId = obj?.GetPrefabIDString(); if (!string.IsNullOrEmpty(prefabId)) { if (TrackedDevices.ContainsKey(prefabId)) { UnTrackDevice(obj, prefabId); DisplayManager?.UpdateDisplay(); } } }
private void AlertedNewDevicePlaced(OxStationController obj) { if (!FindManager()) { return; } var prefabId = obj?.GetPrefabIDString(); if (!string.IsNullOrEmpty(prefabId)) { if (obj.Manager == Manager && !TrackedDevices.ContainsKey(prefabId)) { TrackDevice(obj, prefabId); DisplayManager?.UpdateDisplay(); } } }
private void TrackDevice(OxStationController device, string prefabId) { device.HealthManager.OnDamaged += OnDeviceDamaged; device.HealthManager.OnRepaired += OnDeviceRepaired; TrackedDevices.Add(prefabId, device); }