Code Monkey home page Code Monkey logo

com.ikonoclast.common's Introduction

Common

Unity package used in the development of Ikonoclast projects, containing common functionality.

Editor Tooling

Interfaces

  • ICustomEditorWindow
  • IEditorSaveObject

Panels

  • Panel
  • SettingsPanel

Utilities

  • CustomEditorHelper
  • Shortcuts
  • PanelUtils
  • UnityIcons
  • Extensions
  • AssetDatabase

Runtime Support

Constants

  • Colors

Interfaces

  • IBlackboard
  • IBlackboardReader
  • IBlackboardWriter
  • IContainer
  • ICreatableAsset
  • IInjected
  • IInjectionResolver
  • IDirection
  • IDispatcher
  • IIdentity
  • IObservable
  • IObserver
  • IRaycaster
  • IReceiver
  • IRelationalMapper
  • ISave
  • ISaveObject
  • ISingleInstanceAsset

Objects

  • Definition
  • Dispatch
  • Entity
  • Injectable
  • Map
  • RelationalMapper
  • RuntimeContainer
  • ScriptableReferenceDatabase
  • ScriptableResourceDatabase
  • Viewable
  • Blackboard
  • ObservableBlackboard
  • ReadOnlyBlackboard
  • ObserverEventArgs

Types

  • Comparison
  • Direction (Horizontal, Vertical)
  • Range

Utilities

  • Delays
  • Extensions
  • Enum
  • String
  • Queue
  • HashSet
  • Vector (2, 3)
  • Time
  • Random
  • Texture2D
  • VisualElement
  • Component
  • GameObject
  • Object

com.ikonoclast.common's People

Contributors

jubessin avatar

Watchers

 avatar

com.ikonoclast.common's Issues

Address ObservableBlackboard invocations of less detailed IObserver methods

The ObservableBlackboard currently only invokes the PropertyChanged(string propertyName) method when a value is set. As a result, the previous value cannot be known unless an observer had observed the previous setting of a blackboard's value.

Possible solutions:

  • Separate method for invoking the more detailed IObserver method created on the ObservableBlackboard
  • The ObservableBlackboard is modified to always invoke the more detailed method.

Blackboard value comparison tests instance equality instead of data equality

When comparing values for equality, the == operator is used which, by default, uses the .ReferenceEquals() function to test for if two values share the same instance.

As this check is used in the ObservableBlackboard class to determine whether or not to inform observers of changes to a key's value, this type of equality is not appropriate, especially since values are boxed within the internal Dictionary<string, object> object, and often results in observers being alerted when values have actually not been changed.

The equality should instead utilize the .Equals() function that tests for data equality.

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.