
Сообщение от
Phileas
Дамы и господа, мне всё ещё непонятен один момент: если это просто надстройка над Unity, есть ли смысл ждать выхода Unite, а потом ограничивать себя им, если можно сразу разрабатывать на Unity?
Наверное стоит понимать что такое Unity в целом и что будет заложено в функционал Unite (а этого понимания до сих пор толком нет).
Но наверное на данный момент,целом если для тебя не составляет сложности написать что-то вроде такого:
Код:
using System.Collections.Generic;
using UnityEngine;
namespace platformer
{
public class CharacterState : StateMachineBehaviour
{
[SerializeField] private List<StateData> ListAbilityData = new List<StateData>();
public override void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
{
foreach (StateData d in ListAbilityData)
{
d.OnEnter(this, animator, stateInfo);
}
}
public void UpdateAll(CharacterState characterState, Animator animator, AnimatorStateInfo stateInfo)
{
foreach (StateData d in ListAbilityData)
{
d.UpdateAbility(characterState, animator, stateInfo);
}
}
public override void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
{
UpdateAll(this, animator, stateInfo);
}
public override void OnStateExit(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
{
foreach (StateData d in ListAbilityData)
{
d.OnExit(this, animator, stateInfo);
}
}
private CharacterControl characterControl;
public CharacterControl GetCharacterControl(Animator animator)
{
if (characterControl == null)
{
characterControl = animator.GetComponentInParent<CharacterControl>();
}
return characterControl;
}
}
public abstract class StateData : ScriptableObject
{
public abstract void OnEnter(CharacterState characterState, Animator animator, AnimatorStateInfo stateInfo);
public abstract void UpdateAbility(CharacterState characterState, Animator animator, AnimatorStateInfo stateInfo);
public abstract void OnExit(CharacterState characterState, Animator animator, AnimatorStateInfo stateInfo);
}
}
оффтоп: и это для более удобной работы со стейтами анимации персонажа. И в основном выполняет функцию "станить" перса, когда он выполняет прыжок получает урон или бьет
То смысла не имеет. Но с другой стороны, ты уже можешь делать игры на не мукере.
Социальные закладки