24 lines
		
	
	
		
			849 B
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			24 lines
		
	
	
		
			849 B
		
	
	
	
		
			C#
		
	
	
	
	
	
| //Command.cs
 | |
| using UnityEngine;
 | |
| 
 | |
| public abstract class Command
 | |
| {
 | |
|     public abstract KeyCode Key { get; set; }
 | |
|     public abstract string Description { get; }
 | |
| 
 | |
|     /*
 | |
|     Todo:
 | |
|         1. Add an abstract Execute method with an argument for receiver.
 | |
|             For your consideration:
 | |
|                 What would make for a good Execute receiver parameter?
 | |
|                 Should we try to limit the receiver types?
 | |
|                 How precisely can we limit the receiver's type?
 | |
|                 Could we move the receiver into command data instead?
 | |
|                 What are the benefits of either approach? Which works best here?
 | |
|     */
 | |
| 
 | |
|     /*
 | |
|     2. Create a MoveCommand class, which executes Walk method in TileBasedMovement component.
 | |
|        Execute method of this command should call the Walk(Vector3 direction) method of GridMovement.
 | |
| */
 | |
| } |