Coder Social home page Coder Social logo

ecommons's Introduction

ECommons is a multi-functional library designed to work within Dalamud Plugins. It features a variety of different systems and shortcuts which cuts out a lot of boiler plate code normally used to do standard plugin tasks.

WARNING

Starting from 2.2.0.2, if you have previously used TaskManager it's namespace has changed, simply add using ECommons.Automation.LegacyTaskManager; and you're all good.

WARNING

Starting from v2.2.0.1, Windows Forms and Windows Targeting are now disabled by default. This affects only couple functions, please set a build configuration with forms manually if you need so.

Add ECommons as a submodule to your project:
git submodule add https://github.com/NightmareXIV/ECommons.git

Add it to your plugin's CSProj file:

<ItemGroup>
    <ProjectReference Include="..\ECommons\ECommons\ECommons.csproj" />
</ItemGroup>

Then, in the entry point of your plugin:

ECommonsMain.Init(pluginInterface, this);

where pluginInterface is a DalamudPluginInterface.

Don't forget to dispose it in your plugin's dispose method:

ECommonsMain.Dispose();

Using certain functions like clipboard or keypresses will require you to enable Windows Forms module. Add the following section into your plugin's .csproj file:

<PropertyGroup>
  <UseWindowsForms>true</UseWindowsForms>
</PropertyGroup>

Additionally, to be able to build on Linux (if you're using Github Actions or want to send your plugin to official Dalamud repo), you will have to enable windows targeting. Add the following section into your plugin's .csproj file:

<PropertyGroup>
  <EnableWindowsTargeting>true</EnableWindowsTargeting>
</PropertyGroup>
ECommons comes with various modules which needs to be initalised at plugin runtime. To do so, modify your initalising code as follows:
ECommonsMain.Init(pluginInterface, this, Modules.<Module>);

where <Module> is one of the following:

  • All (For all modules)
  • Localization
  • SplatoonAPI
  • DalamudReflector
  • ObjectLife
  • ObjectFunctions

ecommons's People

Contributors

limiana avatar taurenkey avatar archidog1998 avatar jaksuhn avatar kawaii avatar windowcollapsible avatar cyenia avatar niguangowo 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.