将Google Play游戏服务插件导入Unity时出错

时间:2014-12-11 08:36:11

标签: c# android unity3d google-play-services

当我将Unity的Google Play游戏服务插件导入我的项目时,应该出现的菜单没有,我在控制台中收到以下错误:

Assets / GooglePlayGames / Platforms / Native / NativeClient.cs(418,22):错误CS1061:输入Player' does not contain a definition for PlayerId'并且找不到扩展方法PlayerId' of type播放器'(你错过了吗?使用指令或程序集引用?) 资产/ GooglePlayGames / Platforms / Native / NativeClient.cs(426,22):错误CS1061:输入Player' does not contain a definition for DisplayName'并且找不到扩展方法DisplayName' of type Player'(您是否缺少using指令或汇编参考?)

插件的github页面上的指南说:导入后,您应该会看到两个新菜单项添加到文件菜单:“Play Games Android setup”和“Play Games iOS setup”。如果没有看到新菜单项,请单击“资产”|“刷新资产”刷新然后再试一次。

不幸的是,无论我刷新资产多少次,我都看不到菜单项。

我正在使用Unity 4.6。如何修复错误并让google play游戏服务插件正常工作。

2 个答案:

答案 0 :(得分:2)

问题是我有一个名为Player的脚本。我确实尝试重命名它,但我不记得Unity没有正确地重命名脚本 - 你必须在MonoDevelop中这样做!

答案 1 :(得分:0)

两种解决方法。

首先是简单的: 在脚本中搜索已命名为Player并更改(类的文件和定义)的人

class Player : MonoBehaviour { ...

class MyPlayer : MonoBehaviour { ...

第二个也更复杂。您需要找到两个文件: NativeClient.cs NativePlayer.cs 。在您需要更改某些行之后:

NativePlayer.cs
在顶部添加此行(第28行): 使用Player2 = GooglePlayGames.BasicApi.Multiplayer.Player;
第58行将Player改为Player2

NativePlayer.cs
在第45行替换此功能:

internal GooglePlayGames.BasicApi.Multiplayer.Player AsPlayer() {
    return new GooglePlayGames.BasicApi.Multiplayer.Player(Name(), Id());
}