Code Monkey home page Code Monkey logo

stardew-valley-mods's People

Contributors

delixx avatar lefauxmatt avatar mycroftjr avatar shockah avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

stardew-valley-mods's Issues

`IConstrainable` frame visualizer

A tool to visualize the frame of an IConstrainable.

It's not yet determined how it should be triggered. Potential ideas:

  • It should definitely be triggerable via code.
  • Some kind of XPath-like query could be used to implement an SMAPI command to debug any frames at runtime, without code. This may also require exposing custom IConstrainable frames for each view (for example, UIScrollView has one).

Specialized hover detection (tooltips)

Implement a specialized hover detection system, making it possible to detect the first hovered view that satisfies some condition (for example, has a tooltip defined).

Additionally, make sure the current hover system checks the IsTouchThrough and IsVisible properties, as I believe they're currently ignored.

Spread-out view visualizer

A tool to visualize a view hierarchy by spreading out ALL views by a certain offset.

Implemention would be similar to #20 (but XPath is optional, just spread out all of the views).

Garden pots

Sprinklers normally do not water garden pots, but it could be a nice setting (off by default).

Slime Hutch

Make the sprinklers work with the Slime Hutch.

This ticket used to mention pet bowls, but apparently they're not vanilla behavior, so I moved them to #7 instead.

Custom spacing between views in `UIStackView`

Apple's UIStackView has a setCustomSpacing(_:after:) method. I think we can do better here and allow declaring custom spacing as a delegate with two parameters - the preceding view and the succeeding view. This should allow for much more flexibility.

This could actually replace the Spacing property altogether, but I think it's better to keep it.

Smart clustered watering mode

A completely different way of handling sprinklers - instead of each being a separate thing, they should all work together under one system.

Watering behavior should try to find clusters of waterable tiles and sprinklers around them, and those sprinklers should work together to water a larger area. This should enable even more layout diversity.

Also see:
https://www.nexusmods.com/stardewvalley/mods/10931?tab=posts#comment-105429448
https://www.nexusmods.com/stardewvalley/mods/10931?tab=bugs#issue_580215

Split into mod and framework projects

Split into separate mod and framework projects, to make it possible to use just the framework separately (and possibly embed it in another mod without adding a (strong) dependency).

Pet Bowl

Sprinklers normally do not water pet bowls, but it could be a nice setting (off by default).

Watering a pet bowl grants friendship with the pet, which is why it should be a setting.
The friendship granting part could also be a setting.

UILabel: Word wrap AND truncate

If a UILabel has NumberOfLines >= 2, it cannot use truncating anymore with wrap (they're mutually exclusive right now). It would be nice to have them separated out.

`UIAlignmentView`

A new view type which would allow aligning a single subview to the view's edges, possibly scaling the view to fit, possibly keeping the aspect ratio.

The aligning would be based on the view's intrinsic size.

Properties:

  • UIVector2 Origin = new(0.5f)
  • bool KeepAspectRatio = true
  • UIAlignmentViewScaling Scaling = UIAlignmentViewScaling.ToFit

UIAlignmentViewScaling possible values:

  • None - keeps the original size
  • ToFit - resizes the content subview to fit inside the alignment view's bounds
  • ToFill - resizes the content subview to fill the alignment view's bounds, possibly extending outside of it in one axis

Port to UIKit

Obviously this has to wait until UIKit is released.

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.