#ifndef EFFECTENTRANCE001_H_
#define EFFECTENTRANCE001_H_
#include "jp/gecchi/VioletVreath/actor/effect/Entry/EffectEntry.h"

namespace VioletVreath {

/**
 * 搊応僄僼僃僋僩丄偦偺1 .
 * @version 1.00
 * @since 2012/06/11
 * @author Masatoshi Tsuge
 */
class EffectEntry001 : public EffectEntry {

public:
    /** 奼戝弅彫巟墖僆僽僕僃僋僩 */
    GgafDxCore::GgafDxScaler* pScaler_;

public:
    frame scale_in_frames_;
    frame duration_frames_;
    frame scale_out_frames_;

    enum {
        PROG_INIT ,
        PROG_IN   ,
        PROG_STAY ,
        PROG_OUT  ,
        PROG_BANPEI,
    };

    EffectEntry001(const char* prm_name);

    void initialize() override;

    void processBehavior() override;

    void onActive() override;

    /**
     * 僄僼僃僋僩偺敪惗丄帩懕丄徚柵偺帪娫傪愝掕丅.
     * </PRE>
     *       丵丵丵丵               仼 僗働乕儖棪 1.0
     *      /:      :乢
     *     / :      :  乢
     *    /  :      :    乢
     *   /   :      :      乢
     *  /    :      :        乢
     * /     :      :          乢   仼 僗働乕儖棪 0
     * ----------------------------------------------->帪娫乮僼儗乕儉乯
     * 仼嘆仺|仼嘇仺|仼劅 嘊 劅仺|
     *
     * </PRE>
     *
     * @param prm_scale_in_frames 忋婰嘆偺僼儗乕儉悢
     * @param prm_duration_frames 忋婰嘇偺僼儗乕儉悢
     * @param prm_scale_out_frames 忋婰嘊偺僼儗乕儉悢
     */
    void config(frame prm_scale_in_frames, frame prm_duration_frames, frame prm_scale_out_frames);

    virtual ~EffectEntry001();
};

}
#endif /*EFFECTENTRANCE001_H_*/

