Giter Site home page Giter Site logo

emik03 / keepcoding Goto Github PK

View Code? Open in Web Editor NEW
11.0 3.0 3.0 2.76 MB

KeepCoding is a C# class library meant to help speed up the process of scripting Keep Talking and Nobody Explodes modules by giving better alternatives to common commands, and automating things universal to module-creation. (such as moduleIds, or logging)

License: GNU General Public License v3.0

C# 100.00%
unity dll library keeptalkingandnobodyexplodes keeptalking modkit ktane helper ktane-mods extension

keepcoding's Introduction

WARNING

This repository is outdated and only exists for legacy reasons, please go to wawa for the up-to-date version.

Keep Coding

KeepCoding is a C# class library meant to help speed up the process of scripting Keep Talking and Nobody Explodes modules by giving better alternatives to common commands, and automating things universal to module-creation. (such as moduleIds, or logging)

Installing


KeepCoding is compiled as a Managed DLL file. You may either compile this DLL yourself, or download one of the release builds.

Since version 11, there are 2 versions per release, KeepCoding, and KeepCodingLite. If you are writing your modules in an external library and/or use a polyfill library, then KeepCodingLite is recommended as it removes methods that are redundant outside of C# 4/.NET 3.5. Use KeepCoding otherwise. KeepCodingLite will also remove deprecated methods to save space and dead code, while KeepCoding will simply add the Obsolete attribute.

Drag the DLL and XML file into \Plugins\Managed. Unity will start reloading the scripts at this stage. After the reload, you can start using the library's code by going into any script file and accessing the namespace:

using KeepCoding;

Contribute


As with most GitHub repositories, you can contribute by:

Building

In order to compile the DLL yourself, you need a program that can compile C# class libraries, such as Visual Studio 2019.

  1. Download and extract the full source code, or clone the repository:
git clone https://github.com/Emik03/KeepCoding.git
  1. Edit the KeepCoding.csproj.user file and replace the properties GameFolder and Unity with the folder directory of Keep Talking and Nobody Explodes, and the root of the Unity folder respectively.

  2. Open the solution file with your desired IDE, located at the root folder with a ".sln" extension.

  3. Inside the IDE, locate the solution explorer and right click the solution then go into "Properties".

  4. Go into "Build Events" and copy the following code block, replacing "X:\My Module Directory" with the directory leading to your unity project. If multiple projects depends on this repository, you will need to copy-paste these code-blocks for each project you have. If you use an operating system other than Windows, xcopy may have to be replaced with the equivalent of your operating system.

xcopy /y "$(ProjectDir)$(OutDir)KeepCoding.dll" "X:\My Module Directory\Assets\Plugins\Managed"
xcopy /y "$(ProjectDir)$(OutDir)KeepCoding.xml" "X:\My Module Directory\Assets\Plugins\Managed"
  1. Go to "Signing" and create your own strong name and signature. This ensures that it will not conflict with other versions of this namespace.

  2. Select either "Release" or "Lite" at the top depending on which version of KeepCoding you want.

  3. Press the key combination CTRL+B, or alternatively go to the dropdown located at the top named "Build" and press "Build Solution". Assuming no build errors occur, you can go back to Unity, which will start reloading.

Credit


While this project initally started before its release, I do have to credit Qkrisi's module utility for inspiring me to improve on the design of this library by seeing someone else's implementation of an abstract Keep Talking and Nobody Explodes module class file.

License


This project falls under the GPLv3 License, which in-short means that you copy, modify, and redistribute under private and commerical use, but the author cannot be held liable, the license must stay intact as is, a disclosure of the original source has to be made, and you must state changes to this repository.

Prior to 10th of July 2021, the MIT License was used instead, which in-short means that these versions allow you to copy, modify, and redistribute under private and commerical use, but the author cannot be held liable and the license must stay intact as is.

Wiki


For more information about how to get started when using this library, refer to the Wiki, which outlines specifications about the different classes and methods you'll be using and their general purposes.

For more specific details about each individual method, additional documentation is provided within the XML file, in which most common IDEs give you a tooltip when hovering over a method from KeepCoding.

keepcoding's People

Contributors

emik03 avatar samfundev avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

keepcoding's Issues

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.