Skip to content

Releases: pancake-llc/foundation

3.0.2

02 Sep 13:36
Compare
Choose a tag to compare

Changed

  • Fix wrong syntax method IsSymbolDefined in AdSettingDrawer
  • Update signature method create StatModifier (duration param now had default value is 0)
  • Add interface ITimeProvider
  • Add VersionedBinaryAdapterBase inherit form this class to be able to identify the version of the serialized data for the adapter. see
  • Update demo
  • Button LoadComponent in header component now only display when component inherit form ILoadComponent
  • Remove button move down and move up component to saving space
  • If component renamed by F2 hide all button
  • Mirror refactor script editor
  • Add Tab Everything, drag and drop everything to create separate tab, see more setting in menu Tools/TabEverything

Full Changelog: 3.0.1...3.0.2

3.0.0

22 Aug 17:44
Compare
Choose a tag to compare

What's Changed

Full Changelog: 2.7.3...3.0.0

Breaking Changes: If your project is using a lower version (2.x or 1.x) please do not update to this version because it contains changes that break the structure of the older versions.

  • Compatible with unity 6000

  • Split part into common assembly containing contents shared by other modules. Heart will now consist of 4 main folders:

    • Common
    • Core
    • Editor
    • Modules
  • UniTask is now no longer embedded inside heart but installed via UPM

  • Apex was removed due to difficulty in maintenance, instead using Alchemy with Flexible structure and closer to Unity

  • The old tree map and row separator are already built in with Alchemy see #91

  • NamePickupAttribute has been removed, PopupPickupAttribute, PagePickupAttribute, SheetPickupAttribute will now inherit from AlchemyAttributeDrawer and optimize performance partly but these attributes still have relatively poor performance due to having to traverse assemblies, now each type will have a different color displayed on the inspector.

  • Removed unused textures and unified the textures together, the main color was changed to light blue, all textures were gathered in the Heart/Editor/Textures folder

  • ScriptableObjectCopyPaste has been removed

  • ScriptingDefinition has been updated The specific API NamedBuildTarget is obsolete and replaced by BuildTargetGroup

  • The wizard has been redesigned for a cleaner look. The Wizard windows are also moved into the wizard folder in the module for easier reference by assembly.

  • HeartWindowInstaller has been added to install missing package requirements

  • FindAssetWithPath provide find outside heart package when place directly path true

  • DefaultTransitionSetting is renamed to DefaultNavigatorSetting

  • Fix bug stack over flow when use PopupBackdropPrefab in Navigation setting

  • Add a create backdrop prefab button inside Navigation setting

  • Admob now call SetiOSAppPauseOnBackground on Init to have the same behavior on ios as android

  • Baking sheet now included directly in the heart to be able to handle operations with Google Sheets. Localization now use baking sheet to fetch data from google sheet then create ScriptableObject. Some csv reading performance improvements have been applied, excel support removed

  • Improved Finder performance and support for ui tookit and shader graph. Now Finder will be disabled by default when entering playmode

  • Localization add button Fill All for Locale Text

  • Localization add button Translate for Locale Text

  • OnPostProcessBuildAddFirebaseFile now only call when Firebase installed

  • Replacer Font has been removed due to its risk

  • Remove UI Unlit Mask shader, no shader will be included in heart

  • The reworked sound system is more flexible and easier to use than before.

  • The previous debug system has been removed in favor of a UI toolkit implementation, and the swipe up gesture to enable debug has also been removed.

  • Added strategies to manage PopupBackdrop such as GeneratePerPopup which will behave as before with one backdrop per Popup or OnlyFirstBackdrop which will have only one backdrop

  • PrimeTween is now replaced by LitMotion

  • Add InterfaceHelper to allows Assigning in inspector for UnityEngine.Objects that implement T (event for interfaces)

  • Remove NeedleConsole and Selective Profiling

  • ScriptableObject Architecture has been completely removed

  • Fix component header button can't click in unity 6

  • Add button load component for script implement interface ILoadComponent

  • Editor will now use TargetFrameRate setting separate from Runtime

  • The Editor toolbar is now always dark

  • Add event OnHoldStoppedEvent for UIButton

  • Use separate ease for motion down and up of UIButton

  • Add information such as price, title, description by country and invoice to IAPData

  • Add MainUIContainer to access ui containers in the current context via their type

  • Add simple abstract scriptable event (Event and EventT1)

  • Add Completed for AsyncProcessHandle

  • Add HideEnumAttribute to hide some enum value fields for specified field

  • Add HFSM a simple yet powerful class-based hierarchical finite state machine for Unity

  • Add interface IVisitor and IVisitable

  • Add StatModifier

  • Add light weight healthbar, draw all health bar with one draw call

  • Add algorithm to make randomization in Bag more unpredictable and adjustable as desired

  • Add fullscreen it puts editor windows in fullscreen mode, simple and easy, useful for recording, testing in a real gaming environment and tweaking your scene

  • Add Rename Component in inspector to specify purpose of similar components. Click on the header component and press F2 to rename it.

  • Add DI via Inits

  • Replace legacy EventBus system with VitalRouter

Know Issue

  • PickupDrawer fields sizes are not uniform

2.7.0

26 Mar 04:05
Compare
Choose a tag to compare

Changed

  • update: assign startingAnimation when play only skeleton graphic
  • add: button callback variable to access the button's callback via scriptable
  • add: more method extension of spine
  • update: use built-in pipeline as default
  • refactor name scriptable
  • add: async raycast
  • remove: grow mesh
  • remove: greenery
  • update: scriptable now only draw unity type in preview
  • update: ignore expand scriptable in collection
  • update: bag and bag drawer to more useful
  • update: tween version
  • add: IgnoreTypeMismatch attribute to fix issue type mismatch when assign scene object to scriptable variable
  • add: check null for method IsSerializable
  • add: class Random value
  • update: improve performance apex
  • fix: only set value of remote config with ValueSource is RemoteValue
  • add: contains layer mask method extension

Breaking Change

Scriptable Variable will now only set the value via the InitialValue field in Editor Mode. The value using "Value" will only be displayed in Play Mode. It will be initialized as the InitialValue value or taken from Saved Data when entering PlayMode.

2.6.0

10 Mar 17:30
Compare
Choose a tag to compare

Changed

  • update: pool OnRequest now call correct each time when request
  • update: prototype of pool now not have suffix (Clone)
  • add: add component ParticleReturnPool, ReturnPoolByTime
  • add: cooldown to play for audio group
  • add: RandomPositionNavInsideUnitSphere and RandomPositionNavOnUnitSphere to get random position in NavMesh
  • add: description to scriptable base
  • update: set directly color for bind renderer
  • update: improve display icon in hierarchy
  • update: change name UIButtonTMP to UIButtonText
  • update: remove default require Image for UIButton
  • update: add context menu create UIButton Only Text
  • update: improve menu create UIButton
  • remove: scriptable input drawer, scriptable event vector 3 transform drawer
  • update: pools control outside, inside correctly
  • update: handle callback register with player loop, player loop now stop immediate when unregister
  • update: rename AddListener to Register, "RemoveListenertoUnregister`
  • update: game unit component handle add segment timming game loop in hierarchy
  • fix: check null in CanvasGroupDrawerBackdrop
  • add: pool persistent flag to ignore clear pool, return pool when call ClearAllPool or ReturnAllPool
  • update: ignore display button create for abstract ScriptableObject
  • add: preview value for scriptable property drawer
  • update: do not cache editor for fetch directly data of scriptable property drawer

2.5.9

01 Mar 03:38
Compare
Choose a tag to compare

Changed

  • add event OnEmpty for ScriptableList
  • add pool for scriptableObject for resuse scriptable

2.5.8

28 Feb 01:57
Compare
Choose a tag to compare

Changed

  • Remove all Variable Scriptable PropertyDrawer , now you do need create propertyDrawer for custom class to have button create in insspector, ScriptableBasePropertyDrawer now affect to ScriptableObject directly, since no editor create for scriptable now you can using Apex in class inherit form Scriptable
  • Remove ObjectEditor
  • Remove ScriptableVariableBase, ScriptableVariable now inherit from ScriptableBase
  • ScriptableConstant now inherit from ScriptableBase
  • Add VariableListenerWindow

2.5.7

27 Feb 11:32
Compare
Choose a tag to compare

Changed

  • fix: fix ignore time scale in UI button work not correctly
  • breaking change: remove factory, remove scriptable pool because will be split too many pools so will be using normal native pool. see wiki
  • add: add method extension ToWorldPosition
  • add: component AnchorUIObject

2.5.6

26 Feb 02:36
Compare
Choose a tag to compare

Changed

  • add: pause/play for sequence
  • update: add graphy as a package
  • add: tiny recycler view
  • add: debugview replace for administrator
  • update: call InternalClearPool when play mode state change
  • update: pass false when create instance of pool factory because factory when create object in world space first

2.5.5

23 Feb 10:48
Compare
Choose a tag to compare

Full Changelog: 2.5.4...2.5.5

2.5.4

22 Feb 07:17
Compare
Choose a tag to compare

Changed

  • remove: add use exact alarm permission of notification in foundation
  • package: update version UI Particle to v4.6.2
  • touchInput: use FloatVarience for custom setting
  • touchInput: add delta (distance drag in one frame), you can use this in callback InputOnDragUpdate
  • typo: fix typo name class InGameNotificationRouter
  • administrator: simplify the interface, now you can close administrator popup when click outside
  • feat: add build menu for android build
  • reflection: use TypeCache to get GetTypesDerivedFrom type to impove performance when get all sub class
  • refactor: remove some unuse variable in advertising , remove scriptable client because it unnecessary
  • feat: banner now auto hide when AppOpenAd displayed. If the banner was turned off before AppOpenAd displayed, then after AppOpenAd turned off the banner will not be displayed again, otherwise it will be displayed again.
  • scriptable: add scriptable Vector2Int
  • pool: remove message displayed in inspector and replace it with a tooltip to avoid difficulty seeing
  • pool: add option to cache all object instance spawned from pool, add method clear all spawned object (ReturnAllSpawned)
  • extension: add method ManualUpdate for ContentSizeFitter for manually update Content Size Fitter immediately when it does not update automatically
  • sdk: update AppLovin sdk to 6.2.1
  • sdk: update Prime Tween to 1.1.12
  • sdk: use Unity version 2022.3.20f1