//
// Created by gigaw on 4/16/2023.
//

#ifndef FINALPROJECT_JAGGUARS_ISCRIPT_H
#define FINALPROJECT_JAGGUARS_ISCRIPT_H

#include "Component.hpp"
#include <string>
#include <fstream>

/**
 * A Component implementation to allow for running arbitrary scripts in the game.
 */
class IScript : public Component{

    // Means of tagging oneself
    // Means of finding/referencing other scripts
public:
    /**
     * Construct a new IScript object
     * 
     * @param name the display name of the script
     * @param filepath the path to the script's file
     */
    IScript(std::string name, std::string filepath);

    /**
     * Destroy the IScript object
     */
    ~IScript();

private:
    std::string m_name;
    std::string m_filepath;
    std::fstream* m_file;
};


#endif //FINALPROJECT_JAGGUARS_ISCRIPT_H
