Client&Server

  • Nakama 用于社交和实时游戏和应用程序的分布式服务器,使用Go语言和Docker容器技术。 Github Source

  • Mirror Mirror是Unity的高级网络库,可与其他低级传输兼容。使用C#语言。 Github Source

  • 将接口A以类B的一个属性注入,并通过类B的一个方法操作接口A的某个方法。

下面是一个示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
namespace Samples  
{
/// <summary>
/// 这是一个抽象类,其中包含一个抽象方法
/// </summary>
public abstract class Forceps
{
public abstract void Grab();
}
}



using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Moq;
using NUnit.Framework;

namespace Samples.Test
{
/// <summary>
/// 测试类
/// 测试通过依赖注入的方法,调用接口函数
/// </summary>
[TestFixture]
class SurgeonFixture
{
[Test]
public void CallingOperateCallsGrabOnForceps()
{ var forcepsMock = new Mock<Forceps>();

var surgeon = new Surgeon(forcepsMock.Object);
surgeon.Operate();

forcepsMock.Verify(f => f.Grab());
} }}
阅读全文 »

资源加载成功的回调是一个怎样的运行流程?

举一个源码中的栗子,定位到Assets/GameFramework/Scripts/Runtime/Config/ConfigComponent.cs这个文件,在其Awake()方法中有下面一段代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
protected override void Awake()
{
base.Awake();

m_ConfigManager = GameFrameworkEntry.GetModule<IConfigManager>();
if (m_ConfigManager == null)
{
Log.Fatal("Config manager is invalid.");
return;
}

m_ConfigManager.ReadDataSuccess += OnReadDataSuccess;
m_ConfigManager.ReadDataFailure += OnReadDataFailure;

if (m_EnableLoadConfigUpdateEvent)
{
m_ConfigManager.ReadDataUpdate += OnReadDataUpdate;
}

if (m_EnableLoadConfigDependencyAssetEvent)
{
m_ConfigManager.ReadDataDependencyAsset += OnReadDataDependencyAsset;
}
}
阅读全文 »

这一篇博客是学习 ETCore网络斗地主案例教学(基于ET5.0网络通信)时,总结记录的登录注册功能相关的笔记,将目标聚焦在客户端注册登录功能本身,默认具备其他相关知识背景。

资源准备:客户端注册登录界面搭建

构建UILogin.prefab以及UILobby.prefab,如下图,这两个prefab打包下载地址

阅读全文 »

Bash

script
1
2
3
4
5
D:\package\TeamCity\bin\runAll.bat start
D:\package\TeamCity\buildAgent\bin\agent.bat start

D:\package\TeamCity\buildAgent\bin\agent.bat stop force
D:\package\TeamCity\bin\runAll.bat stop force

导入Entitas插件

创建一个Unity空项目,然后导入Entitas-1.13.0.unitypackage资源文件 附包下载地址

Entitas插件导入之后,按快捷键 Ctrl + Shift + G 生成Generated文件目录,再创建一个Features目录存放游戏逻辑代码,Scenes存放场景资源文件。

阅读全文 »