PluginManager Extender

Discussion in 'JS Plugin Releases (RMMV)' started by nio kasgami, Aug 12, 2016.

  1. nio kasgami

    nio kasgami VampCat Veteran

    Messages:
    8,600
    Likes Received:
    2,358
    Location:
    Canada / Quebec
    First Language:
    French

    Extended PluginManager


    Author: Nio Kasgami


    Version: 1.00


    License: https://github.com/niokasgami/EmojiEngine/blob/master/LICENSE under the Tool Plugin EULA


    Description: 

    We all works on Plugins since a years. Many peoples have theirs owns ways to do it and it's nice ALTHOUGH.


    They have many flaw in the plugin Managers who makes sometime not easy or annoying to make some parameters for our plugins.


    Example the fact we can't use proper Array in the Manager and can be result to really clunky and overload parameters in the pluginManager.


    as we can notice for doing position X we have to 


    do 



    /*:
    * @param x
    * @desc the x value
    * @default 10
    *
    * @param y
    * @desc the y value
    * @default 0
    */

    // TOTALLY non efficient when having more than 10 window to setup.


    So this plugin add new Method to the pluginManager for hold your param in a cleanest ways



    Features:


     Notice : ALL method should be call with PluginManager.MethodName();


    -> toNumberArray(plugin, parameters) && toStringArray(plugin, parameters)

    descriptions : Both of those method encapsulate the parameters in a array (one is for Number and the other is for String)


    Syntax in pluginManager : [number,number,number,AgainANumber] or [string,string,string,againANumber]


    plugin : The plugin variable (the one called for holds your plugin params)


    parameters : The parameters name (it's a string)


    Use: Useful when having to store a parameters with Multiples data (such equip slot, etc)



    -> toNumberList(plugin, parameters) && toStringList(plugin, parameters)

     description : Similar to toNumberArray and toStringArray these methods do the same thing but remove the forced syntax "[ ]" to the pluginManager in case you only want to input a list.


     Syntax in pluginManager: number,number,number,againANumber or string,string,string,againAString


     plugin: The plugin variable (the one called for hold your plugin params)


     parameters: The parameters name (it's a string)


     Use: Useful when having to store parameters with multiples data (such equip slot, window position, etc 



    -> toBoolean(plugin, parameters)
     

     description: Auto convert a parameter to a boolean since normally string are always recognized as "true". Also throw a error if the user don't write a actual valid boolean value (true or false)


    Syntax in pluginManager: just write true for make it true or false for make it false.


    Plugin: The plugin variable (the one called for hold your plugin params)


    parameters: The parameters name (it's a string)


    Use: Cleanier ways for make sure the parameter return a boolean.



    -> getPluginID(plugin)

     description: Method created by lavra for get the plugin by a ID written in the Plugin description instead of the pluginName avoiding error.


     Syntax in plugin<"pluginID"> in the @plugindesc description (Input in the third lines for avoid the plugin ID to appear in the plugin description.)


     Plugin: The plugin variable (the one called for hold your plugin params)


     Use: Use it for make the plugin independant of his filename.



    Planned Features :

    • toPoint(plugin,parameters) : convert the parameters in a point value



    Get the plugin: here


    ScreenShot: Not needed.


    Term of use : Read the License notice on the top


    Conclusion:


    On this I made this plugin for helps peoples and I do hope and suggest to people to use this Plugin for make code more cleans.


    I also hope This "extension" would be added in the next rpg maker Update for help peoples.
     
    Last edited by a moderator: Aug 12, 2016
    #1
    DoubleX, DK, Wavelength and 2 others like this.
  2. Wavelength

    Wavelength Pre-Merge Boot Moderator

    Messages:
    4,454
    Likes Received:
    3,727
    Location:
    Florida, USA
    First Language:
    English
    Primarily Uses:
    RMVXA
    Great idea!!
     
    #2
    nio kasgami likes this.
  3. nio kasgami

    nio kasgami VampCat Veteran

    Messages:
    8,600
    Likes Received:
    2,358
    Location:
    Canada / Quebec
    First Language:
    French
    thanks toPoint is comming soon and I'm thinking about a toBitmap too a method who return automatically a bitmap and obviously preload it : D
     
    #3
    Wavelength and DreamX like this.
  4. DK

    DK Veteran Veteran

    Messages:
    102
    Likes Received:
    92
    Location:
    Russia
    First Language:
    Russian
    Primarily Uses:
    RMMV
    Good plugin!


    Maybe add toBooleanArray, toStringArray (split string) ? Also creating objects 'new ClassName()' in parameters and do 'eval'. String to Number or Boolean. If you need i can help you.
     
    #4
    nio kasgami likes this.
  5. nio kasgami

    nio kasgami VampCat Veteran

    Messages:
    8,600
    Likes Received:
    2,358
    Location:
    Canada / Quebec
    First Language:
    French
    Humm the problem to boolean is that is hard to convert a string into boolean.


    like I said it's a "open sources" tools so you can go in the github and push a issue or a pulling request : D


    to string Number was also the idea 


    Although toBoolean is already a string who get transform in boolean :)  
     
    #5
    DK likes this.
  6. EmperorZelos

    EmperorZelos Veteran Veteran

    Messages:
    63
    Likes Received:
    17
    First Language:
    Swedish
    Did I read it right and this took you a year or?


    Don't get me wrong, it is most certainly very handy.
     
    #6
  7. nio kasgami

    nio kasgami VampCat Veteran

    Messages:
    8,600
    Likes Received:
    2,358
    Location:
    Canada / Quebec
    First Language:
    French
    not really it's just got many version for it...


    so this changed a lots.
     
    #7
  8. EmperorZelos

    EmperorZelos Veteran Veteran

    Messages:
    63
    Likes Received:
    17
    First Language:
    Swedish
    Does it take arrays in arrays?
     
    #8
  9. nio kasgami

    nio kasgami VampCat Veteran

    Messages:
    8,600
    Likes Received:
    2,358
    Location:
    Canada / Quebec
    First Language:
    French
    No it's not take multidimensional array...not yet huhu
     
    #9
  10. nio kasgami

    nio kasgami VampCat Veteran

    Messages:
    8,600
    Likes Received:
    2,358
    Location:
    Canada / Quebec
    First Language:
    French
    I will Bump this for a important Update Sorry for double Post


    in the next release I will publish soon (later because I want to test performance first. (it's also kinda late here lol)) 


    -> toArray(plugin,parameters)

    description :   Will convert the parameters into ANY JavaScript legal Array.


    Syntax in plugin Manager: [someNumber,String,[String,Boolean],andAgainSomeValidArrayOperator]


    Plugin : The plugin variable (the one who hold for your plugin params)


    Parameters: the parameters name in string.


    Use: Permit to have ANY type of array in parameters (also allow multidimensionnal array) as long this valid JS such boolean , String, Number.



    toNumberArray and toStringArray are now deprecated


    ALTHOUGH 


    toNumberList and toStringList are still valid.
     
    Last edited by a moderator: Aug 14, 2016
    #10
    DK likes this.
  11. nio kasgami

    nio kasgami VampCat Veteran

    Messages:
    8,600
    Likes Received:
    2,358
    Location:
    Canada / Quebec
    First Language:
    French
    New build is up!

    Updated ToArray
    PluginManager.toArray is now able to handle List as well making now toNumberList and toStringList deprecated!

    New Method : ToProbability
    it's a new method who permit to make well whatever you want between the number 0-1 it's clamped and will never exceed the actual number!
    it's useful with Pan and probability! it's remove the step of having to clamp it.
    it's work with Float obviously

    New Method : ToPoint
    Will work like a 2 entry List and convert the data into Point.

    Enjoy if you have any new method to suggest I will make them!
     
    #11
  12. nio kasgami

    nio kasgami VampCat Veteran

    Messages:
    8,600
    Likes Received:
    2,358
    Location:
    Canada / Quebec
    First Language:
    French
    New build guys!
    I might have once I get more time to update the main thread for show all the codes!


    New Method : toClampedNumber
    Permit to clamp your parameters! it's simple to use only need to assignate a min and max value in your parameters declarations like this
    Code:
    PluginManager.toClampedNumber(myPlugin, 'someClampedNumber', 1, 10);
    New Method : toGlobal
    I think it's will something people will enjoy!
    it's permit to return ANYTHING from the global spaces or the Window space so you guys can use like
    "$dataSystem.SomeBGM" as valid parameters arguments without having to split them at the end!
    it's simple to use too!
    Code:
    PluginManager.toGlobal(myPlugin, 'GlobalParameters');
    on a good note toGlobal can also return a string if the variable is not defined
    you guys can grab it in the link on the main post!
     
    Last edited: Feb 17, 2017
    #12

Share This Page