private void UpdateSkillCell <T>(int col, int row) { MaidInfo maid = SelectedMaid; if (maid == null) { return; } object val = dataGridView_skill_data[col, row].Value; if (val is bool) { val = !(bool)val; } int skillID = rowToSkillID[row]; if (!updateSkillTable) { if (val is T || (col == SKILL_COLUMN_PLAY_COUNT && val is uint)) { maid.SetSkillValue(skillID, col, val); } else { maid.UpdateSkillData(skillID); } } updateSkillTable = false; }