OSDN Git Service

[Refactor] #1498 Defined StunRank and get_rank()
authorHourier <66951241+Hourier@users.noreply.github.com>
Thu, 16 Sep 2021 13:49:39 +0000 (22:49 +0900)
committerHourier <66951241+Hourier@users.noreply.github.com>
Sat, 18 Sep 2021 13:10:04 +0000 (22:10 +0900)
src/timed-effect/player-stun.cpp
src/timed-effect/player-stun.h

index 0ba3778..0d3f482 100644 (file)
@@ -1,10 +1,32 @@
 #include "timed-effect/player-stun.h"
 
-short PlayerStun::current()
+short PlayerStun::current() const
 {
     return this->stun;
 }
 
+StunRank PlayerStun::get_rank() const
+{
+    return this->get_rank(this->stun);
+}
+
+StunRank PlayerStun::get_rank(short value) const
+{
+    if (value > 100) {
+        return StunRank::UNCONSCIOUS;
+    }
+
+    if (value > 50) {
+        return StunRank::HARD;
+    }
+
+    if (value > 0) {
+        return StunRank::NORMAL;
+    }
+
+    return StunRank::NONE;
+}
+
 void PlayerStun::set(short value)
 {
 }
index 71291a4..251ec09 100644 (file)
@@ -1,11 +1,20 @@
 #pragma once
 
+enum class StunRank {
+    NONE = 0,
+    NORMAL = 1,
+    HARD = 2,
+    UNCONSCIOUS = 3,
+};
+
 class PlayerStun {
 public:
     PlayerStun() = default;
     virtual ~PlayerStun() = default;
 
-    short current();
+    short current() const;
+    StunRank get_rank() const;
+    StunRank get_rank(short value) const;
     void set(short value);
 
 private: