protected virtual void ProduceAtCase(int indexR, int indexC, GameMatrix mat)
    {
        if (gnd.IsAccessible(indexR, indexC))
        {
            GameObject obj = mat.GetObject(indexR, indexC);

            if (obj != null)
            {
                if (string.Equals(obj.tag, prefabProduced.tag))
                {
                    // La ressource sur le terrain est la meme que la ressource produite par le terrain, donc on stack la nouvelle ressource sur celle deja presente
                    obj.GetComponent <QuantityUnit> ().StackUnit();
                }
                else if (string.Equals(obj.tag, "none"))
                {
                    // On a une ressource nulle sur le terrain. On la remplace par une ressource produite.
                    obj = InstantiateGameObject(coo.indexR, coo.indexC, prefabProduced);
                }
                // sinon, la ressource presente est differente donc on ne la remplace pas/ on ne la stack pas
            }
        }
    }