BeginChangeCheck とEndChangeCheckで囲んだGUIグループ内の GUI要素で何らかの変更がなされた時にアクションを起こすために使用されます
同じ機能としてGUI.changedもありますが、これはOnGUI関数内全てのことを指すので、 一定の範囲内だけで行いたい場合はBeginChangeCheck () と EndChangeCheck () を以下のように使用します:
EditorGUI.BeginChangeCheck (); // Block of code with controls // that may set GUI.changed to true. if (EditorGUI.EndChangeCheck ()) { // Code to execute if GUI.changed // was set to true inside the block of code above. }
EndChangeCheck will only return true if GUI.changed was set to true inside the block, but GUI.changed will be true afterwards both if it was set to true inside and if it was already true to begin with.