This commit is contained in:
DESKTOP-5RP3AKU\Jisol 2023-11-23 02:39:12 +08:00
parent e3781116dc
commit e99fc3929c
9 changed files with 35 additions and 10 deletions

View File

@ -1,9 +1,10 @@
import { _decorator, Component, director, instantiate, Node, Prefab } from 'cc';
import { app } from './App';
import { Env, JNGame } from '../../extensions/ngame/assets/ngame/JNGame';
import { JNGame } from '../../extensions/ngame/assets/ngame/JNGame';
import { JNSyncAction } from '../../extensions/ngame/assets/ngame/sync/JNSyncAction';
import { GOnHookPets } from '../../extensions/ngame/assets/ngame/message/proto';
import { EnvCurrent } from './Env';
import { Env, EnvCurrent } from './Env';
import { GAction } from './consts/GAction';
const { ccclass, property } = _decorator;
window['GUser'] = "100000";
@ -34,6 +35,11 @@ export class Main extends Component {
// 创建世界
director.getScene().addChild(instantiate(this.WorldPrefab));
if(EnvCurrent == Env.Server){
//发送就绪
app.socket.Send(GAction.CR_REFEREE_READY);
}
}
}

View File

@ -19,6 +19,7 @@ export enum GAction {
/*************** 裁决 *********************/
CR_REFEREE_READY = 4000, //裁决就绪
CR_REFEREE_PVP_MODE = 4001, //裁决PVP模式
CR_REFEREE_PVP_END = 4002, //裁决PVP结束

View File

@ -27,7 +27,7 @@ export class MainView extends JNGLayerBase {
//更新UI界面
onUpdateView(){
this.playerNameLabel.string = PlayerData.getIns().getInfo().playerName;
this.playerNameLabel.string = `${PlayerData.getIns().getInfo().playerId}`;
}
//打开Demo页面

@ -1 +1 @@
Subproject commit 9e2487e3e4ab43fe9c1f4e736bc7f75244f2f21b
Subproject commit 0795f18e7e61b8f8f5bcef1b11fe388e290d031a

View File

@ -20,6 +20,7 @@ public interface GActionEnum {
/*************** 裁决 *********************/
int CR_REFEREE_READY = 4000; //裁决就绪
int CR_REFEREE_PVP_MODE = 4001; //裁决PVP模式
int CR_REFEREE_PVP_END = 4002; //裁决PVP结束

View File

@ -0,0 +1,8 @@
package cn.jisol.game.actions;
public interface GActionEvent {
//裁决员空闲
static final String REFEREE_FREE = "GActionEvent_REFEREE_FREE";
}

View File

@ -6,6 +6,7 @@ import cn.jisol.game.network.client.GRefereeClient;
import cn.jisol.game.proto.GPVPMessage;
import cn.jisol.ngame.actions.core.NAction;
import cn.jisol.ngame.actions.core.NActionMethod;
import cn.jisol.ngame.util.EventDispatcher;
import cn.jisol.ngame.util.JLoggerUtil;
import org.slf4j.LoggerFactory;
@ -35,8 +36,8 @@ public class GRefereeAction {
public static GRefereeClient getFreeReferee(){
for (String key : REFEREES.keySet()) {
if (!(REFEREES.get(key).isReferee)) {
REFEREES.get(key).isReferee = true;
if (REFEREES.get(key).isReady) {
REFEREES.get(key).isReady = false;
return REFEREES.get(key);
}
}
@ -49,8 +50,10 @@ public class GRefereeAction {
}
//放回一个空闲裁决员
@NActionMethod(GActionEnum.CR_REFEREE_READY)
public static void addFreeReferee(GRefereeClient referee){
referee.isReferee = false;
referee.isReady = true;
EventDispatcher.getInstance().dispatchEvent(GActionEvent.REFEREE_FREE);
}
//自动回收裁决

View File

@ -3,6 +3,7 @@ package cn.jisol.game.actions.onhook;
import cn.hutool.json.JSON;
import cn.hutool.json.JSONUtil;
import cn.jisol.game.actions.GActionEnum;
import cn.jisol.game.actions.GActionEvent;
import cn.jisol.game.actions.GRefereeAction;
import cn.jisol.game.controller.game.GPlayerPetController;
import cn.jisol.game.controller.game.GPlayerTacticalController;
@ -13,6 +14,7 @@ import cn.jisol.game.proto.GPVPMessage;
import cn.jisol.game.service.PlayerTacticalService;
import cn.jisol.ngame.actions.core.NAction;
import cn.jisol.ngame.actions.core.NActionMethod;
import cn.jisol.ngame.util.EventDispatcher;
import cn.jisol.ngame.util.spring.SpringBeanUtils;
import java.util.*;
@ -37,6 +39,10 @@ public class GPVPAction {
}
},0,1000);
EventDispatcher.getInstance().addListener(GActionEvent.REFEREE_FREE,(EventDispatcher.Event event) -> {
onUpdateMatchGame(); //刷新匹配
});
}
//加入PVP
@ -175,7 +181,7 @@ public class GPVPAction {
System.out.println("获胜的玩家是:"+info.getWinnerId());
//裁决结束 等待下次裁决
referee.isReferee = false;
GRefereeAction.addFreeReferee(referee);
}

View File

@ -7,8 +7,8 @@ import javax.websocket.Session;
//裁决员客户端
public class GRefereeClient extends GClient {
//是否正在裁决
public boolean isReferee = false;
//是否就绪
public boolean isReady = false;
public GRefereeClient(String token, Session session) {
super(token, session);