protected void SharedGUIOne(AC.Char _target) { _target.GetAnimEngine(); EditorGUILayout.BeginVertical("Button"); EditorGUILayout.LabelField("Animation settings:", EditorStyles.boldLabel); _target.animationEngine = (AnimationEngine)EditorGUILayout.EnumPopup("Animation engine:", _target.animationEngine); if (_target.animationEngine == AnimationEngine.Custom) { _target.customAnimationClass = EditorGUILayout.TextField("Script name:", _target.customAnimationClass); } _target.motionControl = (MotionControl)EditorGUILayout.EnumPopup("Motion control:", _target.motionControl); EditorGUILayout.EndVertical(); _target.GetAnimEngine().CharSettingsGUI(); EditorGUILayout.BeginVertical("Button"); EditorGUILayout.LabelField("Movement settings:", EditorStyles.boldLabel); if (_target.GetMotionControl() == MotionControl.Automatic) { _target.walkSpeedScale = EditorGUILayout.FloatField("Walk speed scale:", _target.walkSpeedScale); _target.runSpeedScale = EditorGUILayout.FloatField("Run speed scale:", _target.runSpeedScale); _target.acceleration = EditorGUILayout.FloatField("Acceleration:", _target.acceleration); _target.deceleration = EditorGUILayout.FloatField("Deceleration:", _target.deceleration); _target.runDistanceThreshold = EditorGUILayout.FloatField("Minimum run distance:", _target.runDistanceThreshold); } if (_target.GetMotionControl() != MotionControl.Manual) { _target.turnSpeed = EditorGUILayout.FloatField("Turn speed:", _target.turnSpeed); } _target.turnBeforeWalking = EditorGUILayout.Toggle("Turn before walking?", _target.turnBeforeWalking); EditorGUILayout.EndVertical(); }
protected void SharedGUIOne(AC.Char _target) { _target.GetAnimEngine(); EditorGUILayout.BeginVertical("Button"); EditorGUILayout.LabelField("Animation settings:", EditorStyles.boldLabel); _target.animationEngine = (AnimationEngine)EditorGUILayout.EnumPopup("Animation engine:", _target.animationEngine); if (_target.animationEngine == AnimationEngine.Custom) { _target.customAnimationClass = EditorGUILayout.TextField("Script name:", _target.customAnimationClass); } _target.motionControl = (MotionControl)EditorGUILayout.EnumPopup("Motion control:", _target.motionControl); EditorGUILayout.EndVertical(); _target.GetAnimEngine().CharSettingsGUI(); EditorGUILayout.BeginVertical("Button"); EditorGUILayout.LabelField("Movement settings:", EditorStyles.boldLabel); if (_target.GetMotionControl() == MotionControl.Automatic) { _target.walkSpeedScale = EditorGUILayout.FloatField("Walk speed scale:", _target.walkSpeedScale); _target.runSpeedScale = EditorGUILayout.FloatField("Run speed scale:", _target.runSpeedScale); _target.acceleration = EditorGUILayout.FloatField("Acceleration:", _target.acceleration); _target.deceleration = EditorGUILayout.FloatField("Deceleration:", _target.deceleration); _target.runDistanceThreshold = EditorGUILayout.FloatField("Minimum run distance:", _target.runDistanceThreshold); } if (_target.GetMotionControl() != MotionControl.Manual) { _target.turnSpeed = EditorGUILayout.FloatField("Turn speed:", _target.turnSpeed); if (_target.GetAnimEngine().isSpriteBased) { _target.turn2DCharactersIn3DSpace = EditorGUILayout.Toggle("Turn root object in 3D space?", _target.turn2DCharactersIn3DSpace); } } _target.turnBeforeWalking = EditorGUILayout.Toggle("Turn before walking?", _target.turnBeforeWalking); _target.retroPathfinding = EditorGUILayout.Toggle("Retro-style movement?", _target.retroPathfinding); _target.headTurnSpeed = EditorGUILayout.Slider("Head turn speed:", _target.headTurnSpeed, 0.1f, 20f); if (_target is Player && AdvGame.GetReferences().settingsManager != null && AdvGame.GetReferences().settingsManager.PlayerCanReverse()) { _target.reverseSpeedFactor = EditorGUILayout.Slider("Reverse speed factor:", _target.reverseSpeedFactor, 0f, 1f); } EditorGUILayout.EndVertical(); }
protected void SharedGUIOne(AC.Char _target) { _target.GetAnimEngine(); EditorGUILayout.BeginVertical("Button"); EditorGUILayout.LabelField("Animation settings:", EditorStyles.boldLabel); _target.animationEngine = (AnimationEngine)CustomGUILayout.EnumPopup("Animation engine:", _target.animationEngine, "", "The animation engine that the character relies on for animation playback"); if (_target.animationEngine == AnimationEngine.Custom) { _target.customAnimationClass = CustomGUILayout.TextField("Script name:", _target.customAnimationClass, "", "The class name of the AnimEngine ScriptableObject subclass that animates the character"); } _target.motionControl = (MotionControl)CustomGUILayout.EnumPopup("Motion control:", _target.motionControl, "", "How motion is controlled"); EditorGUILayout.EndVertical(); _target.GetAnimEngine().CharSettingsGUI(); EditorGUILayout.BeginVertical("Button"); EditorGUILayout.LabelField("Movement settings:", EditorStyles.boldLabel); if (_target.GetMotionControl() == MotionControl.Automatic) { _target.walkSpeedScale = CustomGUILayout.FloatField("Walk speed scale:", _target.walkSpeedScale, "", "The movement speed when walking"); _target.runSpeedScale = CustomGUILayout.FloatField("Run speed scale:", _target.runSpeedScale, "", "The movement speed when running"); _target.acceleration = CustomGUILayout.FloatField("Acceleration:", _target.acceleration, "", "The acceleration factor"); _target.deceleration = CustomGUILayout.FloatField("Deceleration:", _target.deceleration, "", "The deceleration factor"); _target.runDistanceThreshold = CustomGUILayout.FloatField("Minimum run distance:", _target.runDistanceThreshold, "", "The minimum distance between the character and its destination for running to be possible"); } if (_target.GetMotionControl() != MotionControl.Manual) { _target.turnSpeed = CustomGUILayout.FloatField("Turn speed:", _target.turnSpeed, "", "The turn speed"); if (_target.GetAnimEngine().isSpriteBased) { _target.turn2DCharactersIn3DSpace = CustomGUILayout.Toggle("Turn root object in 3D?", _target.turn2DCharactersIn3DSpace, "", "If True, then the root object of a 2D, sprite-based character will rotate around the Z-axis. Otherwise, turning will be simulated and the actual rotation will be unaffected"); } } _target.turnBeforeWalking = CustomGUILayout.Toggle("Turn before walking?", _target.turnBeforeWalking, "", "If True, the character will turn on the spot to face their destination before moving"); _target.retroPathfinding = CustomGUILayout.Toggle("Retro-style movement?", _target.retroPathfinding, "", "Enables 'retro-style' movement when pathfinding, where characters ignore Acceleration and Deceleration values, and turn instantly when moving"); _target.headTurnSpeed = CustomGUILayout.Slider("Head turn speed:", _target.headTurnSpeed, 0.1f, 20f, "", "The speed of head-turning"); if (_target is Player && AdvGame.GetReferences().settingsManager != null && AdvGame.GetReferences().settingsManager.PlayerCanReverse()) { _target.reverseSpeedFactor = CustomGUILayout.Slider("Reverse speed factor:", _target.reverseSpeedFactor, 0f, 1f, "", "The factor by which speed is reduced when reversing"); } EditorGUILayout.EndVertical(); }
protected void SharedGUIOne(AC.Char _target) { if (_target.animEngine == null || !_target.animEngine.ToString().Contains(_target.animationEngine.ToString())) { _target.ResetAnimationEngine(); } EditorGUILayout.BeginVertical("Button"); EditorGUILayout.LabelField("Animation settings:", EditorStyles.boldLabel); _target.animationEngine = (AnimationEngine)EditorGUILayout.EnumPopup("Animation engine:", _target.animationEngine); if (_target.animationEngine == AnimationEngine.Sprites2DToolkit && !tk2DIntegration.IsDefinePresent()) { EditorGUILayout.HelpBox("The 'tk2DIsPresent' preprocessor define must be declared in the\ntk2DIntegration.cs script. Please open it and follow instructions.", MessageType.Warning); } if (_target.animationEngine == AnimationEngine.Custom) { _target.customAnimationClass = EditorGUILayout.TextField("Script name:", _target.customAnimationClass); _target.motionControl = (MotionControl)EditorGUILayout.EnumPopup("Motion control:", _target.motionControl); } EditorGUILayout.EndVertical(); _target.animEngine.CharSettingsGUI(); EditorGUILayout.BeginVertical("Button"); EditorGUILayout.LabelField("Movement settings:", EditorStyles.boldLabel); if (_target.GetMotionControl() == MotionControl.Automatic) { _target.walkSpeedScale = EditorGUILayout.FloatField("Walk speed scale:", _target.walkSpeedScale); _target.runSpeedScale = EditorGUILayout.FloatField("Run speed scale:", _target.runSpeedScale); _target.acceleration = EditorGUILayout.FloatField("Acceleration:", _target.acceleration); _target.deceleration = EditorGUILayout.FloatField("Deceleration:", _target.deceleration); } if (_target.GetMotionControl() != MotionControl.Manual) { _target.turnSpeed = EditorGUILayout.FloatField("Turn speed:", _target.turnSpeed); } _target.turnBeforeWalking = EditorGUILayout.Toggle("Turn before walking?", _target.turnBeforeWalking); EditorGUILayout.EndVertical(); }