private void SafeObtain(SafeObtainMethod action, int?targetTab = null) { if (m_isEditing || WTSHighwayShieldEditor.Instance.EditingInstance == null) { return; } lock (this) { m_isEditing = true; try { int effTargetTab = Math.Max(0, targetTab ?? TabToEdit); if (effTargetTab < WTSHighwayShieldEditor.Instance.EditingInstance.TextDescriptors.Count) { var x = WTSHighwayShieldEditor.Instance.EditingInstance.TextDescriptors[effTargetTab]; action(ref x); WTSHighwayShieldEditor.Instance.EditingInstance.TextDescriptors[effTargetTab] = x; Preview.ReloadData(); } } finally { m_isEditing = false; } } }
private void SafeObtain(SafeObtainMethod action, int?targetTab = null) { int effTargetTab = Math.Max(-1, targetTab ?? m_currentIdx); if (effTargetTab < 0) { return; } if (effTargetTab < ACEVehicleConfigRulesData.Instance.Rules.m_dataArray.Length) { action(ref ACEVehicleConfigRulesData.Instance.Rules.m_dataArray[effTargetTab]); AssetColorExpanderMod.Controller.CleanCacheVehicle(); } }
private void SafeObtain(SafeObtainMethod action, int?targetTab = null) { if (m_isEditing || WTSVehicleLayoutEditor.Instance.EditingInstance == null) { return; } lock (this) { m_isEditing = true; try { int effTargetTab = Math.Max(0, targetTab ?? TabToEdit); if (effTargetTab < WTSVehicleLayoutEditor.Instance.EditingInstance.TextDescriptors.Length) { action(ref WTSVehicleLayoutEditor.Instance.EditingInstance.TextDescriptors[effTargetTab]); } } finally { m_isEditing = false; } } }