コード例 #1
0
        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();
        }
コード例 #2
0
        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();
        }
コード例 #3
0
        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();
        }
コード例 #4
0
        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();
        }