2
0
Fork 0
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

44 lines
1.4 KiB
C#

using UnityEngine;
using UnityEngine.Playables;
using Game;
public class AttackMixerBehaviour : PlayableBehaviour
{
private const float ToGridSize = 16f / 64f;
// NOTE: This function is called at runtime and edit time. Keep that in mind when setting the values of properties.
public override void ProcessFrame(Playable playable, FrameData info, object playerData)
{
SwitchPanel(playable, info, playerData);
DrawBox(playable, info, playerData);
}
private void SwitchPanel(Playable playable, FrameData info, object playerData)
{
}
private void DrawBox(Playable playable, FrameData info, object playerData)
{
var trackBinding = playerData as Transform;
if (!trackBinding)
return;
var inputCount = playable.GetInputCount();
for (var i = 0; i < inputCount; i++)
{
var inputPlayable = (ScriptPlayable<AttackBehaviour>)playable.GetInput(i);
var input = inputPlayable.GetBehaviour();
var attackTimeClipTime = inputPlayable.GetTime();
var attackTimeClipTimeMax = inputPlayable.GetDuration();
if (attackTimeClipTime > 0 && attackTimeClipTime + 0.01f < attackTimeClipTimeMax)
{
var shape = input.ShapeNew;
Util.DrawShape(input.ShapeNew, trackBinding.position + shape.Offset, Vector3.right, Color.green);
}
}
}
}