Skip to content

Commit

Permalink
大量重构:remove BaseIdlePlayScreen; use BaseIdleScreen
Browse files Browse the repository at this point in the history
  • Loading branch information
hundun000 committed Sep 9, 2023
1 parent 324284c commit 58c4c03
Show file tree
Hide file tree
Showing 17 changed files with 108 additions and 90 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
import hundun.gdxgame.idledemo.ui.screen.DemoScreenContext;
import hundun.gdxgame.idleshare.core.framework.BaseIdleGame;
import hundun.gdxgame.idleshare.core.framework.model.manager.AudioPlayManager;
import hundun.gdxgame.idleshare.core.starter.ui.screen.play.BaseIdlePlayScreen;
import hundun.gdxgame.idleshare.core.starter.ui.screen.play.BaseIdleScreen;
import hundun.gdxgame.idleshare.gamelib.export.IdleGameplayExport;
import hundun.gdxgame.idleshare.gamelib.framework.util.text.TextFormatTool;

Expand Down Expand Up @@ -53,7 +53,7 @@ protected void createStage1() {
new DemoGameDictionary(),
new DemoBuiltinConstructionsLoader(),
new DemoAchievementLoader(),
BaseIdlePlayScreen.LOGIC_FRAME_PER_SECOND,
BaseIdleScreen.LOGIC_FRAME_PER_SECOND,
childGameConfig
);
this.getSaveHandler().registerSubHandler(idleGameplayExport);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package hundun.gdxgame.idledemo.ui.screen;

import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.g2d.NinePatch;
import com.badlogic.gdx.scenes.scene2d.ui.Table;
import com.badlogic.gdx.scenes.scene2d.utils.NinePatchDrawable;
Expand All @@ -11,15 +12,21 @@
import hundun.gdxgame.idledemo.logic.RootSaveData;
import hundun.gdxgame.idledemo.ui.sub.FirstLockedAchievementBoardVM;
import hundun.gdxgame.idledemo.ui.world.HexCellVM;
import hundun.gdxgame.idledemo.ui.sub.AchievementMaskBoard;
import hundun.gdxgame.idleshare.core.starter.ui.component.GameAreaControlBoard;
import hundun.gdxgame.idleshare.core.starter.ui.screen.play.BaseIdlePlayScreen;
import hundun.gdxgame.idleshare.core.starter.ui.screen.play.BaseIdleScreen;
import hundun.gdxgame.idleshare.core.starter.ui.screen.play.PlayScreenLayoutConst;
import hundun.gdxgame.idleshare.gamelib.framework.callback.IAchievementUnlockCallback;
import hundun.gdxgame.idleshare.gamelib.framework.model.achievement.AbstractAchievement;

import java.util.Map;

public abstract class BaseDemoPlayScreen extends BaseIdlePlayScreen<DemoIdleGame, RootSaveData> implements IGameAreaChangeListener {
public abstract class BaseDemoPlayScreen extends BaseIdleScreen<DemoIdleGame, RootSaveData>
implements IGameAreaChangeListener, IAchievementUnlockCallback
{

protected FirstLockedAchievementBoardVM<DemoIdleGame, RootSaveData> firstLockedAchievementBoardVM;
protected AchievementMaskBoard achievementMaskBoard;

public BaseDemoPlayScreen(DemoIdleGame game) {
super(game, customLayoutConst(game));
Expand Down Expand Up @@ -82,4 +89,41 @@ public void onGameAreaChange(String last, String current) {
}

public abstract void onDeskClicked(HexCellVM vm);

@Override
public void hideAchievementMaskBoard() {
game.getFrontend().log(this.getClass().getSimpleName(), "hideAchievementMaskBoard called");
achievementMaskBoard.setVisible(false);
Gdx.input.setInputProcessor(provideDefaultInputProcessor());
logicFrameHelper.setLogicFramePause(false);
}

@Override
public void showAchievementMaskBoard(AbstractAchievement prototype) {
if (this.hidden) {
return;
}
game.getFrontend().log(this.getClass().getSimpleName(), "onAchievementUnlock called");
achievementMaskBoard.setAchievementPrototype(prototype);
achievementMaskBoard.setVisible(true);
Gdx.input.setInputProcessor(popupUiStage);
logicFrameHelper.setLogicFramePause(true);
}

@Override
protected void lazyInitBackUiAndPopupUiContent() {
super.lazyInitBackUiAndPopupUiContent();


achievementMaskBoard = new AchievementMaskBoard(
this,
game.getIdleGameplayExport()
.getGameplayContext()
.getGameDictionary()
.getAchievementTexts(game.getIdleGameplayExport().getLanguage())
);
popupUiStage.addActor(achievementMaskBoard);


}
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package hundun.gdxgame.idleshare.core.starter.ui.component;
package hundun.gdxgame.idledemo.ui.sub;

import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.g2d.Sprite;
Expand All @@ -13,8 +13,11 @@
import com.badlogic.gdx.scenes.scene2d.utils.SpriteDrawable;

import com.badlogic.gdx.utils.Null;
import hundun.gdxgame.idledemo.DemoIdleGame;
import hundun.gdxgame.idledemo.ui.screen.BaseDemoPlayScreen;
import hundun.gdxgame.idleshare.core.framework.BaseIdleGame;
import hundun.gdxgame.idleshare.core.starter.ui.screen.play.BaseIdlePlayScreen;
import hundun.gdxgame.idleshare.core.starter.ui.component.ResourceAmountPairNode;
import hundun.gdxgame.idleshare.core.starter.ui.screen.play.BaseIdleScreen;
import hundun.gdxgame.idleshare.gamelib.framework.model.achievement.AbstractAchievement;
import hundun.gdxgame.idleshare.gamelib.framework.model.resource.ResourcePair;

Expand All @@ -24,14 +27,14 @@
* @author hundun
* Created on 2021/11/12
*/
public class AchievementMaskBoard<T_GAME extends BaseIdleGame<T_SAVE>, T_SAVE> extends Table {
public class AchievementMaskBoard extends Table {

BaseIdlePlayScreen<T_GAME, T_SAVE> parent;
BaseDemoPlayScreen parent;


List<String> texts;

public AchievementMaskBoard(BaseIdlePlayScreen<T_GAME, T_SAVE> parent, List<String> texts) {
public AchievementMaskBoard(BaseDemoPlayScreen parent, List<String> texts) {
this.parent = parent;
this.texts = texts;
this.setBackground(new SpriteDrawable(new Sprite(parent.getGame().getTextureManager().getAchievementMaskBoardTexture())));
Expand All @@ -51,7 +54,7 @@ private void rebuildUi(@Null AbstractAchievement prototype) {
Label rewardLabel = new Label(texts.get(3), parent.getGame().getMainSkin());
this.add(rewardLabel).center().row();
for (ResourcePair entry : prototype.getAwardResourceMap()) {
ResourceAmountPairNode<T_GAME> node = new ResourceAmountPairNode<>(parent.getGame(), entry.getType());
ResourceAmountPairNode<DemoIdleGame> node = new ResourceAmountPairNode<>(parent.getGame(), entry.getType());
node.update(entry.getAmount());
this.add(node)
.height(parent.getLayoutConst().RESOURCE_AMOUNT_PAIR_NODE_HEIGHT)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,14 @@
import com.badlogic.gdx.scenes.scene2d.utils.TextureRegionDrawable;
import hundun.gdxgame.gamelib.starter.listerner.IGameAreaChangeListener;
import hundun.gdxgame.idleshare.core.framework.BaseIdleGame;
import hundun.gdxgame.idleshare.core.starter.ui.screen.play.BaseIdlePlayScreen;
import hundun.gdxgame.idleshare.core.starter.ui.screen.play.BaseIdleScreen;
import hundun.gdxgame.idleshare.gamelib.framework.model.manager.AchievementManager.AchievementInfoPackage;

import java.util.List;

public class FirstLockedAchievementBoardVM<T_GAME extends BaseIdleGame<T_SAVE>, T_SAVE> extends Table implements IGameAreaChangeListener {

BaseIdlePlayScreen<T_GAME, T_SAVE> parent;
BaseIdleScreen<T_GAME, T_SAVE> parent;

Label nameStartLabel;
Label nameValueLabel;
Expand All @@ -22,7 +22,7 @@ public class FirstLockedAchievementBoardVM<T_GAME extends BaseIdleGame<T_SAVE>,

List<String> texts;

public FirstLockedAchievementBoardVM(BaseIdlePlayScreen<T_GAME, T_SAVE> parent)
public FirstLockedAchievementBoardVM(BaseIdleScreen<T_GAME, T_SAVE> parent)
{
this.parent = parent;
this.texts = parent.getGame().getIdleGameplayExport().getGameDictionary()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
import hundun.gdxgame.idleshare.core.framework.model.manager.AbstractIdleScreenContext;
import hundun.gdxgame.idleshare.core.framework.model.manager.AbstractTextureManager;
import hundun.gdxgame.idleshare.core.framework.model.manager.AudioPlayManager;
import hundun.gdxgame.idleshare.core.starter.ui.screen.play.BaseIdlePlayScreen;
import hundun.gdxgame.idleshare.core.starter.ui.screen.play.BaseIdleScreen;
import hundun.gdxgame.idleshare.gamelib.export.IdleGameplayExport;
import hundun.gdxgame.idleshare.gamelib.framework.IdleGameplayContext;
import hundun.gdxgame.idleshare.gamelib.framework.data.ChildGameConfig;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

import com.badlogic.gdx.graphics.g2d.Sprite;

import hundun.gdxgame.idleshare.core.starter.ui.screen.play.BaseIdlePlayScreen;
import hundun.gdxgame.idleshare.core.starter.ui.screen.play.BaseIdleScreen;
import hundun.gdxgame.idleshare.core.starter.ui.screen.play.PlayScreenLayoutConst;

/**
Expand Down Expand Up @@ -33,9 +33,9 @@ public abstract class BaseGameEntityFactory {
protected int ROW_STABLE_INDEX_PADDING_Y = 0;

protected PlayScreenLayoutConst layoutConst;
protected BaseIdlePlayScreen<?, ?> parent;
protected BaseIdleScreen<?, ?> parent;

public BaseGameEntityFactory(PlayScreenLayoutConst layoutConst, BaseIdlePlayScreen<?, ?> parent) {
public BaseGameEntityFactory(PlayScreenLayoutConst layoutConst, BaseIdleScreen<?, ?> parent) {
this.layoutConst = layoutConst;
this.parent = parent;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,14 @@

import hundun.gdxgame.gamelib.starter.listerner.IGameAreaChangeListener;
import hundun.gdxgame.idleshare.core.framework.BaseIdleGame;
import hundun.gdxgame.idleshare.core.starter.ui.screen.play.BaseIdlePlayScreen;
import hundun.gdxgame.idleshare.core.starter.ui.screen.play.BaseIdleScreen;
import hundun.gdxgame.idleshare.core.starter.ui.screen.play.BaseIdleScreen;

public class BackgroundImageBox<T_GAME extends BaseIdleGame<T_SAVE>, T_SAVE> extends Container<Image> implements IGameAreaChangeListener{
BaseIdlePlayScreen<T_GAME, T_SAVE> parent;
BaseIdleScreen<T_GAME, T_SAVE> parent;
Map<String, Drawable> imageMap = new HashMap<>();

public BackgroundImageBox(BaseIdlePlayScreen<T_GAME, T_SAVE> parent) {
public BackgroundImageBox(BaseIdleScreen<T_GAME, T_SAVE> parent) {
this.parent = parent;
this.setFillParent(true);
//this.setBounds(0, 0, Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,19 +8,20 @@

import hundun.gdxgame.gamelib.starter.listerner.IGameAreaChangeListener;
import hundun.gdxgame.idleshare.core.framework.BaseIdleGame;
import hundun.gdxgame.idleshare.core.starter.ui.screen.play.BaseIdlePlayScreen;
import hundun.gdxgame.idleshare.core.starter.ui.screen.play.BaseIdleScreen;
import hundun.gdxgame.idleshare.core.starter.ui.screen.play.BaseIdleScreen;

/**
* @author hundun
* Created on 2021/11/20
*/
public class GameAreaControlBoard<T_GAME extends BaseIdleGame<T_SAVE>, T_SAVE> extends Table implements IGameAreaChangeListener {

BaseIdlePlayScreen<T_GAME, T_SAVE> parent;
BaseIdleScreen<T_GAME, T_SAVE> parent;
Map<String, GameAreaControlNode<T_GAME, T_SAVE>> nodes = new LinkedHashMap<>();


public GameAreaControlBoard(BaseIdlePlayScreen<T_GAME, T_SAVE> parent) {
public GameAreaControlBoard(BaseIdleScreen<T_GAME, T_SAVE> parent) {
super();
this.parent = parent;
// this.setSize(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@

import hundun.gdxgame.corelib.base.util.DrawableFactory;
import hundun.gdxgame.idleshare.core.framework.BaseIdleGame;
import hundun.gdxgame.idleshare.core.starter.ui.screen.play.BaseIdlePlayScreen;
import hundun.gdxgame.idleshare.core.starter.ui.screen.play.BaseIdleScreen;


/**
Expand All @@ -19,12 +19,12 @@
*/
public class GameAreaControlNode<T_GAME extends BaseIdleGame<T_SAVE>, T_SAVE> extends Image {

BaseIdlePlayScreen<T_GAME, T_SAVE> parent;
BaseIdleScreen<T_GAME, T_SAVE> parent;
//Image image;
Label label;
String gameArea;

public GameAreaControlNode(BaseIdlePlayScreen<T_GAME, T_SAVE> parent, String gameArea, boolean longVersion) {
public GameAreaControlNode(BaseIdleScreen<T_GAME, T_SAVE> parent, String gameArea, boolean longVersion) {
this.parent = parent;
this.gameArea = gameArea;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
import hundun.gdxgame.idleshare.core.framework.model.entity.BaseGameEntityFactory;
import hundun.gdxgame.idleshare.core.framework.model.entity.GameEntity;
import hundun.gdxgame.idleshare.core.framework.model.manager.GameEntityManager;
import hundun.gdxgame.idleshare.core.starter.ui.screen.play.BaseIdlePlayScreen;
import hundun.gdxgame.idleshare.core.starter.ui.screen.play.BaseIdleScreen;
import hundun.gdxgame.idleshare.gamelib.framework.listener.IOneFrameResourceChangeListener;

/**
Expand All @@ -19,7 +19,7 @@
*/
public class GameImageDrawer<T_GAME extends BaseIdleGame<T_SAVE>, T_SAVE> implements IOneFrameResourceChangeListener {

BaseIdlePlayScreen<T_GAME, T_SAVE> parent;
BaseIdleScreen<T_GAME, T_SAVE> parent;
GameImageDrawerOwner owner;
BaseGameEntityFactory gameEntityFactory;

Expand All @@ -28,7 +28,7 @@ public static interface GameImageDrawerOwner {
}


public GameImageDrawer(BaseIdlePlayScreen<T_GAME, T_SAVE> parent, GameImageDrawerOwner owner) {
public GameImageDrawer(BaseIdleScreen<T_GAME, T_SAVE> parent, GameImageDrawerOwner owner) {
this.parent = parent;
this.owner = owner;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
import com.badlogic.gdx.scenes.scene2d.ui.Table;

import hundun.gdxgame.idleshare.core.framework.BaseIdleGame;
import hundun.gdxgame.idleshare.core.starter.ui.screen.play.BaseIdlePlayScreen;
import hundun.gdxgame.idleshare.core.starter.ui.screen.play.BaseIdleScreen;
import hundun.gdxgame.idleshare.gamelib.framework.model.construction.base.BaseConstruction;
import hundun.gdxgame.idleshare.gamelib.framework.model.construction.base.UpgradeComponent.UpgradeState;
import hundun.gdxgame.idleshare.gamelib.framework.model.resource.ResourcePack;
Expand All @@ -20,9 +20,9 @@
*/
public class PopupInfoBoard<T_GAME extends BaseIdleGame<T_SAVE>, T_SAVE> extends Table {

BaseIdlePlayScreen<T_GAME, T_SAVE> parent;
BaseIdleScreen<T_GAME, T_SAVE> parent;

public PopupInfoBoard(BaseIdlePlayScreen<T_GAME, T_SAVE> parent) {
public PopupInfoBoard(BaseIdleScreen<T_GAME, T_SAVE> parent) {
//super("GUIDE_TEXT", parent.game.getButtonSkin());
this.parent = parent;
//this.setBounds(5, GameAreaControlBoard.Y, GameAreaControlBoard.X - 10, 120);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@

import hundun.gdxgame.corelib.base.util.DrawableFactory;
import hundun.gdxgame.idleshare.core.framework.BaseIdleGame;
import hundun.gdxgame.idleshare.core.starter.ui.screen.play.BaseIdlePlayScreen;
import hundun.gdxgame.idleshare.core.starter.ui.screen.play.BaseIdleScreen;
import hundun.gdxgame.idleshare.core.starter.ui.screen.play.BaseIdleScreen;
import hundun.gdxgame.idleshare.gamelib.framework.listener.IOneFrameResourceChangeListener;
import hundun.gdxgame.idleshare.gamelib.framework.util.Utils;

Expand All @@ -25,7 +26,7 @@ public class StorageInfoBoard<T_GAME extends BaseIdleGame<T_SAVE>, T_SAVE> exten

List<String> shownOrders;
Set<String> shownTypes = new HashSet<>();
BaseIdlePlayScreen<T_GAME, T_SAVE> parent;
BaseIdleScreen<T_GAME, T_SAVE> parent;

List<StorageResourceAmountPairNode<T_GAME>> nodes = new ArrayList<>();

Expand All @@ -37,7 +38,7 @@ public void lazyInit(List<String> shownOrders) {
//Label mainLabel;


public StorageInfoBoard(BaseIdlePlayScreen<T_GAME, T_SAVE> parent) {
public StorageInfoBoard(BaseIdleScreen<T_GAME, T_SAVE> parent) {
this.parent = parent;
this.setBackground(DrawableFactory.createBorderBoard(
25,
Expand Down Expand Up @@ -87,7 +88,7 @@ public void updateViewData(Map<String, Long> changeMap, Map<String, List<Long>>
if (deltaHistoryMap.containsKey(node.getResourceType()))
{
historySum = deltaHistoryMap.get(node.getResourceType()).stream()
.collect(Utils.lastN(BaseIdlePlayScreen.LOGIC_FRAME_PER_SECOND))
.collect(Utils.lastN(BaseIdleScreen.LOGIC_FRAME_PER_SECOND))
.stream()
.mapToLong(it -> it)
.sum()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,14 +16,14 @@
import hundun.gdxgame.gamelib.starter.listerner.ILogicFrameListener;
import hundun.gdxgame.idleshare.core.framework.BaseIdleGame;
import hundun.gdxgame.idleshare.core.starter.ui.component.board.construction.impl.ConstructionControlNode;
import hundun.gdxgame.idleshare.core.starter.ui.screen.play.BaseIdlePlayScreen;
import hundun.gdxgame.idleshare.core.starter.ui.screen.play.BaseIdleScreen;
import hundun.gdxgame.idleshare.gamelib.framework.callback.IConstructionCollectionListener;
import hundun.gdxgame.idleshare.gamelib.framework.callback.ISecondaryInfoBoardCallback;
import hundun.gdxgame.idleshare.gamelib.framework.model.construction.base.BaseConstruction;

public abstract class AbstractConstructionControlBoard<T_GAME extends BaseIdleGame<T_SAVE>, T_SAVE> extends Table
implements ILogicFrameListener, IGameAreaChangeListener, IConstructionCollectionListener {
protected BaseIdlePlayScreen<T_GAME, T_SAVE> parent;
protected BaseIdleScreen<T_GAME, T_SAVE> parent;
protected ISecondaryInfoBoardCallback<BaseConstruction> callback;
/**
* 显示在当前screen的Construction集合。以ConstructionView形式存在。
Expand All @@ -32,7 +32,7 @@ public abstract class AbstractConstructionControlBoard<T_GAME extends BaseIdleGa



public AbstractConstructionControlBoard(BaseIdlePlayScreen<T_GAME, T_SAVE> parent, ISecondaryInfoBoardCallback<BaseConstruction> callback) {
public AbstractConstructionControlBoard(BaseIdleScreen<T_GAME, T_SAVE> parent, ISecondaryInfoBoardCallback<BaseConstruction> callback) {
super();
this.parent = parent;
this.callback = callback;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@

import hundun.gdxgame.corelib.base.util.DrawableFactory;
import hundun.gdxgame.idleshare.core.framework.BaseIdleGame;
import hundun.gdxgame.idleshare.core.starter.ui.screen.play.BaseIdlePlayScreen;
import hundun.gdxgame.idleshare.core.starter.ui.screen.play.BaseIdleScreen;
import hundun.gdxgame.idleshare.core.starter.ui.screen.play.PlayScreenLayoutConst;
import hundun.gdxgame.idleshare.gamelib.framework.callback.ISecondaryInfoBoardCallback;
import hundun.gdxgame.idleshare.gamelib.framework.model.construction.base.BaseConstruction;
Expand All @@ -24,7 +24,7 @@
* Created on 2021/11/05
*/
public class ConstructionControlNode<T_GAME extends BaseIdleGame<T_SAVE>, T_SAVE> extends Table {
BaseIdlePlayScreen<T_GAME, T_SAVE> parent;
BaseIdleScreen<T_GAME, T_SAVE> parent;
ISecondaryInfoBoardCallback<BaseConstruction> callback;
BaseConstruction model;
Label constructionNameLabel;
Expand All @@ -45,7 +45,7 @@ public class ConstructionControlNode<T_GAME extends BaseIdleGame<T_SAVE>, T_SAVE


public ConstructionControlNode(
BaseIdlePlayScreen<T_GAME, T_SAVE> parent,
BaseIdleScreen<T_GAME, T_SAVE> parent,
ISecondaryInfoBoardCallback<BaseConstruction> callback,
int index, PlayScreenLayoutConst playScreenLayoutConst) {
super();
Expand Down
Loading

0 comments on commit 58c4c03

Please sign in to comment.