public static CharacterState[] Create(CharacterStateMachineType type) { switch (type) { case CharacterStateMachineType.Player: return(new CharacterState[] { new Impl.Player.Idle(), new Impl.Player.Walk(), new Impl.Player.Jump() }); case CharacterStateMachineType.Deamon: return(new CharacterState[] { new Impl.Enemy.Idle(typeof(Impl.Enemy.AttackMelee)), new Impl.Enemy.Walk(typeof(Impl.Enemy.AttackMelee)), new Impl.Enemy.Jump(typeof(Impl.Enemy.AttackMelee)), new Impl.Enemy.AttackMelee(), }); case CharacterStateMachineType.Mutant: return(new CharacterState[] { new Impl.Enemy.Idle(typeof(Impl.Enemy.AttackWeapon)), new Impl.Enemy.Walk(typeof(Impl.Enemy.AttackWeapon)), new Impl.Enemy.Jump(typeof(Impl.Enemy.AttackWeapon)), new Impl.Enemy.AttackWeapon() }); } throw new NotImplementedException(type.ToString()); }
public static CharacterState[] Create(CharacterStateMachineType type) { switch (type) { case CharacterStateMachineType.Player: return new CharacterState[] { new Impl.Player.Idle(), new Impl.Player.Walk(), new Impl.Player.Jump() }; case CharacterStateMachineType.Deamon: return new CharacterState[] { new Impl.Enemy.Idle(typeof(Impl.Enemy.AttackMelee)), new Impl.Enemy.Walk(typeof(Impl.Enemy.AttackMelee)), new Impl.Enemy.Jump(typeof(Impl.Enemy.AttackMelee)), new Impl.Enemy.AttackMelee(), }; case CharacterStateMachineType.Mutant: return new CharacterState[] { new Impl.Enemy.Idle(typeof(Impl.Enemy.AttackWeapon)), new Impl.Enemy.Walk(typeof(Impl.Enemy.AttackWeapon)), new Impl.Enemy.Jump(typeof(Impl.Enemy.AttackWeapon)), new Impl.Enemy.AttackWeapon() }; } throw new NotImplementedException(type.ToString()); }