Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System.Threading.Tasks;
- using UnityEngine;
- using GameCreator.Runtime.Common;
- using GameCreator.Runtime.Characters;
- using BrokenWings.Player;
- using BrokenWings.Character.StateMachine;
- using System.Collections.Generic;
- [System.Serializable]
- public class CharacterState
- {
- [SerializeField] private StateData m_State = new StateData(StateData.StateType.State);
- [SerializeField] private PropertyGetInteger m_Layer = new PropertyGetInteger(1);
- [SerializeField] private BlendMode m_BlendMode = BlendMode.Blend;
- private float m_Delay = 0f;
- private float m_Speed = 1f;
- private float m_Weight = 1f;
- private float m_Transition = 0.1f;
- public PropertyGetGameObject m_Character;
- private Task DefaultResult;
- public Task RunStateAnimation(GameCreator.Runtime.Characters.Character character)
- {
- Args args = character.Args;
- if (character == null) return DefaultResult;
- if (!this.m_State.IsValid(character)) return DefaultResult;
- ConfigState configuration = new ConfigState(
- this.m_Delay, this.m_Speed, this.m_Weight,
- this.m_Transition, 0f
- );
- int layer = (int)this.m_Layer.Get(args);
- _ = character.States.SetState(
- this.m_State, layer,
- this.m_BlendMode, configuration
- );
- return DefaultResult;
- }
- }
- public class GCPlayerController : MonoBehaviour
- {
- private BWSystemInputs input;
- public BWSystemInputs Input { get; set; }
- private GameCreator.Runtime.Characters.Character character;
- public List<CharacterState> characterStates = new List<CharacterState>();
- private bool walk = true;
- private bool run = false;
- void Start()
- {
- input = GetComponent<BWSystemInputs>();
- // SetState(new IdleState(this));
- character = GetComponent<GameCreator.Runtime.Characters.Character>();
- }
- void Update()
- {
- if(input.Sprint && run == false)
- {
- run = true;
- walk = false;
- characterStates[1].RunStateAnimation(character);
- }
- if(!input.Sprint && walk == false)
- {
- run = false;
- walk = true;
- characterStates[0].RunStateAnimation(character);
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement