void Awake()
    {
        // Get the Sprite Renderer to be able to change the Sprite's color depending on position
        sr = GetComponent<SpriteRenderer> ();

        // Clear red color for Invalid Position
        invalidPosColor =  new Color(1, 0, 0, 0.5f);

        // Clear green color for Valid Position
        trueColor = new Color(0, 1, 0, 0.5f);

        // Begin as clear Color
        sr.color = Color.clear;

        // Set posY transform to this tile's Spawn Position (passed in by Discover Tile)
        transform.position = spawnPos;

        resourceGrid = ResourceGrid.Grid;
        objPool = ObjectPool.instance;
        build_controller = Build_MainController.Instance;

        mouse_controller = Mouse_Controller.MouseController;
    }
    void Start()
    {
        // InitBluePrints();
        //BlueprintDatabase.Instance.LoadToNanoBuilder(this);

        NanoBuilder = GameMaster.Instance.theHero.nanoBuilder;

        InitBP();

           // audio_source = GetComponent<AudioSource>();

        build_controller = Build_MainController.Instance;
        build_controller.nanoBuild_handler = this;
    }
    void Awake()
    {
        //dissasemblyCountDown = dissasemblyTime;

        _state = State.ASSEMBLING;
        s_renderer = GetComponent<SpriteRenderer>();
        s_renderer.color = B;
        FadeIn();

        buildMainController = Build_MainController.Instance;
        objPool = ObjectPool.instance;
        resourceGrid = ResourceGrid.Grid;
    }