Giter Site home page Giter Site logo

lightning's Introduction

Lightning Game Engine

Code of Conduct & Style Guide (version 2.1) (July 7, 2021)

Welcome to the Lightning game engine main tree. We are going to have to ask you abide by a few rules if you wish to contribute code.

  • Be respectful. This is the Prime Directive of development here and you have to follow it. Bigotry, unpleasantness, jackassery, and various other forms of toxic behaviour will not be tolerated and will result in you being removed.

  • This is a private repository and please treat it as such!

  • All code you check into the main branch must compile at commit time; do a private build to check that it compiles before committing it into the main tree!

  • Please document all of the changes you make thoroughly using XMLDOC.

  • Code reviews are a requirement for non-senior developers! Contact me or a senior developer for a code review.

Style Guide

  • You must add a ClassName or all Instance objects created.

  • PascalCase is recommended.

  • Please use either DDMS (for DataModel-related content ONLY) or XML serialisation for any and all code that deals with XML.

  • .NET Core 3.1 (soon to be .NET 5.0) are the only required frameworks.

  • ALL platform specific code MUST be wrapped in platform specific IFDEFS!

  • All additions to the main engine API must be in accordance with the DataModel:

If it is not a user API and does not support a user API in a direct way, it may not be in the DataModel.

If it is a user-facing API, deals with scripting or does support a user API, it must be in the DataModel.

  • Method names must be componentname_purpose for private internal methods or methods that use a .

  • All code you write must not break the strict hierarchy principle of the DataModel!

  • When adding an object to the DataModel, * DO NOT * use any IEnumerable objects, such as List. Use the object's Children property, which is an InstanceCollection.

  • When adding a file to the source tree, please place some descriptive comments at the start of the file:

	 /// <component class name>
	 ///
	 /// <date of creation> (<date of modification>)
	 ///
	 /// <brief description of purpose>
  • If you set InstanceTags.UsesNonstandardRenderPath on a class, ALL derived classes must also use it!

Version History

V2.1 (July 7, 2021) *

V2.0 (April 24, 2021)

  • Rewording
  • Added commenting rules

V1.6 (April 9, 2021)

  • Added a rule about IEnumerables in the DataModel.

V1.5 (April 8, 2021)

  • Added a rule about DataModel hierarchy. A lot of rewording.

V1.2 (April 3, 2021):

  • Added clarification surrounding when code should and should not be in the DataModel and informatino surrounding method names.

V1.1 (March 7, 2021):

  • Added a style guide for committing code to the main branch.

V1.0 (March 6, 2021)

  • Initial version

lightning's People

Contributors

starfrost013 avatar

Watchers

Dylan Green avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.