implement the activity system

This commit is contained in:
Akka
2022-06-25 11:27:45 +08:00
committed by Melledy
parent 5d35cb49b4
commit 977f1ca2ea
26 changed files with 702 additions and 10 deletions

View File

@@ -0,0 +1,17 @@
package emu.grasscutter.game.activity.musicgame;
import emu.grasscutter.game.activity.ActivityHandler;
import emu.grasscutter.game.activity.ActivityType;
import emu.grasscutter.game.activity.PlayerActivityData;
import emu.grasscutter.net.proto.ActivityInfoOuterClass;
@ActivityType("NEW_ACTIVITY_MUSIC_GAME")
public class MusicGameActivityHandler extends ActivityHandler {
@Override
public void buildProto(PlayerActivityData playerActivityData, ActivityInfoOuterClass.ActivityInfo.Builder activityInfo) {
super.buildProto(playerActivityData, activityInfo);
}
}

View File

@@ -0,0 +1,23 @@
package emu.grasscutter.game.activity.musicgame;
import emu.grasscutter.game.activity.ActivityWatcher;
import emu.grasscutter.game.activity.WatcherType;
import emu.grasscutter.game.props.WatcherTriggerType;
@WatcherType(WatcherTriggerType.TRIGGER_FLEUR_FAIR_MUSIC_GAME_REACH_SCORE)
public class MusicGameScoreTrigger extends ActivityWatcher {
@Override
protected boolean isMeet(String... param) {
if(param.length != 2){
return false;
}
var paramList = getActivityWatcherData().getTriggerConfig().getParamList();
if(!paramList.get(0).equals(param[0])){
return false;
}
var score = Integer.parseInt(param[1]);
var target = Integer.parseInt(paramList.get(1));
return score >= target;
}
}