qField?.RegisterValueChangedCallback(ev =>
{
if (rChanged)
{
Debug.Log("Avoided changing Q.");
rChanged = false;
return;
}
qChanged = true;
int newS = -q.intValue - r.intValue;
Debug.Log($"New S is: {newS}. q = {-q.intValue} | r = {-r.intValue}");
s.intValue = newS;
property.serializedObject.ApplyModifiedProperties();
property.serializedObject.Update();
});
rField?.RegisterValueChangedCallback(ev =>
{
if (sChanged)
{
Debug.Log("Avoided changing R.");
sChanged = false;
return;
}
rChanged = true;
int newQ = -r.intValue - s.intValue;
Debug.Log($"New Q is: {newQ}. r = {-r.intValue} | s = {-s.intValue}");
q.intValue = newQ;
property.serializedObject.ApplyModifiedProperties();
property.serializedObject.Update();
});
sField?.RegisterValueChangedCallback(ev =>
{
if (qChanged)
{
Debug.Log("Avoided changing S.");
qChanged = false;
return;
}
sChanged = true;
int newR = -s.intValue - q.intValue;
Debug.Log($"New R is: {newR}. s = {-s.intValue} | q = {-q.intValue}");
r.intValue = newR;
property.serializedObject.ApplyModifiedProperties();
property.serializedObject.Update();
});