diff --git a/Changelog.md b/Changelog.md index 9eab0ba..dc5b78c 100644 --- a/Changelog.md +++ b/Changelog.md @@ -1,7 +1,23 @@ +# 0.38.3 +*December 19, 2023* + +Changes that weren't included in preview versions are written in **bold**. + +Improvements +- Made people automatically discard items (put them down or put them away) before starting actions that they need empty hands for + +Fixes +- Fixed people getting stuck on stairs when canceling an action sometimes +- **Fixed a rare exception when pathfinding upstairs** + +API +- Added some UI initialization events +- **Expose ModLoader.LoadedMods** + # 0.38.3-pre.1 *December 16, 2023* -*This is a preview version. If you want to try it out, you can find more info on [the documentation](https://docs.tinylifegame.com/articles/preview.html).* +This is a preview version. If you want to try it out, you can find more info on [the documentation](https://docs.tinylifegame.com/articles/preview.html). Improvements - Made people automatically discard items (put them down or put them away) before starting actions that they need empty hands for @@ -167,7 +183,7 @@ Fixes Read the devlog [on the website](https://tinylifegame.com/devlogs/0.37.0/). -*Changes that weren't included in preview versions are written in **bold**.* +Changes that weren't included in preview versions are written in **bold**. Additions - Added the ability to build additional floors on lots, allowing up to 5 floors in the full game, and 2 in the demo @@ -236,7 +252,7 @@ API # 0.37.0-pre.3 *October 18, 2023* -*This is a preview version. If you want to try it out, you can find more info on [the documentation](https://docs.tinylifegame.com/articles/preview.html).* +This is a preview version. If you want to try it out, you can find more info on [the documentation](https://docs.tinylifegame.com/articles/preview.html). Additions - Added Simplified Chinese translation, courtesy of [Zhao Huaye](https://space.bilibili.com/67102871). Thanks so much for your hard work! @@ -253,7 +269,7 @@ Fixes # 0.37.0-pre.2 *October 12, 2023* -*This is a preview version. If you want to try it out, you can find more info on [the documentation](https://docs.tinylifegame.com/articles/preview.html).* +This is a preview version. If you want to try it out, you can find more info on [the documentation](https://docs.tinylifegame.com/articles/preview.html). Improvements - Display an info that the game needs to be restarted when enabling or disabling mods @@ -267,7 +283,7 @@ Fixes # 0.37.0-pre.1 *October 11, 2023* -*This is a preview version. If you want to try it out, you can find more info on [the documentation](https://docs.tinylifegame.com/articles/preview.html).* +This is a preview version. If you want to try it out, you can find more info on [the documentation](https://docs.tinylifegame.com/articles/preview.html). Additions - Added the ability to build additional floors on lots, allowing up to 5 floors in the full game, and 2 in the demo diff --git a/docs/api/.manifest b/docs/api/.manifest index 217e302..52b8776 100644 --- a/docs/api/.manifest +++ b/docs/api/.manifest @@ -1584,6 +1584,7 @@ "TinyLife.Mods.ModInfo": "TinyLife.Mods.ModInfo.yml", "TinyLife.Mods.ModInfo.Content": "TinyLife.Mods.ModInfo.yml", "TinyLife.Mods.ModInfo.Dispose": "TinyLife.Mods.ModInfo.yml", + "TinyLife.Mods.ModInfo.Errored": "TinyLife.Mods.ModInfo.yml", "TinyLife.Mods.ModInfo.Finalize": "TinyLife.Mods.ModInfo.yml", "TinyLife.Mods.ModInfo.Harmony": "TinyLife.Mods.ModInfo.yml", "TinyLife.Mods.ModInfo.Id": "TinyLife.Mods.ModInfo.yml", @@ -1596,7 +1597,7 @@ "TinyLife.Mods.ModLoader": "TinyLife.Mods.ModLoader.yml", "TinyLife.Mods.ModLoader.GetExecutingMod(System.Diagnostics.StackFrame[])": "TinyLife.Mods.ModLoader.yml", "TinyLife.Mods.ModLoader.GetModsFolder": "TinyLife.Mods.ModLoader.yml", - "TinyLife.Mods.ModLoader.TryGetModInfo(System.String,TinyLife.Mods.ModInfo@)": "TinyLife.Mods.ModLoader.yml", + "TinyLife.Mods.ModLoader.LoadedMods": "TinyLife.Mods.ModLoader.yml", "TinyLife.Music": "TinyLife.Music.yml", "TinyLife.Music.Duck(System.TimeSpan,System.Single)": "TinyLife.Music.yml", "TinyLife.Music.Occasion": "TinyLife.Music.Occasion.yml", diff --git a/docs/api/TinyLife.Actions.PathfindAction.yml b/docs/api/TinyLife.Actions.PathfindAction.yml index 8d74cd4..086ab7b 100644 --- a/docs/api/TinyLife.Actions.PathfindAction.yml +++ b/docs/api/TinyLife.Actions.PathfindAction.yml @@ -480,7 +480,7 @@ items: repo: https://git.ellpeck.de/Ellpeck/TinyLife id: IsCompleted path: ../TinyLife/Actions/PathfindAction.cs - startLine: 105 + startLine: 106 assemblies: - Tiny Life namespace: TinyLife.Actions @@ -512,7 +512,7 @@ items: repo: https://git.ellpeck.de/Ellpeck/TinyLife id: OnCompleted path: ../TinyLife/Actions/PathfindAction.cs - startLine: 116 + startLine: 117 assemblies: - Tiny Life namespace: TinyLife.Actions @@ -545,7 +545,7 @@ items: repo: https://git.ellpeck.de/Ellpeck/TinyLife id: Validate path: ../TinyLife/Actions/PathfindAction.cs - startLine: 127 + startLine: 128 assemblies: - Tiny Life namespace: TinyLife.Actions diff --git a/docs/api/TinyLife.Debug.CheatDelegate.yml b/docs/api/TinyLife.Debug.CheatDelegate.yml index 98c3eea..67322e7 100644 --- a/docs/api/TinyLife.Debug.CheatDelegate.yml +++ b/docs/api/TinyLife.Debug.CheatDelegate.yml @@ -19,7 +19,7 @@ items: repo: https://git.ellpeck.de/Ellpeck/TinyLife id: CheatDelegate path: ../TinyLife/Debug.cs - startLine: 842 + startLine: 841 assemblies: - Tiny Life namespace: TinyLife diff --git a/docs/api/TinyLife.Debug.DebugDelegate.yml b/docs/api/TinyLife.Debug.DebugDelegate.yml index c798049..a7b6ca4 100644 --- a/docs/api/TinyLife.Debug.DebugDelegate.yml +++ b/docs/api/TinyLife.Debug.DebugDelegate.yml @@ -19,7 +19,7 @@ items: repo: https://git.ellpeck.de/Ellpeck/TinyLife id: DebugDelegate path: ../TinyLife/Debug.cs - startLine: 847 + startLine: 846 assemblies: - Tiny Life namespace: TinyLife diff --git a/docs/api/TinyLife.Debug.yml b/docs/api/TinyLife.Debug.yml index 2402c21..90aabd3 100644 --- a/docs/api/TinyLife.Debug.yml +++ b/docs/api/TinyLife.Debug.yml @@ -119,7 +119,7 @@ items: repo: https://git.ellpeck.de/Ellpeck/TinyLife id: TryCheat path: ../TinyLife/Debug.cs - startLine: 643 + startLine: 642 assemblies: - Tiny Life namespace: TinyLife diff --git a/docs/api/TinyLife.Mods.ModInfo.yml b/docs/api/TinyLife.Mods.ModInfo.yml index 9995229..771844f 100644 --- a/docs/api/TinyLife.Mods.ModInfo.yml +++ b/docs/api/TinyLife.Mods.ModInfo.yml @@ -7,6 +7,7 @@ items: children: - TinyLife.Mods.ModInfo.Content - TinyLife.Mods.ModInfo.Dispose + - TinyLife.Mods.ModInfo.Errored - TinyLife.Mods.ModInfo.Finalize - TinyLife.Mods.ModInfo.Harmony - TinyLife.Mods.ModInfo.Id @@ -30,7 +31,7 @@ items: repo: https://git.ellpeck.de/Ellpeck/TinyLife id: ModInfo path: ../TinyLife/Mods/ModLoader.cs - startLine: 194 + startLine: 188 assemblies: - Tiny Life namespace: TinyLife.Mods @@ -70,7 +71,7 @@ items: repo: https://git.ellpeck.de/Ellpeck/TinyLife id: Id path: ../TinyLife/Mods/ModLoader.cs - startLine: 199 + startLine: 193 assemblies: - Tiny Life namespace: TinyLife.Mods @@ -99,7 +100,7 @@ items: repo: https://git.ellpeck.de/Ellpeck/TinyLife id: Mod path: ../TinyLife/Mods/ModLoader.cs - startLine: 203 + startLine: 197 assemblies: - Tiny Life namespace: TinyLife.Mods @@ -128,7 +129,7 @@ items: repo: https://git.ellpeck.de/Ellpeck/TinyLife id: Logger path: ../TinyLife/Mods/ModLoader.cs - startLine: 208 + startLine: 202 assemblies: - Tiny Life namespace: TinyLife.Mods @@ -157,7 +158,7 @@ items: repo: https://git.ellpeck.de/Ellpeck/TinyLife id: Content path: ../TinyLife/Mods/ModLoader.cs - startLine: 213 + startLine: 207 assemblies: - Tiny Life namespace: TinyLife.Mods @@ -186,7 +187,7 @@ items: repo: https://git.ellpeck.de/Ellpeck/TinyLife id: Harmony path: ../TinyLife/Mods/ModLoader.cs - startLine: 218 + startLine: 212 assemblies: - Tiny Life namespace: TinyLife.Mods @@ -215,7 +216,7 @@ items: repo: https://git.ellpeck.de/Ellpeck/TinyLife id: OptionsFile path: ../TinyLife/Mods/ModLoader.cs - startLine: 222 + startLine: 216 assemblies: - Tiny Life namespace: TinyLife.Mods @@ -226,6 +227,37 @@ items: return: type: System.IO.FileInfo content.vb: Public ReadOnly OptionsFile As FileInfo +- uid: TinyLife.Mods.ModInfo.Errored + commentId: P:TinyLife.Mods.ModInfo.Errored + id: Errored + parent: TinyLife.Mods.ModInfo + langs: + - csharp + - vb + name: Errored + nameWithType: ModInfo.Errored + fullName: TinyLife.Mods.ModInfo.Errored + type: Property + source: + remote: + path: TinyLife/Mods/ModLoader.cs + branch: main + repo: https://git.ellpeck.de/Ellpeck/TinyLife + id: Errored + path: ../TinyLife/Mods/ModLoader.cs + startLine: 222 + assemblies: + - Tiny Life + namespace: TinyLife.Mods + summary: "\nWhether this mod errored in some way while loading.\nIf this is true, features usually expected from this mod may not have been loaded properly, or may not work correctly.\n" + example: [] + syntax: + content: public bool Errored { get; } + parameters: [] + return: + type: System.Boolean + content.vb: Public ReadOnly Property Errored As Boolean + overload: TinyLife.Mods.ModInfo.Errored* - uid: TinyLife.Mods.ModInfo.Finalize commentId: M:TinyLife.Mods.ModInfo.Finalize id: Finalize @@ -947,6 +979,22 @@ references: name: IO isExternal: true href: https://learn.microsoft.com/dotnet/api/system.io +- uid: TinyLife.Mods.ModInfo.Errored* + commentId: Overload:TinyLife.Mods.ModInfo.Errored + name: Errored + nameWithType: ModInfo.Errored + fullName: TinyLife.Mods.ModInfo.Errored +- uid: System.Boolean + commentId: T:System.Boolean + parent: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.boolean + name: bool + nameWithType: bool + fullName: bool + nameWithType.vb: Boolean + fullName.vb: Boolean + name.vb: Boolean - uid: TinyLife.Mods.ModInfo.Finalize* commentId: Overload:TinyLife.Mods.ModInfo.Finalize name: ~ModInfo diff --git a/docs/api/TinyLife.Mods.ModLoader.yml b/docs/api/TinyLife.Mods.ModLoader.yml index d0a667c..6b996af 100644 --- a/docs/api/TinyLife.Mods.ModLoader.yml +++ b/docs/api/TinyLife.Mods.ModLoader.yml @@ -7,7 +7,7 @@ items: children: - TinyLife.Mods.ModLoader.GetExecutingMod(System.Diagnostics.StackFrame[]) - TinyLife.Mods.ModLoader.GetModsFolder - - TinyLife.Mods.ModLoader.TryGetModInfo(System.String,TinyLife.Mods.ModInfo@) + - TinyLife.Mods.ModLoader.LoadedMods langs: - csharp - vb @@ -22,7 +22,7 @@ items: repo: https://git.ellpeck.de/Ellpeck/TinyLife id: ModLoader path: ../TinyLife/Mods/ModLoader.cs - startLine: 26 + startLine: 27 assemblies: - Tiny Life namespace: TinyLife.Mods @@ -41,47 +41,35 @@ items: - System.Object.MemberwiseClone - System.Object.ReferenceEquals(System.Object,System.Object) - System.Object.ToString -- uid: TinyLife.Mods.ModLoader.TryGetModInfo(System.String,TinyLife.Mods.ModInfo@) - commentId: M:TinyLife.Mods.ModLoader.TryGetModInfo(System.String,TinyLife.Mods.ModInfo@) - id: TryGetModInfo(System.String,TinyLife.Mods.ModInfo@) +- uid: TinyLife.Mods.ModLoader.LoadedMods + commentId: F:TinyLife.Mods.ModLoader.LoadedMods + id: LoadedMods parent: TinyLife.Mods.ModLoader langs: - csharp - vb - name: TryGetModInfo(string, out ModInfo) - nameWithType: ModLoader.TryGetModInfo(string, out ModInfo) - fullName: TinyLife.Mods.ModLoader.TryGetModInfo(string, out TinyLife.Mods.ModInfo) - type: Method + name: LoadedMods + nameWithType: ModLoader.LoadedMods + fullName: TinyLife.Mods.ModLoader.LoadedMods + type: Field source: remote: path: TinyLife/Mods/ModLoader.cs branch: main repo: https://git.ellpeck.de/Ellpeck/TinyLife - id: TryGetModInfo + id: LoadedMods path: ../TinyLife/Mods/ModLoader.cs - startLine: 38 + startLine: 33 assemblies: - Tiny Life namespace: TinyLife.Mods - summary: "\nThis method can be used to gather a for a mod that is currently loaded with the given id.\nIf no mod with that id is currently loaded, this method returns false and assigns null to .\n" + summary: "\nA collection of all of the instances of the mods that are currently loaded. The string key is the mod's ID, which is also stored in .\n" example: [] syntax: - content: public static bool TryGetModInfo(string id, out ModInfo info) - parameters: - - id: id - type: System.String - description: The id of the mod to get - - id: info - type: TinyLife.Mods.ModInfo - description: The info that will be returned about the mod + content: public static readonly IReadOnlyDictionary LoadedMods return: - type: System.Boolean - description: Whether or not the mod was found to be loaded - content.vb: Public Shared Function TryGetModInfo(id As String, info As ModInfo) As Boolean - overload: TinyLife.Mods.ModLoader.TryGetModInfo* - nameWithType.vb: ModLoader.TryGetModInfo(String, ModInfo) - fullName.vb: TinyLife.Mods.ModLoader.TryGetModInfo(String, TinyLife.Mods.ModInfo) - name.vb: TryGetModInfo(String, ModInfo) + type: System.Collections.Generic.IReadOnlyDictionary{System.String,TinyLife.Mods.ModInfo} + content.vb: Public Shared ReadOnly LoadedMods As IReadOnlyDictionary(Of String, ModInfo) - uid: TinyLife.Mods.ModLoader.GetModsFolder commentId: M:TinyLife.Mods.ModLoader.GetModsFolder id: GetModsFolder @@ -100,7 +88,7 @@ items: repo: https://git.ellpeck.de/Ellpeck/TinyLife id: GetModsFolder path: ../TinyLife/Mods/ModLoader.cs - startLine: 46 + startLine: 40 assemblies: - Tiny Life namespace: TinyLife.Mods @@ -131,7 +119,7 @@ items: repo: https://git.ellpeck.de/Ellpeck/TinyLife id: GetExecutingMod path: ../TinyLife/Mods/ModLoader.cs - startLine: 56 + startLine: 50 assemblies: - Tiny Life namespace: TinyLife.Mods @@ -433,33 +421,125 @@ references: name: ModInfo nameWithType: ModInfo fullName: TinyLife.Mods.ModInfo -- uid: TinyLife.Mods.ModLoader.TryGetModInfo* - commentId: Overload:TinyLife.Mods.ModLoader.TryGetModInfo - name: TryGetModInfo - nameWithType: ModLoader.TryGetModInfo - fullName: TinyLife.Mods.ModLoader.TryGetModInfo -- uid: System.String - commentId: T:System.String - parent: System +- uid: TinyLife.Mods.ModInfo.Id + commentId: F:TinyLife.Mods.ModInfo.Id + name: Id + nameWithType: ModInfo.Id + fullName: TinyLife.Mods.ModInfo.Id +- uid: System.Collections.Generic.IReadOnlyDictionary{System.String,TinyLife.Mods.ModInfo} + commentId: T:System.Collections.Generic.IReadOnlyDictionary{System.String,TinyLife.Mods.ModInfo} + parent: System.Collections.Generic + definition: System.Collections.Generic.IReadOnlyDictionary`2 + href: https://learn.microsoft.com/dotnet/api/system.collections.generic.ireadonlydictionary-2 + name: IReadOnlyDictionary + nameWithType: IReadOnlyDictionary + fullName: System.Collections.Generic.IReadOnlyDictionary + nameWithType.vb: IReadOnlyDictionary(Of String, ModInfo) + fullName.vb: System.Collections.Generic.IReadOnlyDictionary(Of String, TinyLife.Mods.ModInfo) + name.vb: IReadOnlyDictionary(Of String, ModInfo) + spec.csharp: + - uid: System.Collections.Generic.IReadOnlyDictionary`2 + name: IReadOnlyDictionary + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections.generic.ireadonlydictionary-2 + - name: < + - uid: System.String + name: string + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.string + - name: ',' + - name: " " + - uid: TinyLife.Mods.ModInfo + name: ModInfo + - name: '>' + spec.vb: + - uid: System.Collections.Generic.IReadOnlyDictionary`2 + name: IReadOnlyDictionary + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections.generic.ireadonlydictionary-2 + - name: ( + - name: Of + - name: " " + - uid: System.String + name: String + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.string + - name: ',' + - name: " " + - uid: TinyLife.Mods.ModInfo + name: ModInfo + - name: ) +- uid: System.Collections.Generic.IReadOnlyDictionary`2 + commentId: T:System.Collections.Generic.IReadOnlyDictionary`2 isExternal: true - href: https://learn.microsoft.com/dotnet/api/system.string - name: string - nameWithType: string - fullName: string - nameWithType.vb: String - fullName.vb: String - name.vb: String -- uid: System.Boolean - commentId: T:System.Boolean - parent: System + href: https://learn.microsoft.com/dotnet/api/system.collections.generic.ireadonlydictionary-2 + name: IReadOnlyDictionary + nameWithType: IReadOnlyDictionary + fullName: System.Collections.Generic.IReadOnlyDictionary + nameWithType.vb: IReadOnlyDictionary(Of TKey, TValue) + fullName.vb: System.Collections.Generic.IReadOnlyDictionary(Of TKey, TValue) + name.vb: IReadOnlyDictionary(Of TKey, TValue) + spec.csharp: + - uid: System.Collections.Generic.IReadOnlyDictionary`2 + name: IReadOnlyDictionary + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections.generic.ireadonlydictionary-2 + - name: < + - name: TKey + - name: ',' + - name: " " + - name: TValue + - name: '>' + spec.vb: + - uid: System.Collections.Generic.IReadOnlyDictionary`2 + name: IReadOnlyDictionary + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections.generic.ireadonlydictionary-2 + - name: ( + - name: Of + - name: " " + - name: TKey + - name: ',' + - name: " " + - name: TValue + - name: ) +- uid: System.Collections.Generic + commentId: N:System.Collections.Generic isExternal: true - href: https://learn.microsoft.com/dotnet/api/system.boolean - name: bool - nameWithType: bool - fullName: bool - nameWithType.vb: Boolean - fullName.vb: Boolean - name.vb: Boolean + href: https://learn.microsoft.com/dotnet/api/system + name: System.Collections.Generic + nameWithType: System.Collections.Generic + fullName: System.Collections.Generic + spec.csharp: + - uid: System + name: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + - name: . + - uid: System.Collections + name: Collections + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections + - name: . + - uid: System.Collections.Generic + name: Generic + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections.generic + spec.vb: + - uid: System + name: System + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system + - name: . + - uid: System.Collections + name: Collections + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections + - name: . + - uid: System.Collections.Generic + name: Generic + isExternal: true + href: https://learn.microsoft.com/dotnet/api/system.collections.generic - uid: System.IO.DirectoryInfo commentId: T:System.IO.DirectoryInfo parent: System.IO