blob: 75053d6b78e8feed86d7f0fe79f724fc3eb497da (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
#pragma once
#include "DefaultDispenseItemBehavior.h"
class Projectile;
class Position;
class AbstractProjectileDispenseBehavior : public DefaultDispenseItemBehavior
{
public:
virtual shared_ptr<ItemInstance> execute(BlockSource *source, shared_ptr<ItemInstance> dispensed, eOUTCOME &outcome);
protected:
virtual void playSound(BlockSource *source, eOUTCOME outcome);
virtual float getUncertainty();
virtual float getPower();
virtual shared_ptr<Projectile> getProjectile(Level *world, Position *position) = 0;
};
|