コード例 #1
0
 public virtual void InitInstance(Animator animator, CharacterToolsManager toolsManager, Rotator rotator, CharacterAction actionData, CharacterActionHandler actionHandler)
 {
     base.InitInstance(animator, toolsManager);
     this.rotator       = rotator;
     this.actionData    = actionData;
     this.actionHandler = actionHandler;
 }
コード例 #2
0
    public CharacterActionState ActivateState(CharacterActionState state, Vector2 endPosition, Vector2 actionDirection)
    {
        // Все необходимые данные для выполнения действия состояния
        CharacterAction actionData = new CharacterAction(this, skillsManager, state, transform.position, endPosition, actionDirection);
        // Обработчик действия на "местности"
        CharacterActionHandler actionHandler = actionsHandlers.FirstOrDefault(handler => handler.HandledState == state);
        // Создаем экземпляр состояния из шаблона
        CharacterActionState activeState = ScriptableObject.Instantiate(state);

        activeState.InitInstance(animator, toolsManager, rotator, actionData, actionHandler);
        return(activeState);
    }