Move client Battle to ClientProxy
This commit is contained in:
parent
bb8ebf561b
commit
0e0a7ea562
6 changed files with 51 additions and 29 deletions
|
@ -119,15 +119,18 @@ public class BattleGui extends GuiScreen
|
|||
|
||||
public void turnBegin()
|
||||
{
|
||||
TurnBasedMinecraftMod.currentBattle.setState(Battle.State.ACTION);
|
||||
if(TurnBasedMinecraftMod.commonProxy.getLocalBattle() != null)
|
||||
{
|
||||
TurnBasedMinecraftMod.commonProxy.getLocalBattle().setState(Battle.State.ACTION);
|
||||
}
|
||||
setState(MenuState.WAITING);
|
||||
}
|
||||
|
||||
public void turnEnd()
|
||||
{
|
||||
if(TurnBasedMinecraftMod.currentBattle != null)
|
||||
if(TurnBasedMinecraftMod.commonProxy.getLocalBattle() != null)
|
||||
{
|
||||
TurnBasedMinecraftMod.currentBattle.setState(Battle.State.DECISION);
|
||||
TurnBasedMinecraftMod.commonProxy.getLocalBattle().setState(Battle.State.DECISION);
|
||||
}
|
||||
timeRemaining.set(TurnBasedMinecraftMod.getBattleDurationSeconds());
|
||||
elapsedTime = 0;
|
||||
|
@ -161,7 +164,7 @@ public class BattleGui extends GuiScreen
|
|||
case ATTACK_TARGET:
|
||||
info = "Who will you attack?";
|
||||
int y = 30;
|
||||
for(Map.Entry<Integer, Combatant> e : TurnBasedMinecraftMod.currentBattle.getSideAEntrySet())
|
||||
for(Map.Entry<Integer, Combatant> e : TurnBasedMinecraftMod.commonProxy.getLocalBattle().getSideAEntrySet())
|
||||
{
|
||||
if(e.getValue().entity != null)
|
||||
{
|
||||
|
@ -174,7 +177,7 @@ public class BattleGui extends GuiScreen
|
|||
y += 20;
|
||||
}
|
||||
y = 30;
|
||||
for(Map.Entry<Integer, Combatant> e : TurnBasedMinecraftMod.currentBattle.getSideBEntrySet())
|
||||
for(Map.Entry<Integer, Combatant> e : TurnBasedMinecraftMod.commonProxy.getLocalBattle().getSideBEntrySet())
|
||||
{
|
||||
if(e.getValue().entity != null)
|
||||
{
|
||||
|
@ -219,12 +222,12 @@ public class BattleGui extends GuiScreen
|
|||
@Override
|
||||
public void drawScreen(int mouseX, int mouseY, float partialTicks)
|
||||
{
|
||||
if(TurnBasedMinecraftMod.currentBattle == null)
|
||||
if(TurnBasedMinecraftMod.commonProxy.getLocalBattle() == null)
|
||||
{
|
||||
drawHoveringText("Waiting...", width / 2 - 50, height / 2);
|
||||
return;
|
||||
}
|
||||
if(TurnBasedMinecraftMod.currentBattle.getState() == Battle.State.DECISION && timeRemaining.get() > 0)
|
||||
if(TurnBasedMinecraftMod.commonProxy.getLocalBattle().getState() == Battle.State.DECISION && timeRemaining.get() > 0)
|
||||
{
|
||||
long nextInstant = System.nanoTime();
|
||||
elapsedTime += nextInstant - lastInstant;
|
||||
|
@ -270,20 +273,20 @@ public class BattleGui extends GuiScreen
|
|||
setState(MenuState.ATTACK_TARGET);
|
||||
break;
|
||||
case DEFEND:
|
||||
TurnBasedMinecraftMod.NWINSTANCE.sendToServer(new PacketBattleDecision(TurnBasedMinecraftMod.currentBattle.getId(), Battle.Decision.DEFEND, 0));
|
||||
TurnBasedMinecraftMod.NWINSTANCE.sendToServer(new PacketBattleDecision(TurnBasedMinecraftMod.commonProxy.getLocalBattle().getId(), Battle.Decision.DEFEND, 0));
|
||||
setState(MenuState.WAITING);
|
||||
break;
|
||||
case ITEM:
|
||||
setState(MenuState.ITEM_ACTION);
|
||||
break;
|
||||
case FLEE:
|
||||
TurnBasedMinecraftMod.NWINSTANCE.sendToServer(new PacketBattleDecision(TurnBasedMinecraftMod.currentBattle.getId(), Battle.Decision.FLEE, 0));
|
||||
TurnBasedMinecraftMod.NWINSTANCE.sendToServer(new PacketBattleDecision(TurnBasedMinecraftMod.commonProxy.getLocalBattle().getId(), Battle.Decision.FLEE, 0));
|
||||
setState(MenuState.WAITING);
|
||||
break;
|
||||
case ATTACK_TARGET:
|
||||
if(button instanceof EntitySelectionButton)
|
||||
{
|
||||
TurnBasedMinecraftMod.NWINSTANCE.sendToServer(new PacketBattleDecision(TurnBasedMinecraftMod.currentBattle.getId(), Battle.Decision.ATTACK, ((EntitySelectionButton)button).entityID));
|
||||
TurnBasedMinecraftMod.NWINSTANCE.sendToServer(new PacketBattleDecision(TurnBasedMinecraftMod.commonProxy.getLocalBattle().getId(), Battle.Decision.ATTACK, ((EntitySelectionButton)button).entityID));
|
||||
setState(MenuState.WAITING);
|
||||
}
|
||||
else
|
||||
|
@ -303,7 +306,7 @@ public class BattleGui extends GuiScreen
|
|||
case DO_ITEM_SWITCH:
|
||||
if(button instanceof ItemSelectionButton)
|
||||
{
|
||||
TurnBasedMinecraftMod.NWINSTANCE.sendToServer(new PacketBattleDecision(TurnBasedMinecraftMod.currentBattle.getId(), Battle.Decision.SWITCH_ITEM, ((ItemSelectionButton)button).itemStackID));
|
||||
TurnBasedMinecraftMod.NWINSTANCE.sendToServer(new PacketBattleDecision(TurnBasedMinecraftMod.commonProxy.getLocalBattle().getId(), Battle.Decision.SWITCH_ITEM, ((ItemSelectionButton)button).itemStackID));
|
||||
if(((ItemSelectionButton)button).itemStackID >= 0 && ((ItemSelectionButton)button).itemStackID < 9)
|
||||
{
|
||||
Minecraft.getMinecraft().player.inventory.currentItem = ((ItemSelectionButton)button).itemStackID;
|
||||
|
@ -318,7 +321,7 @@ public class BattleGui extends GuiScreen
|
|||
case DO_USE_ITEM:
|
||||
if(button instanceof ItemSelectionButton)
|
||||
{
|
||||
TurnBasedMinecraftMod.NWINSTANCE.sendToServer(new PacketBattleDecision(TurnBasedMinecraftMod.currentBattle.getId(), Battle.Decision.USE_ITEM, ((ItemSelectionButton)button).itemStackID));
|
||||
TurnBasedMinecraftMod.NWINSTANCE.sendToServer(new PacketBattleDecision(TurnBasedMinecraftMod.commonProxy.getLocalBattle().getId(), Battle.Decision.USE_ITEM, ((ItemSelectionButton)button).itemStackID));
|
||||
setState(MenuState.WAITING);
|
||||
}
|
||||
else
|
||||
|
|
|
@ -2,6 +2,7 @@ package com.seodisparate.TurnBasedMinecraft.client;
|
|||
|
||||
import org.apache.logging.log4j.Logger;
|
||||
|
||||
import com.seodisparate.TurnBasedMinecraft.common.Battle;
|
||||
import com.seodisparate.TurnBasedMinecraft.common.CommonProxy;
|
||||
import com.seodisparate.TurnBasedMinecraft.common.Config;
|
||||
import com.seodisparate.TurnBasedMinecraft.common.TurnBasedMinecraftMod;
|
||||
|
@ -19,6 +20,7 @@ public class ClientProxy extends CommonProxy
|
|||
private Config config;
|
||||
private int battleMusicCount;
|
||||
private int sillyMusicCount;
|
||||
private Battle localBattle;
|
||||
|
||||
@Override
|
||||
public void initialize()
|
||||
|
@ -27,6 +29,7 @@ public class ClientProxy extends CommonProxy
|
|||
battleMusic = null; // will be initialized in postInit()
|
||||
battleMusicCount = 0;
|
||||
sillyMusicCount = 0;
|
||||
localBattle = null;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -74,7 +77,7 @@ public class ClientProxy extends CommonProxy
|
|||
@Override
|
||||
public void battleEnded()
|
||||
{
|
||||
TurnBasedMinecraftMod.currentBattle = null;
|
||||
localBattle = null;
|
||||
Minecraft.getMinecraft().addScheduledTask(() -> {
|
||||
Minecraft.getMinecraft().displayGuiScreen(null);
|
||||
Minecraft.getMinecraft().setIngameFocus();
|
||||
|
@ -120,7 +123,7 @@ public class ClientProxy extends CommonProxy
|
|||
@Override
|
||||
public void typeEnteredBattle(String type)
|
||||
{
|
||||
if(TurnBasedMinecraftMod.currentBattle == null)
|
||||
if(localBattle == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
@ -142,7 +145,7 @@ public class ClientProxy extends CommonProxy
|
|||
@Override
|
||||
public void typeLeftBattle(String type)
|
||||
{
|
||||
if(TurnBasedMinecraftMod.currentBattle == null)
|
||||
if(localBattle == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
@ -226,4 +229,16 @@ public class ClientProxy extends CommonProxy
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Battle getLocalBattle()
|
||||
{
|
||||
return localBattle;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void createLocalBattle(int id)
|
||||
{
|
||||
localBattle = new Battle(id, null, null, false);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -71,4 +71,11 @@ public class CommonProxy
|
|||
{
|
||||
return TurnBasedMinecraftMod.battleManager != null;
|
||||
}
|
||||
|
||||
public Battle getLocalBattle()
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
public void createLocalBattle(int id) {}
|
||||
}
|
||||
|
|
|
@ -54,8 +54,6 @@ public class TurnBasedMinecraftMod
|
|||
public static final long BATTLE_DECISION_DURATION_NANO_DEFAULT = 15000000000L;
|
||||
private static long BATTLE_DECISION_DURATION_NANOSECONDS = BATTLE_DECISION_DURATION_NANO_DEFAULT;
|
||||
|
||||
public static Battle currentBattle = null;
|
||||
|
||||
@SidedProxy(modId=MODID, serverSide="com.seodisparate.TurnBasedMinecraft.common.CommonProxy", clientSide="com.seodisparate.TurnBasedMinecraft.client.ClientProxy")
|
||||
public static CommonProxy commonProxy;
|
||||
|
||||
|
@ -69,7 +67,6 @@ public class TurnBasedMinecraftMod
|
|||
public void init(FMLInitializationEvent event)
|
||||
{
|
||||
commonProxy.initialize();
|
||||
currentBattle = null;
|
||||
battleManager = null;
|
||||
attackerViaBow = new HashSet<AttackerViaBow>();
|
||||
commonProxy.setLogger(logger);
|
||||
|
|
|
@ -68,18 +68,18 @@ public class PacketBattleInfo implements IMessage
|
|||
@Override
|
||||
public IMessage onMessage(PacketBattleInfo message, MessageContext ctx)
|
||||
{
|
||||
if(TurnBasedMinecraftMod.currentBattle == null)
|
||||
if(TurnBasedMinecraftMod.commonProxy.getLocalBattle() == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
TurnBasedMinecraftMod.currentBattle.clearCombatants();
|
||||
TurnBasedMinecraftMod.commonProxy.getLocalBattle().clearCombatants();
|
||||
for(Integer id : message.sideA)
|
||||
{
|
||||
TurnBasedMinecraftMod.currentBattle.addCombatantToSideA(Minecraft.getMinecraft().world.getEntityByID(id));
|
||||
TurnBasedMinecraftMod.commonProxy.getLocalBattle().addCombatantToSideA(Minecraft.getMinecraft().world.getEntityByID(id));
|
||||
}
|
||||
for(Integer id : message.sideB)
|
||||
{
|
||||
TurnBasedMinecraftMod.currentBattle.addCombatantToSideB(Minecraft.getMinecraft().world.getEntityByID(id));
|
||||
TurnBasedMinecraftMod.commonProxy.getLocalBattle().addCombatantToSideB(Minecraft.getMinecraft().world.getEntityByID(id));
|
||||
}
|
||||
TurnBasedMinecraftMod.commonProxy.setBattleGuiTime((int)(message.decisionNanos / 1000000000L));
|
||||
TurnBasedMinecraftMod.commonProxy.setBattleGuiBattleChanged();
|
||||
|
|
|
@ -168,9 +168,9 @@ public class PacketBattleMessage implements IMessage
|
|||
from = fromEntity.getName();
|
||||
}
|
||||
}
|
||||
else if(TurnBasedMinecraftMod.currentBattle != null)
|
||||
else if(TurnBasedMinecraftMod.commonProxy.getLocalBattle() != null)
|
||||
{
|
||||
fromEntity = TurnBasedMinecraftMod.currentBattle.getCombatantEntity(message.entityIDFrom);
|
||||
fromEntity = TurnBasedMinecraftMod.commonProxy.getLocalBattle().getCombatantEntity(message.entityIDFrom);
|
||||
if(fromEntity != null)
|
||||
{
|
||||
if(fromEntity.hasCustomName())
|
||||
|
@ -204,9 +204,9 @@ public class PacketBattleMessage implements IMessage
|
|||
to = toEntity.getName();
|
||||
}
|
||||
}
|
||||
else if(TurnBasedMinecraftMod.currentBattle != null)
|
||||
else if(TurnBasedMinecraftMod.commonProxy.getLocalBattle() != null)
|
||||
{
|
||||
toEntity = TurnBasedMinecraftMod.currentBattle.getCombatantEntity(message.entityIDTo);
|
||||
toEntity = TurnBasedMinecraftMod.commonProxy.getLocalBattle().getCombatantEntity(message.entityIDTo);
|
||||
if(toEntity != null)
|
||||
{
|
||||
if(toEntity.hasCustomName())
|
||||
|
@ -228,9 +228,9 @@ public class PacketBattleMessage implements IMessage
|
|||
{
|
||||
case ENTERED:
|
||||
TurnBasedMinecraftMod.commonProxy.displayString(from + " entered battle!");
|
||||
if(TurnBasedMinecraftMod.currentBattle == null || TurnBasedMinecraftMod.currentBattle.getId() != message.amount)
|
||||
if(TurnBasedMinecraftMod.commonProxy.getLocalBattle() == null || TurnBasedMinecraftMod.commonProxy.getLocalBattle().getId() != message.amount)
|
||||
{
|
||||
TurnBasedMinecraftMod.currentBattle = new Battle(message.amount, null, null, false);
|
||||
TurnBasedMinecraftMod.commonProxy.createLocalBattle(message.amount);
|
||||
}
|
||||
TurnBasedMinecraftMod.commonProxy.battleStarted();
|
||||
TurnBasedMinecraftMod.commonProxy.typeEnteredBattle(message.custom);
|
||||
|
@ -301,7 +301,7 @@ public class PacketBattleMessage implements IMessage
|
|||
TurnBasedMinecraftMod.commonProxy.battleGuiTurnBegin();
|
||||
break;
|
||||
case TURN_END:
|
||||
if(TurnBasedMinecraftMod.currentBattle != null)
|
||||
if(TurnBasedMinecraftMod.commonProxy.getLocalBattle() != null)
|
||||
{
|
||||
TurnBasedMinecraftMod.commonProxy.displayString("The turn ended!");
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue