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.
		
		
		
		
		
			
		
			
	
	
		
			49 lines
		
	
	
		
			988 B
		
	
	
	
		
			C#
		
	
		
		
			
		
	
	
			49 lines
		
	
	
		
			988 B
		
	
	
	
		
			C#
		
	
| 
											2 years ago
										 | using System; | ||
|  | using System.Collections.Generic; | ||
|  | using CleverCrow.Fluid.BTs.Trees; | ||
|  | using UnityEngine; | ||
|  | using UnityEngine.Timeline; | ||
|  | 
 | ||
|  | namespace Game | ||
|  | { | ||
|  |     public delegate IAIObject EventCallbackCreate(); | ||
|  | 
 | ||
|  |     public interface IAIObject | ||
|  |     { | ||
|  |         BehaviorTree Tree(); | ||
|  |         void Create(); | ||
|  |         void Tick(); | ||
|  |     } | ||
|  | 
 | ||
|  |     public partial class AIObjectBase<T> : IAIObject where T : new() | ||
|  |     { | ||
| 
											2 years ago
										 |         protected BehaviorTreeBuilder _builder; | ||
|  |         protected BehaviorTree _tree; | ||
| 
											2 years ago
										 | 
 | ||
|  |         public static EventCallbackCreate GetCreator() | ||
|  |         { | ||
|  |             return () => (IAIObject)new T(); | ||
|  |         } | ||
|  | 
 | ||
|  |         public void Create() | ||
|  |         { | ||
|  |             _builder = new BehaviorTreeBuilder(); | ||
|  |             OnCreate(); | ||
|  |             _tree = _builder.Build(); | ||
|  |         } | ||
|  | 
 | ||
|  |         protected virtual void OnCreate() | ||
|  |         { | ||
|  |         } | ||
|  | 
 | ||
|  |         public void Tick() | ||
|  |         { | ||
|  |             _tree.Tick(); | ||
|  |         } | ||
|  | 
 | ||
|  |         public BehaviorTree Tree() | ||
|  |         { | ||
|  |             return _tree; | ||
|  |         } | ||
|  |     } | ||
|  | } |