Coder Social home page Coder Social logo

unity3d-extendededitor's Introduction

ExtendedEditor

Extended Editor is a framework for building editors in Unity3D. Below you can find a list of some of the features this framework houses. If you're curious on how some things work you can always try out some of the examples in the Examples folder.

##Entity-like framework

The framework consists of three core classes.

The ExtendedEditor class, which is the starting point for your editor and contains your windows.

The ExtendedWindow class, which is a container that shows controls (or custom GUI code) inside the editor. Each window will have it's own Update and GUI calls.

The ExtendedControl class. You can easily separate code by using controls. These controls are added to windows and their update and draw calls will be called automatically.

##Easy coordinate system

No need to think in pixels, you can just use the coordinate system that you are used to in Unity. 0,0 is the center of your window. You can also easily convert from and to pixels with these functions

ExtendedWindow.ToScreenPosition( new Vector2( 0, 0 ) );
ExtendedWindow.ToWorldPosition( new Vector2( 350, 125 ) );
ExtendedWindow.GetScreenInWorldSize();

##Input Handling

The ExtendedInput class handles the input for your editor. No need to check Event.current anymore. You can easily check if a key or mouse button is down, up, pressed, or released.

// Keyboard
if ( Input.KeyReleased( KeyCode.Return ) ) { }
// Multiple keys (optional)
if ( Input.KeyDown( KeyCode.Return, KeyCode.KeypadEnter ) ) { }
// Multiple keys (all required)
if ( Input.KeysPressed( KeyCode.A, KeyCode.B ) ) { }

// Mouse
if ( Input.ButtonUp( EMouseButton.Middle ) ) { }
if ( Input.ButtonReleased( EMouseButton.Left ) ) { }

##Per Window Settings

Settings that allow you to customize some behaviours for windows.

Settings.AllowRepositioning = true;
Settings.AllowResize = true;
// Draws a couple of "levels" deep grid
Settings.DrawGrid = false;
// Draw a maximize and close button on the top-right corner of the window
Settings.DrawTitleBarButtons = true;
Settings.DrawToolbar = true;
// Blocks the update and draw calls to other windows
Settings.IsBlocking = true;
Settings.IsFullscreen = false;
// Allows panning in the editor
Settings.UseCamera = true;
Settings.UseOnSceneGUI = true;

##Asset Loading

Put your images into an asset folder and let them be loaded and unloaded by the ExtendedAssets class.

Texture2D hWorld = Assets["HelloWorld"];
Texture2D nWorld = Assets.Load( "HelloWorld" );

##Modal Windows

The ExtendedModalWindow class is a base class to create easy popups that can be put on top of all the other windows. The following are included already.

(Dialog Box) Dialog Box

(Input Box) Input Box

##Notifications

Show notifcations at the bottom-right corner with to notify the user of your editor with ease.

ShowNotification( "HelloWorld" );
// Error notifications are in red and longer visible
ShowErrorNotification( "ErrorWorld" );

##Shortcut Key Hooks

Register key command and hook them to callbacks.

// Keycode, callback, control (command), alt, shift
AddShortcut( KeyCode.A, shortcutCallback, true, false, true );

##Sharing Data (objects)

The ExtendedSharedObject class is a base for objects that are stored inside the editor and can be called fetched from all the windows inside the editor.

ย 

Other screenshots

(Multiple windows) Multiple Windows

(Notifications) Notifications

(Toolbar) Toolbar

unity3d-extendededitor's People

Stargazers

 avatar

Watchers

 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.