/* Constructs a player object in game. */
    public static GameObject ConstructModule(GameObject prefab, PhotonPlayer owner, Vector2 position, float rotation)
    {
        GameObject module = InstantiateModuleWithName(prefab, position, rotation, prefab.name);

        module.SetActive(false);
        AddRigidbody(module, new RandomModuleRigidbodyInfo());

        ISetup setupScript = prefab.GetComponent <ISetup> ();

        if (setupScript == null)
        {
            Debug.LogErrorFormat("Prefab module '{0}' does not have a setup script of type ISetup", prefab.name);
            return(null);
        }

        ModuleController controller = setupScript.AddController(module);

        PhotonView view = AddViewForComponent(controller, PhotonNetwork.AllocateViewID());

        controller.info = module.GetComponent <ModuleInfo> ();
        controller.info.Setup(owner, view);

        module.SetActive(true);
        return(module);
    }