#ifndef MAGICPOINTITEM_H_
#define MAGICPOINTITEM_H_
#include "VioletVreath.h"
#include "jp/gecchi/VioletVreath/actor/item/Item.h"

namespace VioletVreath {

/**
 * MP夞暅傾僀僥儉彫 .
 * @version 1.00
 * @since 2011/02/04
 * @author Masatoshi Tsuge
 */
class MagicPointItem : public Item {

public:
    enum {
        PROG_DRIFT      , //捠忢堏摦忬懺
        PROG_ATTACH     , //媧拝拞(枹媧拝)忬懺
        PROG_ABSORB     , //媧拝拞(媧拝嵪)忬懺
        PROG_BANPEI,
    };

    enum {
        SE_GET_ITEM ,
    };

    /** 暯峴堏摦巟墖 */
    GgafDxCore::GgafDxAxesMover* pAxsMver_;
    /** 媧拝嵎暘嵗昗 */
    int kDX_, kDY_, kDZ_;
public:
    MagicPointItem(const char* prm_name, const char* prm_model, GgafCore::GgafStatus* prm_pStat);

    virtual void onCreateModel() override {
    }

    virtual void initialize() override;

    virtual void onActive() override;

    virtual void processBehavior() override;

    virtual void processJudgement() override;

    virtual void onInactive() override;

//    int isOutOfView() override {
//        //夋柺奜敾掕柍偟
//        return 0;
//    }
//
//    bool isOutOfUniverse() override {
//        //僎乕儉嵗昗斖埻奜敾掕柍偟
//        return false;
//    }
    virtual void onHit(GgafCore::GgafActor* prm_pOtherActor) override;

    virtual ~MagicPointItem();
};

}
#endif /*MAGICPOINTITEM_H_*/

