Releases: pancake-llc/foundation
3.0.2
Changed
- Fix wrong syntax method
IsSymbolDefined
inAdSettingDrawer
- 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 menuTools/TabEverything
Full Changelog: 3.0.1...3.0.2
3.0.0
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 fromAlchemyAttributeDrawer
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 APINamedBuildTarget
is obsolete and replaced byBuildTargetGroup
-
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 toDefaultNavigatorSetting
-
Fix bug stack over flow when use
PopupBackdropPrefab
inNavigation
setting -
Add a create backdrop prefab button inside
Navigation
setting -
Admob
now callSetiOSAppPauseOnBackground
onInit
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. NowFinder
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 whenFirebase
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 asGeneratePerPopup
which will behave as before with one backdrop per Popup orOnlyFirstBackdrop
which will have only one backdrop -
PrimeTween
is now replaced byLitMotion
-
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
forUIButton
-
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
andEventT1
) -
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
andIVisitable
-
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 withVitalRouter
Know Issue
PickupDrawer
fields sizes are not uniform
2.7.0
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
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
andRandomPositionNavOnUnitSphere
to get random position inNavMesh
- add: description to scriptable base
- update: set directly color for bind renderer
- update: improve display icon in hierarchy
- update: change name
UIButtonTMP
toUIButtonText
- 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
toRegister
, "RemoveListenerto
Unregister` - 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
orReturnAllPool
- 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
2.5.8
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
2.5.6
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
Full Changelog: 2.5.4...2.5.5
2.5.4
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 getGetTypesDerivedFrom
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 beforeAppOpenAd displayed
, then afterAppOpenAd
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
forContentSizeFitter
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