跳转到主要内容

基于Django的模拟的基础模型和API。

项目描述

基于Django的模拟的基础模型和API。

提供与Wharton Interactive市场兼容的API。

入门指南

安装simpl-cloud,如有需要,包括API附加组件

pip install simpl-cloud[api]

将simpl添加到您的项目的Django设置模块中,以及以下设置

INSTALLED_APPS = {
    # ...
    'simpl',
}
SIMPL_GAME_EXPERIENCE = "simpl.GameExperience"
SIMPL_RUN = "simpl.Run"
SIMPL_INSTANCE = "simpl.Instance"
SIMPL_CHARACTER = "simpl.Character"
SIMPL_PLAYER = "simpl.Player"
SIMPL_LOGOUT_URL_NAME = "account_logout"

将以下内容添加到您的项目的URL conf中

urlpatterns = [
  # ...
  path("simpl/", include("simpl.urls")),
]

架构概述

运行对象提供对一个或多个游戏实例的管理和配置。

启动游戏实例

当玩家被添加到运行中时,他们的详细信息将存储在Player对象中。

当他们开始玩您的游戏时,他们将被附加到游戏实例对象中的一个Character对象,该对象将跟踪他们的游戏进度。

对于多人运行,这些玩家最初将被分组到Lobby对象中,以便它们可以分配到游戏实例。一旦准备就绪,大堂可以标记为ready。

您可以使用Run.prepare创建新的游戏实例对象或手动创建这些对象。

游戏玩法URL

API使用可定制的URL端点用于玩家。您可以通过使用自定义Player模型并重写Player.get_play_url来指定此端点。

或者,您可以在设置中指定SIMPL_GET_PLAY_URL,作为一个函数的点的路径,该函数接收玩家实例并返回正确的URL。

运行状态

运行有以下状态

  • 设置(初始状态,直到提供任何配置选项为止)

  • 玩家准备(可选步骤,如果您的游戏体验允许玩家在游戏开始前与他们的实例交互)

  • 运行中(游戏实例正在运行)

  • 总结(如果您的游戏体验在游戏结束后提供不同的界面,则为可选步骤)

游戏实例状态

每个游戏实例也有一个状态

  • 准备中 - 等待开始(Instance.date_start未设置)

  • 进行中 - 游戏进行中(Instance.date_start已设置但Instance.date_end未设置)

  • 结束 - 游戏完成(Instance.date_end已设置)

玩家状态

您的应用程序可能将玩家标记为完成游戏(带日期)。

自定义模型

通过在您的项目的Django设置模块中重写默认类来扩展Simpl Django模型

  • Instance 通过 SIMPL_INSTANCE = "your_app.YourInstance"

  • Character 通过 SIMPL_CHARACTER = "your_app.YourCharacter"

  • GameExperience(仅当您的应用程序提供多个不同的游戏体验时)通过 SIMPL_GAME_EXPERIENCE = "your_app.YourGameExperience"

很少,您可能还想重写运行和玩家

  • 运行 通过 SIMPL_RUN = "your_app.YourRun"

  • 播放器 通过 SIMPL_PLAYER = "your_app.YourPlayer"

您重写的类应该继承相关的 simpl.models.Base* 抽象模型。

Character 类将需要两个相关的抽象模型,BaseCharacterDataBaseCharacterLinked。这是为了使角色数据可以作为模板使用,而不是与用户或实例相关联。

Auth0

如果使用 Auth0 进行社交认证,请添加以下 Django 设置以确保用户能够正确地从 Auth0 登出(可选:登出后重定向)

ACCOUNT_ADAPTER = "simpl.auth0.Auth0LogoutAdapter"
AUTH0_LOGOUT_RETURN_TO = "some.url"

项目详情


发布历史 发布通知 | RSS 源

下载文件

下载您平台上的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。

源分布

simpl-cloud-1.3.0.tar.gz (306.6 kB 查看哈希值)

上传时间

构建分布

simpl_cloud-1.3.0-py3-none-any.whl (326.9 kB 查看哈希值)

上传时间 Python 3

由以下支持