c# -从继承类获取方法



我正在做一个使用gamestates的单游戏项目,我正在进行重构。

我有从父类state.cs继承抽象方法的状态类,例如MainGameState: State.

在每个单独的状态类中,我都有重复的代码,我试图将其捆绑到我的state.cs类中,但我似乎无法用state. methodname调用它。

我肯定我错过了一些明显的东西,但我需要帮助,提前感谢

下面的代码

State.cs

public abstract class State 
{
/*
[Description]
Abstract class for menu state methods to be used in GameWorld.
*/
private bool isInitialized;

private bool isMenu = true;
public bool IsMenu { get => isMenu; set => isMenu = value; }

public abstract void Initialize();
public abstract void LoadContent();
public abstract void Draw(GameTime gameTime, SpriteBatch spriteBatch);
public abstract void Update(GameTime gameTime);
public void InitializeCheck()
{
// checking if Initialize() has run if it has then skip
if (!isInitialized)
{
Initialize();
}
}

}

我想要调用的示例

MainGameState.cs

public class MainGameState : State
{
public override void Update(GameTime gameTime)
{
State.InitializeCheck();
}

}

@Chetan的评论解决了这个问题:

你不需要做State InitializeCheck();。只需用InitializeCheck();调用该方法。

最新更新