Commit 29a473b4ecacdfc1b80a267e757542c88b4d1300
1 parent
d66410abd6
Exists in
master
and in
2 other branches
청결/관리 상태 기능 뼈대 추가
Showing
2 changed files
with
59 additions
and
4 deletions
Show diff stats
app/gui/oven_control/dirtylevel.cpp
@@ -6,6 +6,33 @@ namespace { | @@ -6,6 +6,33 @@ namespace { | ||
6 | QDateTime cookStartTime; | 6 | QDateTime cookStartTime; |
7 | qint64 cookingTime; | 7 | qint64 cookingTime; |
8 | int cookingCount; | 8 | int cookingCount; |
9 | + | ||
10 | +void decountState(int level) | ||
11 | +{ | ||
12 | + int current = DirtyLevel::state(); | ||
13 | + int target = qMax(current - level, 0); | ||
14 | + switch (target) | ||
15 | + { | ||
16 | + case 0: | ||
17 | + cookingCount = 0; | ||
18 | + break; | ||
19 | + case 1: | ||
20 | + cookingCount = 1; | ||
21 | + break; | ||
22 | + case 2: | ||
23 | + cookingCount = 6; | ||
24 | + break; | ||
25 | + case 3: | ||
26 | + cookingCount = 11; | ||
27 | + break; | ||
28 | + case 4: | ||
29 | + cookingCount = 16; | ||
30 | + break; | ||
31 | + case 5: | ||
32 | + cookingCount = 21; | ||
33 | + break; | ||
34 | + } | ||
35 | +} | ||
9 | } | 36 | } |
10 | 37 | ||
11 | 38 | ||
@@ -20,6 +47,33 @@ void DirtyLevel::cookEnd() | @@ -20,6 +47,33 @@ void DirtyLevel::cookEnd() | ||
20 | cookingTime += cookStartTime.secsTo(QDateTime::currentDateTime()); | 47 | cookingTime += cookStartTime.secsTo(QDateTime::currentDateTime()); |
21 | } | 48 | } |
22 | 49 | ||
50 | +void DirtyLevel::wash(int type) | ||
51 | +{ | ||
52 | + switch (type) | ||
53 | + { | ||
54 | + case 1: | ||
55 | + cookingTime = qMax(cookingTime - 2 * 3600, 0); | ||
56 | + decountState(1); | ||
57 | + break; | ||
58 | + case 2: | ||
59 | + cookingTime = qMax(cookingTime - 3 * 3600, 0); | ||
60 | + decountState(1); | ||
61 | + break; | ||
62 | + case 3: | ||
63 | + cookingTime = qMax(cookingTime - 4 * 3600, 0); | ||
64 | + decountState(2); | ||
65 | + break; | ||
66 | + case 4: | ||
67 | + cookingTime = qMax(cookingTime - 10 * 3600, 0); | ||
68 | + decountState(2); | ||
69 | + break; | ||
70 | + case 5: | ||
71 | + cookingTime = qMax(cookingTime - 2 * 3600, 0); | ||
72 | + decountState(1); | ||
73 | + break; | ||
74 | + } | ||
75 | +} | ||
76 | + | ||
23 | int DirtyLevel::dirty() | 77 | int DirtyLevel::dirty() |
24 | { | 78 | { |
25 | if (cookingCount < 1) | 79 | if (cookingCount < 1) |
@@ -39,13 +93,13 @@ int DirtyLevel::state() | @@ -39,13 +93,13 @@ int DirtyLevel::state() | ||
39 | { | 93 | { |
40 | if (cookingCount < 1) | 94 | if (cookingCount < 1) |
41 | return 0; | 95 | return 0; |
42 | - if (cookingCount < 4) | 96 | + if (cookingCount <= 5) |
43 | return 1; | 97 | return 1; |
44 | - if (cookingCount < 7) | 98 | + if (cookingCount <= 10) |
45 | return 2; | 99 | return 2; |
46 | - if (cookingCount < 10) | 100 | + if (cookingCount <= 15) |
47 | return 3; | 101 | return 3; |
48 | - if (cookingCount < 13) | 102 | + if (cookingCount <= 20) |
49 | return 4; | 103 | return 4; |
50 | return 5; | 104 | return 5; |
51 | } | 105 | } |
app/gui/oven_control/dirtylevel.h