Inheritance: UnityEngine.StateMachineBehaviour
    private void AddBehaviorState(UnityEditor.Animations.AnimatorStateMachine rootStateMachine, string nameIn)
    {
        var new_state = rootStateMachine.AddState(nameIn);

        new_state.AddStateMachineBehaviour <CreaturePackStateMachineBehavior>();
        CreaturePackStateMachineBehavior cur_behavior = (CreaturePackStateMachineBehavior)new_state.behaviours[0];

        cur_behavior.play_animation_name = nameIn;
    }
Esempio n. 2
0
    public void CreateStateMachine()
    {
        CreaturePackAsset pack_asset  = (CreaturePackAsset)target;
        string            create_name = "Assets/" + pack_asset.name + "_StateMachineTransitions.controller";
        // Creates the controller
        var controller       = UnityEditor.Animations.AnimatorController.CreateAnimatorControllerAtPath(create_name);
        var rootStateMachine = controller.layers[0].stateMachine;

        // Add states
        var all_animations
            = pack_asset.GetCreaturePackLoader().animClipMap;

        foreach (string cur_name in all_animations.Keys)
        {
            var new_state = rootStateMachine.AddState(cur_name);

            new_state.AddStateMachineBehaviour <CreaturePackStateMachineBehavior>();
            CreaturePackStateMachineBehavior cur_behavior = (CreaturePackStateMachineBehavior)new_state.behaviours[0];
            cur_behavior.play_animation_name = cur_name;
        }
    }