unityzgy/Assets/Scripts/StuentNet/UDP/Udp/ProtoBuilders/ActionProtoBuilder.cs
ayuan9957 bf12e02276 feat: 多语言本地化系统 - 支持中/英/法/俄实时切换
- LocalizationManager: 新增翻译表(SetFormatted/SetDuration/LocalizeOperateMsg)
- LoginPanel: InputField placeholder本地化、字体颜色保持
- HistoryPanel: 用时数据本地化、placeholder本地化
- RecordDetailPanel: 操作详情消息本地化(LanguageChanged重建)
- AppraiseWindowBase: 评价等级本地化、操作消息重建
- EditorAppraiser: 所有评估消息改用InjectOperateMsgLocalized
- StudentOperateRecorder: 新增InjectOperateMsgLocalized方法
- LocalizationLanguageTestBar: 单例模式、ScreenSpaceOverlay筛选
- 字体切换时保留颜色和verticalOverflow
2026-07-16 10:05:59 +08:00

62 lines
1.3 KiB
C#

using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using XFramework.NetOuter;
//操作一个场景物体的动作消息
public class ActionProtoBuilder : IProtoBuilder
{
ProtocolByte protocolByte;
/// <summary>
/// 通过构造函数传入相关数据
/// </summary>
/// <param name="operatorIP">操作人员IP</param>
/// <param name="goName">被操作物体 </param>
/// <param name="actionType">行为类型</param>
public ActionProtoBuilder(string operatorIP, string goName, NetActionType actionType)
{
protocolByte = new ProtocolByte();
protocolByte.AddString("ActionSync");//添加消息标识
//添加消息内容
protocolByte.AddString(operatorIP);
protocolByte.AddString(goName);
protocolByte.AddInt((int)actionType);
}
public ProtocolBase GetProto()
{
return protocolByte;
}
}
//行为同步信息类型
[FlagsAttribute]
public enum NetActionType
{
//获取控制权
getCtrl=1,
//放弃控制权
yeildCtrl=2,
//控制物体播放开启动画
openAnima=4,
//控制物体关闭动画
closeAnima=8,
//放在自由位置
unGrabbedOnFree=16,
//放在固定位置
unGrabbedOnFixed=32,
//触发use事件
OnUseable=64,
//触发unUse
UnUseable = 128,
}