fire-eggs / CivOne

An open source implementation of Sid Meier's Civilization 1 using C# and .NET.
Creative Commons Zero v1.0 Universal
20 stars 4 forks source link

CivOne.BaseInstance: Exception has occurred: CLR/System.NullReferenceException #162

Open iegik opened 2 years ago

iegik commented 2 years ago
        protected static Player Human => Game.Instance.HumanPlayer;
                                                 ^
Exception has occurred: CLR/System.NullReferenceException
An unhandled exception of type 'System.NullReferenceException' occurred in CivOne.dll: 'Object reference not set to an instance of an object.'
   at CivOne.BaseInstance.get_Human() in src/BaseInstance.cs:line 21
   at CivOne.Screens.GamePlayPanels.SideBar.DrawDemographics() in src/Screens/GamePlayPanels/SideBar.cs:line 104
   at CivOne.Screens.GamePlayPanels.SideBar..ctor(Palette palette) in src/Screens/GamePlayPanels/SideBar.cs:line 258
   at CivOne.Screens.GamePlay..ctor() in src/Screens/GamePlay.cs:line 387
   at CivOne.Screens.NewGame.HasUpdate(UInt32 gameTick) in src/Screens/NewGame.cs:line 237
   at CivOne.Screens.BaseScreen.Update(UInt32 gameTick) in src/Screens/BaseScreen.cs:line 61
   at CivOne.RuntimeHandler.Update() in src/RuntimeHandler.cs:line 65
   at CivOne.RuntimeHandler.OnUpdate(Object sender, UpdateEventArgs args) in src/RuntimeHandler.cs:line 93
   at CivOne.Runtime.InvokeUpdate(UpdateEventArgs& args) in runtime/sdl/src/Runtime.cs:line 30
   at CivOne.GameWindow.Update(Object sender, EventArgs args) in runtime/sdl/src/GameWindow.cs:line 40
   at CivOne.SDL.Window.Run() in runtime/sdl/src/SDL/Window.cs:line 95
   at CivOne.Program.Main(String[] args) in runtime/sdl/src/Program.cs:line 89
axx0 commented 2 years ago

When did the error occur? Seems like the HumanPlayer was not set for whatever reason.

iegik commented 2 years ago

It's occurs when launch the game and press "Enter" many times. Seems to be Game instance did not initialised yet :)