/// <inheritdoc/> protected override void ApplyValuesToFields(object[] values) { if (Inspector.State.usingLocalSpace) { base.ApplyValuesToFields(values); return; } // Can't write to field when using LinkedMemberInfo, because lossyScale property is get-only. // Convert to localScale and write directly to transform targets instead. var targets = UnityObjects; #if DEV_MODE && PI_ASSERTATIONS Debug.Assert(values.Length == targets.Length); #endif bool changed = false; for (int n = targets.Length - 1; n >= 0; n--) { var transform = targets[n] as Transform; var setLossyScale = (Vector3)values[n]; if (!ValuesAreEqual(transform.lossyScale, setLossyScale)) { if (!changed) { changed = true; UndoHandler.RegisterUndoableAction(targets, UndoHandler.GetSetValueMenuText(Name)); } transform.SetWorldScale(setLossyScale); } } }
/// <inheritdoc/> protected override void ApplyValueToField() { if (Inspector.State.usingLocalSpace) { base.ApplyValueToField(); return; } bool changed = false; var setLossyScale = Value; // Can't write to field when using LinkedMemberInfo, because lossyScale property is get-only. // Convert to localScale and write directly to transform targets instead. var targets = UnityObjects; for (int n = targets.Length - 1; n >= 0; n--) { var transform = targets[n] as Transform; if (!ValuesAreEqual(transform.lossyScale, setLossyScale)) { if (!changed) { changed = true; UndoHandler.RegisterUndoableAction(targets, UndoHandler.GetSetValueMenuText(Name)); } transform.SetWorldScale(setLossyScale); } } }
/// <inheritdoc/> protected override void ApplyValuesToFields(object[] values) { if (Inspector.State.usingLocalSpace || !(parent is ScaleDrawer)) { base.ApplyValuesToFields(values); return; } #if DEV_MODE Debug.Log(ToString() + ".WriteToField(" + StringUtils.ToString(values) + ") with world space"); #endif bool changed = false; // Can't write to field when using LinkedMemberInfo, because lossyScale property is get-only. // Convert to localScale and write directly to transform targets instead. var targets = UnityObjects; for (int n = targets.Length - 1; n >= 0; n--) { var transform = targets[n] as Transform; var setLossyScale = transform.lossyScale; float value = (float)values[n]; if (transform.lossyScale[memberIndex] != value) { if (!changed) { changed = true; UndoHandler.RegisterUndoableAction(targets, UndoHandler.GetSetValueMenuText(parent.Name)); } setLossyScale[memberIndex] = value; transform.SetWorldScale(setLossyScale); } } }
private void SetMinute(int set) { if (Minute != set && set >= 0 && set < 60) { var setValue = new DateTime(Year, Month, Day, Hour, set, Second, Millisecond); UndoHandler.RegisterUndoableAction(memberInfo, setValue, UndoHandler.GetSetValueMenuText("Minute"), true); SetValue(setValue, !ReadOnly, false); } }
private void SetHour(int set) { if (Hour != set && set >= 0 && set <= DateTime.MaxValue.Hour) { var setValue = new DateTime(Year, Month, Day, set, Minute, Second, Millisecond); UndoHandler.RegisterUndoableAction(memberInfo, setValue, UndoHandler.GetSetValueMenuText("Hour"), true); SetValue(setValue, !ReadOnly, false); } }
private void SetDay(int set) { if (Day != set && set >= 1 && set <= DateTime.DaysInMonth(Year, Month)) { var setValue = new DateTime(Year, Month, set, Hour, Minute, Second, Millisecond); UndoHandler.RegisterUndoableAction(memberInfo, setValue, UndoHandler.GetSetValueMenuText("Day"), true); SetValue(setValue, !ReadOnly, false); } }
private void SetSeconds(float set) { if (SecondWithFractions != set && set >= 0 && set <= 60) { int s = Mathf.FloorToInt(set); int ms = Mathf.RoundToInt((set - s) * 1000f); var setValue = new DateTime(Year, Month, Day, Hour, Minute, s, ms); UndoHandler.RegisterUndoableAction(memberInfo, setValue, UndoHandler.GetSetValueMenuText("Second"), true); SetValue(setValue, !ReadOnly, false); } }