mirror of
https://github.com/Grasscutters/Grasscutter.git
synced 2025-01-23 05:12:53 +08:00
Format code [skip actions]
This commit is contained in:
parent
98fbc4e512
commit
4320bc7d29
@ -268,14 +268,16 @@ public final class ResourceLoader {
|
||||
|
||||
private static void loadRoutes() {
|
||||
try {
|
||||
Files.newDirectoryStream(getResourcePath("BinOutput/LevelDesign/Routes/"),"*.json")
|
||||
Files.newDirectoryStream(getResourcePath("BinOutput/LevelDesign/Routes/"), "*.json")
|
||||
.forEach(
|
||||
path -> {
|
||||
try {
|
||||
val data = JsonUtils.loadToClass(path, SceneRoutes.class);
|
||||
val routesArray = data.getRoutes();
|
||||
if (routesArray == null) return;
|
||||
val routesMap = GameData.getSceneRouteData().getOrDefault(data.getSceneId(), new Int2ObjectOpenHashMap<>());
|
||||
val routesMap =
|
||||
GameData.getSceneRouteData()
|
||||
.getOrDefault(data.getSceneId(), new Int2ObjectOpenHashMap<>());
|
||||
for (Route route : routesArray) {
|
||||
routesMap.put(route.getLocalId(), route);
|
||||
}
|
||||
@ -284,7 +286,7 @@ public final class ResourceLoader {
|
||||
}
|
||||
});
|
||||
Grasscutter.getLogger()
|
||||
.debug("Loaded " + GameData.getSceneNpcBornData().size() + " SceneRouteDatas.");
|
||||
.debug("Loaded " + GameData.getSceneNpcBornData().size() + " SceneRouteDatas.");
|
||||
} catch (IOException e) {
|
||||
Grasscutter.getLogger().error("Failed to load SceneRouteData folder.");
|
||||
}
|
||||
|
@ -248,32 +248,57 @@ public class EntityGadget extends EntityBaseGadget {
|
||||
return true;
|
||||
}
|
||||
|
||||
if(routeConfig instanceof ConfigRoute configRoute) {
|
||||
if (routeConfig instanceof ConfigRoute configRoute) {
|
||||
var route = this.getScene().getSceneRouteById(configRoute.getRouteId());
|
||||
if(route != null) {
|
||||
if (route != null) {
|
||||
var points = route.getPoints();
|
||||
val currIndex = configRoute.getStartIndex();
|
||||
|
||||
Position prevpos;
|
||||
if(currIndex == 0) {
|
||||
if (currIndex == 0) {
|
||||
prevpos = getPosition();
|
||||
this.getScene().getScriptManager().callEvent(new ScriptArgs(this.getGroupId(), EventType.EVENT_PLATFORM_REACH_POINT, this.getConfigId(), configRoute.getRouteId()).setParam3(0).setEventSource(this.getConfigId()));
|
||||
}else {
|
||||
this.getScene()
|
||||
.getScriptManager()
|
||||
.callEvent(
|
||||
new ScriptArgs(
|
||||
this.getGroupId(),
|
||||
EventType.EVENT_PLATFORM_REACH_POINT,
|
||||
this.getConfigId(),
|
||||
configRoute.getRouteId())
|
||||
.setParam3(0)
|
||||
.setEventSource(this.getConfigId()));
|
||||
} else {
|
||||
prevpos = points[currIndex].getPos();
|
||||
}
|
||||
|
||||
double time = 0;
|
||||
for(var i = currIndex; i < points.length;++i) {
|
||||
for (var i = currIndex; i < points.length; ++i) {
|
||||
time += points[i].getPos().computeDistance(prevpos) / points[i].getTargetVelocity();
|
||||
prevpos = points[i].getPos();
|
||||
val I = i;
|
||||
configRoute.getScheduledIndexes().add(this.getScene().getScheduler().scheduleDelayedTask(() -> {
|
||||
if(points[I].isHasReachEvent() && I > currIndex) {
|
||||
this.getScene().getScriptManager().callEvent(new ScriptArgs(this.getGroupId(), EventType.EVENT_PLATFORM_REACH_POINT, this.getConfigId(), configRoute.getRouteId()).setParam3(I).setEventSource(this.getConfigId()));
|
||||
}
|
||||
configRoute.setStartIndex(I);
|
||||
this.position.set(points[I].getPos());
|
||||
},(int)time));
|
||||
configRoute
|
||||
.getScheduledIndexes()
|
||||
.add(
|
||||
this.getScene()
|
||||
.getScheduler()
|
||||
.scheduleDelayedTask(
|
||||
() -> {
|
||||
if (points[I].isHasReachEvent() && I > currIndex) {
|
||||
this.getScene()
|
||||
.getScriptManager()
|
||||
.callEvent(
|
||||
new ScriptArgs(
|
||||
this.getGroupId(),
|
||||
EventType.EVENT_PLATFORM_REACH_POINT,
|
||||
this.getConfigId(),
|
||||
configRoute.getRouteId())
|
||||
.setParam3(I)
|
||||
.setEventSource(this.getConfigId()));
|
||||
}
|
||||
configRoute.setStartIndex(I);
|
||||
this.position.set(points[I].getPos());
|
||||
},
|
||||
(int) time));
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -294,8 +319,8 @@ public class EntityGadget extends EntityBaseGadget {
|
||||
return true;
|
||||
}
|
||||
|
||||
if(routeConfig instanceof ConfigRoute configRoute) {
|
||||
for(var task : configRoute.getScheduledIndexes()) {
|
||||
if (routeConfig instanceof ConfigRoute configRoute) {
|
||||
for (var task : configRoute.getScheduledIndexes()) {
|
||||
this.getScene().getScheduler().cancelTask(task);
|
||||
}
|
||||
configRoute.getScheduledIndexes().clear();
|
||||
|
@ -4,10 +4,10 @@ import emu.grasscutter.game.world.Position;
|
||||
import emu.grasscutter.net.proto.MovingPlatformTypeOuterClass;
|
||||
import emu.grasscutter.net.proto.PlatformInfoOuterClass;
|
||||
import emu.grasscutter.scripts.data.SceneGadget;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
public class ConfigRoute extends BaseRoute {
|
||||
|
||||
|
@ -536,7 +536,7 @@ public final class Scene {
|
||||
return;
|
||||
}
|
||||
|
||||
if(!isPaused) {
|
||||
if (!isPaused) {
|
||||
this.getScheduler().runTasks();
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user