Skip to content

Latest commit

 

History

History
39 lines (32 loc) · 2.48 KB

HACK.md

File metadata and controls

39 lines (32 loc) · 2.48 KB

Contribute!

Dev Environment Details

  • The main OCTGN repo contains a subrepo/submodule OCTGN/Octgn.Communication. Keep this in mind when cloning to your local machine
  • Install Wix toolset (https://wixtoolset.org/) to remove wix errors or disable relevant projects
  • Install Newtonsoft.json NuGet package. It is a reference for OCTGN.Core

Components

TODO: Installer, octgnFX/Graphics, octgnFX/Lib, octgnFX/Octgn.Data, octgnFX/Octgn.LobbyServer, octgnFX/Octgn.Server, octgnFX/Octgn.StandAloneServer, octgnFX/Skylabs.Lobby

Python

Octgn uses IronPython for its in-game scripting engine.

The python definitions go in PythonApi.py. You can call outside code with the following syntax: _api.function_name and it will call the corresponding function in ScriptApi.cs. For example, the following code found in PythonApi.py is the random function:

def rnd(min, max):
  return _api.Random(min, max)

It calls Random with a min and max value that is located in ScriptApi.cs.

octgnFX/Octgn.Data

Octgn.Data is the access to the database (mostly). This project provides access to that data in meaningful formats. Most of the items in this project are relatively self-explanatory, but keep in mind that many of them are only the data counterparts of octgnFX/Octgn classes.

Some of the classes do not (as of yet) have direct connections to the database. Deck.cs is a prime example. Currently all decks are stored/accessed as individual files with the user determining name and location.