45 lines
1.0 KiB
C#
Executable File
45 lines
1.0 KiB
C#
Executable File
public abstract class AbstractCharacterFactory
|
|
{
|
|
protected IDoActivity behaviour;
|
|
protected AbstractCharacterFactory() { }
|
|
public abstract BaseBehaviour CreateCharacterBehaviour(NPC npc);
|
|
}
|
|
|
|
public class DumbDefenderFactory : AbstractCharacterFactory
|
|
{
|
|
public DumbDefenderFactory()
|
|
{
|
|
behaviour = new DumbDefenderBehaviour();
|
|
}
|
|
|
|
public override BaseBehaviour CreateCharacterBehaviour(NPC npc)
|
|
{
|
|
return new DumbDefender(npc);
|
|
}
|
|
}
|
|
|
|
public class DumbAttackerFactory : AbstractCharacterFactory
|
|
{
|
|
public DumbAttackerFactory()
|
|
{
|
|
behaviour = new DumbAttackerBehaviour();
|
|
}
|
|
|
|
public override BaseBehaviour CreateCharacterBehaviour(NPC npc)
|
|
{
|
|
return new DumbAttacker(npc);
|
|
}
|
|
}
|
|
|
|
public class HumanFactory : AbstractCharacterFactory
|
|
{
|
|
public HumanFactory()
|
|
{
|
|
behaviour = new HumanBehaviour();
|
|
}
|
|
|
|
public override BaseBehaviour CreateCharacterBehaviour(NPC npc)
|
|
{
|
|
return new Human(npc);
|
|
}
|
|
} |