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.
		
		
		
		
		
			
		
			
				
	
	
		
			43 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C#
		
	
			
		
		
	
	
			43 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C#
		
	
| using UnityEngine;
 | |
| using UnityEngine.Playables;
 | |
| using Game;
 | |
| 
 | |
| public class AttackMixerBehaviour : PlayableBehaviour
 | |
| {
 | |
|     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 GameObject;
 | |
| 
 | |
|         if (!trackBinding)
 | |
|             return;
 | |
| 
 | |
|         var trans = trackBinding.transform;
 | |
| 
 | |
|         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, trans.position + shape.Offset, Vector3.right, Color.green);
 | |
|             }
 | |
|         }
 | |
|     }
 | |
| } |