Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
guo450212436
et
提交
e3067001
E
et
项目概览
guo450212436
/
et
与 Fork 源项目一致
从无法访问的项目Fork
通知
3
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
E
et
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
e3067001
编写于
11月 20, 2017
作者:
T
tanghai
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
使用ENABLE_IL2CPP宏
上级
b92e377c
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
75 addition
and
9 deletion
+75
-9
Client-Server.sln
Client-Server.sln
+1
-1
Unity/Assets/Plugins/MongoDB/MongoDB.Bson/Serialization/BsonClassMap.cs
...lugins/MongoDB/MongoDB.Bson/Serialization/BsonClassMap.cs
+2
-2
Unity/Assets/Plugins/MongoDB/MongoDB.Bson/Serialization/BsonMemberMap.cs
...ugins/MongoDB/MongoDB.Bson/Serialization/BsonMemberMap.cs
+6
-6
Unity/Assets/Scripts/Entity/Session.cs
Unity/Assets/Scripts/Entity/Session.cs
+65
-0
Unity/Assets/link.xml
Unity/Assets/link.xml
+1
-0
未找到文件。
Client-Server.sln
浏览文件 @
e3067001
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.2
6730.15
VisualStudioVersion = 15.0.2
7004.2006
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Unity.Plugins", "Unity\Unity.Plugins.csproj", "{D1FDB199-0FB7-099D-3771-C6A942E4E326}"
EndProject
...
...
Unity/Assets/Plugins/MongoDB/MongoDB.Bson/Serialization/BsonClassMap.cs
浏览文件 @
e3067001
...
...
@@ -1277,10 +1277,10 @@ namespace MongoDB.Bson.Serialization
ConstructorInfo
defaultConstructor
=
classTypeInfo
.
GetConstructors
(
bindingFlags
)
.
Where
(
c
=>
c
.
GetParameters
().
Length
==
0
)
.
SingleOrDefault
();
#if
UNITY_IOS
#if
ENABLE_IL2CPP
_creator
=
()
=>
defaultConstructor
.
Invoke
(
null
);
#else
if
(
defaultConstructor
!=
null
)
if
(
defaultConstructor
!=
null
)
{
// lambdaExpression = () => (object) new TClass()
body
=
Expression
.
New
(
defaultConstructor
);
...
...
Unity/Assets/Plugins/MongoDB/MongoDB.Bson/Serialization/BsonMemberMap.cs
浏览文件 @
e3067001
...
...
@@ -16,7 +16,7 @@
using
System
;
using
System.Linq.Expressions
;
using
System.Reflection
;
#if !
UNITY_IOS
#if !
ENABLE_IL2CPP
using
System.Reflection.Emit
;
#endif
using
MongoDB.Bson.Serialization.Serializers
;
...
...
@@ -582,7 +582,7 @@ namespace MongoDB.Bson.Serialization
throw
new
BsonSerializationException
(
message
);
}
#if
UNITY_IOS
#if
ENABLE_IL2CPP
return
(
obj
,
value
)
=>
{
fieldInfo
.
SetValue
(
obj
,
value
);
};
#else
var
sourceType
=
fieldInfo
.
DeclaringType
;
...
...
@@ -602,7 +602,7 @@ namespace MongoDB.Bson.Serialization
private
Func
<
object
,
object
>
GetGetter
()
{
#if
UNITY_IOS
#if
ENABLE_IL2CPP
PropertyInfo
propertyInfo
=
_memberInfo
as
PropertyInfo
;
if
(
propertyInfo
!=
null
)
{
...
...
@@ -620,7 +620,7 @@ namespace MongoDB.Bson.Serialization
FieldInfo
fieldInfo
=
_memberInfo
as
FieldInfo
;
return
(
obj
)
=>
{
return
fieldInfo
.
GetValue
(
obj
);
};
#else
var
propertyInfo
=
_memberInfo
as
PropertyInfo
;
var
propertyInfo
=
_memberInfo
as
PropertyInfo
;
if
(
propertyInfo
!=
null
)
{
var
getMethodInfo
=
propertyInfo
.
GetMethod
;
...
...
@@ -653,12 +653,12 @@ namespace MongoDB.Bson.Serialization
private
Action
<
object
,
object
>
GetPropertySetter
()
{
#if
UNITY_IOS
#if
ENABLE_IL2CPP
var
propertyInfo
=
(
PropertyInfo
)
_memberInfo
;
return
(
obj
,
value
)
=>
{
propertyInfo
.
SetValue
(
obj
,
value
);
};
#else
var
propertyInfo
=
(
PropertyInfo
)
_memberInfo
;
var
propertyInfo
=
(
PropertyInfo
)
_memberInfo
;
var
setMethodInfo
=
propertyInfo
.
SetMethod
;
if
(
IsReadOnly
)
{
...
...
Unity/Assets/Scripts/Entity/Session.cs
浏览文件 @
e3067001
...
...
@@ -157,6 +157,71 @@ namespace Model
};
}
/// <summary>
/// Rpc调用,发送一个消息,等待返回一个消息
/// </summary>
public
Task
<
AResponse
>
Call
(
ARequest
request
,
bool
isHotfix
)
{
request
.
RpcId
=
++
RpcId
;
this
.
SendMessage
(
request
);
var
tcs
=
new
TaskCompletionSource
<
AResponse
>();
this
.
requestCallback
[
RpcId
]
=
(
message
)
=>
{
try
{
AResponse
response
=
(
AResponse
)
message
;
if
(
response
.
Error
>
100
)
{
tcs
.
SetException
(
new
RpcException
(
response
.
Error
,
response
.
Message
));
return
;
}
//Log.Debug($"recv: {MongoHelper.ToJson(response)}");
tcs
.
SetResult
(
response
);
}
catch
(
Exception
e
)
{
tcs
.
SetException
(
new
Exception
(
$"Rpc Error:
{
message
.
GetType
().
FullName
}
"
,
e
));
}
};
return
tcs
.
Task
;
}
/// <summary>
/// Rpc调用
/// </summary>
public
Task
<
AResponse
>
Call
(
ARequest
request
,
bool
isHotfix
,
CancellationToken
cancellationToken
)
{
request
.
RpcId
=
++
RpcId
;
this
.
SendMessage
(
request
);
var
tcs
=
new
TaskCompletionSource
<
AResponse
>();
this
.
requestCallback
[
RpcId
]
=
(
message
)
=>
{
try
{
AResponse
response
=
(
AResponse
)
message
;
if
(
response
.
Error
>
100
)
{
tcs
.
SetException
(
new
RpcException
(
response
.
Error
,
response
.
Message
));
return
;
}
//Log.Debug($"recv: {MongoHelper.ToJson(response)}");
tcs
.
SetResult
(
response
);
}
catch
(
Exception
e
)
{
tcs
.
SetException
(
new
Exception
(
$"Rpc Error:
{
message
.
GetType
().
FullName
}
"
,
e
));
}
};
cancellationToken
.
Register
(()
=>
{
this
.
requestCallback
.
Remove
(
RpcId
);
});
return
tcs
.
Task
;
}
/// <summary>
/// Rpc调用,发送一个消息,等待返回一个消息
/// </summary>
...
...
Unity/Assets/link.xml
浏览文件 @
e3067001
...
...
@@ -2,4 +2,5 @@
<assembly
fullname=
"Assembly-CSharp"
preserve=
"all"
/>
<assembly
fullname=
"Assembly-CSharp-firstpass"
preserve=
"all"
/>
<assembly
fullname=
"UnityEngine"
preserve=
"all"
/>
<assembly
fullname=
"System"
preserve=
"all"
/>
</linker>
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录