X-Git-Url: https://deadsoftware.ru/gitweb?a=blobdiff_plain;f=core%2Fsrc%2Fru%2Fdeadsoftware%2Fcavedroid%2Fgame%2Fmobs%2FMob.java;h=3ee37d37e626914cef7b41e55c151c42ec743c3b;hb=3a443514027417133d7a7e18766720dfea028a87;hp=e4ca679cb43c5a68430d521889459c1958e6c439;hpb=90daad1796cd59f11f12589686d9afe882ddb9b1;p=cavedroid.git diff --git a/core/src/ru/deadsoftware/cavedroid/game/mobs/Mob.java b/core/src/ru/deadsoftware/cavedroid/game/mobs/Mob.java index e4ca679..3ee37d3 100644 --- a/core/src/ru/deadsoftware/cavedroid/game/mobs/Mob.java +++ b/core/src/ru/deadsoftware/cavedroid/game/mobs/Mob.java @@ -7,20 +7,20 @@ import com.badlogic.gdx.math.MathUtils; import com.badlogic.gdx.math.Rectangle; import com.badlogic.gdx.math.Vector2; import com.badlogic.gdx.utils.Timer; +import org.jetbrains.annotations.Nullable; import ru.deadsoftware.cavedroid.game.GameItemsHolder; +import ru.deadsoftware.cavedroid.game.model.dto.SaveDataDto; import ru.deadsoftware.cavedroid.game.model.item.InventoryItem; -import ru.deadsoftware.cavedroid.game.model.item.Item; import ru.deadsoftware.cavedroid.game.world.GameWorld; +import ru.deadsoftware.cavedroid.misc.Saveable; -import javax.annotation.CheckForNull; -import java.io.Serializable; import java.util.Collections; import java.util.List; /** * Mob class. */ -public abstract class Mob extends Rectangle implements Serializable { +public abstract class Mob extends Rectangle implements Saveable { private static final float DAMAGE_TINT_TIMEOUT_S = 0.5f; private static final Color DAMAGE_TINT_COLOR = new Color(0xff8080ff); @@ -75,16 +75,18 @@ public abstract class Mob extends Rectangle implements Serializable { protected int mAnimDelta = ANIMATION_SPEED; protected float mAnim; - private Direction mDirection; + protected Direction mDirection; protected boolean mDead; - private boolean mCanJump; - private boolean mFlyMode; + protected boolean mCanJump; + protected boolean mFlyMode; - private final int mMaxHealth; - private int mHealth; + protected int mMaxHealth; + protected int mHealth; - private transient boolean mTakingDamage = false; - @CheckForNull private transient ResetTakeDamageTask mResetTakeDamageTask = null; + private boolean mTakingDamage = false; + + @Nullable + private ResetTakeDamageTask mResetTakeDamageTask = null; /** * @param x in pixels @@ -344,4 +346,11 @@ public abstract class Mob extends Rectangle implements Serializable { public abstract float getSpeed(); public abstract void jump(); + + @Override + public abstract SaveDataDto.MobSaveDataDto getSaveData(); + + public static Mob fromSaveData(SaveDataDto.MobSaveDataDto saveData) { + return MobSaveDataMapperKt.fromSaveData(saveData); + } }