1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 |
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Xna.Framework;
namespace AIFramework.StateMachine
{
public class StateMachine
{
public List<State> States { get; set; }
public StateMachine()
{
}
public T GetState<T>()
{
return States.OfType<T>().First();
}
public void AddState(State state)
{
States.Add(state);
}
}
public interface IState
{
string Name { get; set; }
void Enter();
void Exit();
void Update(GameTime gameTime);
IState ChangeState(IState state);
}
} |