forked from FairPlay137/outrun
-
Notifications
You must be signed in to change notification settings - Fork 0
/
loginBonusState.go
41 lines (37 loc) · 1.11 KB
/
loginBonusState.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
package netobj
import (
"github.com/jinzhu/now"
)
type LoginBonusState struct {
CurrentFirstLoginBonusDay int64 `json:"currentFirstLoginBonusDay"` // this doesn't get reset when the login bonus resets
CurrentLoginBonusDay int64 `json:"currentLoginBonusDay"`
LastLoginBonusTime int64 `json:"lastLoginBonusTime"`
NextLoginBonusTime int64 `json:"nextLoginBonusTime"`
LoginBonusStartTime int64 `json:"loginBonusStartTime"`
LoginBonusEndTime int64 `json:"loginBonusEndTime"`
}
func NewLoginBonusState(cflbd, clbd, llbt, nlbt, lbst, lbet int64) LoginBonusState {
return LoginBonusState{
cflbd,
clbd,
llbt,
nlbt,
lbst,
lbet,
}
}
func DefaultLoginBonusState(currentFirstLoginBonusDay int64) LoginBonusState {
currentLoginBonusDay := int64(0)
lastLoginBonusTime := int64(0)
nextLoginBonusTime := int64(0)
loginBonusStartTime := now.BeginningOfWeek().UTC().Unix()
loginBonusEndTime := now.EndOfWeek().UTC().Unix()
return NewLoginBonusState(
currentFirstLoginBonusDay,
currentLoginBonusDay,
lastLoginBonusTime,
nextLoginBonusTime,
loginBonusStartTime,
loginBonusEndTime,
)
}