mark research dirty when un-researching, add onUnresearched

This commit is contained in:
DBotThePony 2022-01-13 15:12:17 +07:00
parent e20a81c02c
commit b4c02e240d
Signed by: DBot
GPG Key ID: DCC23B5715498507
2 changed files with 12 additions and 0 deletions

View File

@ -27,7 +27,12 @@ public abstract class AndroidResearch implements INBTSerializable<CompoundTag> {
}
public void unResearch() {
if (!researched)
return;
researched = false;
onUnresearched();
markDirty();
}
public AndroidResearch(AndroidResearchType<?> type, AndroidCapabilityPlayer capability) {
@ -51,6 +56,8 @@ public abstract class AndroidResearch implements INBTSerializable<CompoundTag> {
* Should *only* refund research cost to host, not reverse its effects
*/
abstract public void refund();
abstract public void onUnresearched();
abstract public void onResearched();
abstract public void consumeCost();
abstract public boolean canAfford();

View File

@ -300,6 +300,11 @@ public class AndroidResearchBuilder {
}
}
@Override
public void onUnresearched() {
}
@Override
public boolean canAfford() {
if (capability.ply.experienceLevel < experience)