Giter VIP home page Giter VIP logo

labrys's People

Contributors

rushingseas8 avatar streus avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Forkers

hxzbg

labrys's Issues

Implement Readonly Grid

Readonly decorator for Grid that hides setters/state-changing methods on Grid interface.

  • IReadOnlyGrid
  • Grid : IReadOnlyGrid
  • ReadOnlyGridDecorator : IReadOnlyGrid

IPositionSelector uses IReadOnlyGrids, rather than the full Grid, to prevent fucky-wuckies.

Feature Editor modify/improve default tool selection

When creating a new Feature, there are no tiles on-screen. This means that the default tool (Tile Inspector) has no functionality, because there are no Tiles to inspect. The expectation is to be able to immediately interact with the UI. Possible remedies include changing the default behavior to be one of (in order of preference):

  1. Click to place a Tile (the functionality of Tile Brush; as simple as swapping the order of the tools)
  2. Click and drag to move (currently bound to middle mouse button; this could be implemented as a dedicated tool that allows panning, which is selected as the default tool on startup)

Make a custom Random class

  • It would be nice for debugging to have a way to set the random seed (possibly in Generator)
  • Unity's Random can be called externally, meaning depending on it can result in inconsistent behavior
  • Propose adding a custom Random class that operates on System.Random under the hood, exposing a GetNext (or similar) method
  • Using this custom Random class will allow for easy comparison or switching underlying implementations

Feature Editor view not initially centered on (0, 0)

When starting up the Feature Editor, the view is off-center.

image

The major gridlines I believe indicate the 0 lines, and are initially to the left when creating a new Feature, or modifying an existing Feature.

The expectation is that the gridlines appear at the center of the viewport, meaning the window space remaining after the left toolbar and right information panel are ignored.

Feature Editor - Generic KVPs for Sections

Add the ability to add any amount of generic data to any section in a feature via key-value-pairs.

Key is be a string name with which the value can be retrieved. The Value is a string representation of the value. An additional field specifies the data type that the Value field represents: String, Integer, Float, or Boolean.

These values can be retrieved during generation to alter behavior during generation.

Hex Grid Variant Implementation

BIG stretch goal. Need:

  • Hex Grid

    • Make Grid interface
    • Custom logic for physical adjacencies
  • HexConnections

  • HexTileType

  • HexFeature

  • Feature Editor w/ Hex

Decoration Generation Phase

Add generation phase after Tile placement phase. Decoration phase is for placing objects (gameplay and decoration) inside rooms and hallways created during the earlier grid-building and tile-placement phases.

Consists of three generation hooks: selecting the prefab (tile) to work in, selecting the doodad to place, and selecting a position (and rotation) in the prefab to place the doodad (and placing it there).

New files:

  • IPrefabSelector
  • IDoodadSelector
  • IOrientationSelector

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.