mirror of
https://github.com/4jcraft/4jcraft.git
synced 2026-04-23 23:33:36 +00:00
19 lines
621 B
C++
19 lines
621 B
C++
#pragma once
|
|
#include "DefaultDispenseItemBehavior.h"
|
|
|
|
class Projectile;
|
|
class Position;
|
|
|
|
class AbstractProjectileDispenseBehavior : public DefaultDispenseItemBehavior {
|
|
public:
|
|
virtual std::shared_ptr<ItemInstance> execute(
|
|
BlockSource* source, std::shared_ptr<ItemInstance> dispensed,
|
|
eOUTCOME& outcome);
|
|
|
|
protected:
|
|
virtual void playSound(BlockSource* source, eOUTCOME outcome);
|
|
virtual float getUncertainty();
|
|
virtual float getPower();
|
|
virtual std::shared_ptr<Projectile> getProjectile(Level* world,
|
|
Position* position) = 0;
|
|
}; |