ActivityWatcherData.java 1.1 KB
Newer Older
Akka's avatar
Akka committed
1
2
3
4
package emu.grasscutter.data.excels;

import emu.grasscutter.data.GameResource;
import emu.grasscutter.data.ResourceType;
Akka's avatar
Akka committed
5
import emu.grasscutter.game.props.WatcherTriggerType;
Akka's avatar
Akka committed
6
7
8
9
10
11
12
13
14
15
import lombok.AccessLevel;
import lombok.Getter;
import lombok.experimental.FieldDefaults;

import java.util.List;

@ResourceType(name = "NewActivityWatcherConfigData.json", loadPriority = ResourceType.LoadPriority.HIGH)
@Getter
@FieldDefaults(level = AccessLevel.PRIVATE)
public class ActivityWatcherData extends GameResource {
AnimeGitB's avatar
AnimeGitB committed
16
    @Getter(onMethod = @__(@Override))
Akka's avatar
Akka committed
17
18
19
20
21
22
23
    int id;
    int rewardID;
    int progress;
    WatcherTrigger triggerConfig;

    @Override
    public void onLoad() {
Luke H-W's avatar
Luke H-W committed
24
        triggerConfig.paramList = triggerConfig.paramList.stream().filter(x -> (x != null) && !x.isBlank()).toList();
Akka's avatar
Akka committed
25
        triggerConfig.watcherTriggerType = WatcherTriggerType.getTypeByName(triggerConfig.triggerType);
Akka's avatar
Akka committed
26
27
28
29
30
31
32
    }

    @Getter
    @FieldDefaults(level = AccessLevel.PRIVATE)
    public static class WatcherTrigger{
        String triggerType;
        List<String> paramList;
Akka's avatar
Akka committed
33
34

        transient WatcherTriggerType watcherTriggerType;
Akka's avatar
Akka committed
35
36
37
    }

}