ActivityWatcher.java 697 Bytes
Newer Older
Akka's avatar
Akka committed
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
package emu.grasscutter.game.activity;

import emu.grasscutter.data.excels.ActivityWatcherData;
import lombok.AccessLevel;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.FieldDefaults;

@Getter
@Setter
@FieldDefaults(level = AccessLevel.PRIVATE)
public abstract class ActivityWatcher {
    int watcherId;
    ActivityWatcherData activityWatcherData;
    ActivityHandler activityHandler;

    protected abstract boolean isMeet(String... param);

    public void trigger(PlayerActivityData playerActivityData, String... param){
        if(isMeet(param)){
            playerActivityData.addWatcherProgress(watcherId);
            playerActivityData.save();
        }
    }

}