void Start()
    {
        rigdBody        = this.GetComponent <Rigidbody>();
        renderer        = this.GetComponent <Renderer>();
        defaultMaterial = renderer.material;
        gameController  = GameObject.FindGameObjectWithTag("GameController").GetComponent <GameController>();

        for (int i = 0; i < 6; i++)
        {
            FaceType face = faceTypes[i];
            if (face != null)
            {
                face.Init(this, i);
            }
        }
    }
    /*
     * public float GetScale() {
     *      return scale;
     * }
     */

    /*
     * public BodyComponent GetMasterBodyComponent(){
     *      return masterBodyComponent;
     * }
     */

    public FaceType AddFace(int side, GameObject facePrefab)
    {
        if (side < 0 || side > 6)
        {
            return(null);
        }

        if (faceTypes[side] != null)
        {
            return(null);
        }
        GameObject face     = (GameObject)Instantiate(facePrefab);
        FaceType   faceType = face.GetComponent <FaceType> ();

        faceType.Init(this, side);
        faceTypes [side] = faceType;

        return(faceType);
    }