// COPY PROPERTY // // virtual public void CopyProperty(BaseProperty originalProperty, AmpsBlueprint theOwnerBlueprint) { // We don't copy non-user-editable properties so their values // don't linger, code updates are followed in already placed properties // after the next blueprint commit. // //name = originalProperty.name; //allowDataModeRandomConstant = originalProperty.allowDataModeRandomConstant; //allowDataModeCurve = originalProperty.allowDataModeCurve; //allowDataModeRandomCurve = originalProperty.allowDataModeRandomCurve; //allowDataModeReference = originalProperty.allowDataModeReference; //allowDataModeParameter = originalProperty.allowDataModeParameter; dataMode = originalProperty.dataMode; reference = originalProperty.reference; parameterName = originalProperty.parameterName; parameter = originalProperty.parameter; if (theOwnerBlueprint != null) { ownerBlueprint = theOwnerBlueprint; } else { ownerBlueprint = originalProperty.ownerBlueprint; } coordSystem = originalProperty.coordSystem; coordSystemConversionMode = originalProperty.coordSystemConversionMode; }
// SET DEFAULT COORD SYSTEM // // public void SetDefaultCoordSystem(AmpsHelpers.eStackFunction stackFunction) { if (stackFunction == AmpsHelpers.eStackFunction.Position || stackFunction == AmpsHelpers.eStackFunction.Rotation || stackFunction == AmpsHelpers.eStackFunction.Scale) { coordSystem = AmpsHelpers.eCoordSystems.Emitter; } }
//============================================================================// #if UNITY_EDITOR // INITIALIZE // // virtual public void Initialize(string theName, AmpsBlueprint theOwnerBlueprint) { name = theName; allowDataModeRandomConstant = true; allowDataModeCurve = true; allowDataModeRandomCurve = true; allowDataModeReference = true; dataMode = eDataMode.Constant; reference = null; ownerBlueprint = theOwnerBlueprint; coordSystem = AmpsHelpers.eCoordSystems.World; coordSystemConversionMode = eCoordSystemConversionMode.NoConversion; }
// COORD SYSTEM POPUP // // public AmpsHelpers.eCoordSystems coordSystemPopup(AmpsHelpers.eCoordSystems theCoordSystem) { AmpsHelpers.eCoordSystems returnValue; GUILayout.BeginHorizontal(); GUILayout.Label("Relative to"); returnValue = (AmpsHelpers.eCoordSystems)SortedPopup((int)theCoordSystem, AmpsHelpers.coordSystemsDisplayData, GUILayout.Width(100)); GUILayout.EndHorizontal(); EditorGUILayout.Space(); return(returnValue); }