using System; using System.Collections; using System.Collections.Generic; using UnityEngine; public enum RunState { /// /// 教员端 /// teacher, /// /// 客户端 /// student, } /// /// 用户数据类 /// [Serializable] public class User { public UserType userType; public string user; public string password; } //学员记录 public class RecordClassDemo { public string user; public string msg; } //记录学员的操作和教员的评价信息 user+time可组成唯一标识 public class OperaterRecording { //学员信息 public string user; //学员训练的开始日期和时间 public string date; //训练的科目 public string subName; //训练的模式 训练/考核 public string learnType; //训练耗时 public string useTime; //教师评价等级 public string appraiseLevel; //指定的录屏视频路径 public string videoPath; //操作记录 用于查看详情时使用 public List operaterMsg; } public enum TurnPageType { Up, Down, } public enum MessType { result, user, } //用户类型 public enum UserType { student, Teacher, manager, } //用户类型 public enum OperateType { revise,//修改 add,//新增 } //学员学习状态 public enum LearnState { //等待状态 waiting=0, //学习状态 learning=1, //考核状态 examing=2, } //学员学习状态显示文本 public enum LearnStateText { //等待状态 未下发科目 = 0, //学习状态 训练中 = 1, //考核状态 考核中 = 2, } //在线学员 public class OnlineStudent { public string ip; public string user; public LearnState state; public string subName;//当前科目 public NetSubStage subStage; public int groupNumber=-1; public bool isMaster=false; } //图标类型 public enum IconType { //装备编辑图标 equipEditor, //人员编辑图标 personnelEditor, //突发事件编辑图标 accidentEditor, //突发事件地图实例图标 accidentInstance, //厂区标记图标 areaFlage, } //教员端选择装备库图标数据 [Serializable] public class EquipIconData { public string name; public float speed; public int count; public bool isOn; public EquipIconData() { } public EquipIconData(string Name,float Speed,int Count, bool IsOn) { name = Name; speed = Speed; count = Count; isOn = IsOn; } } //放置在地图上的行军车辆数据 显示车载物体时使用 [Serializable] public class OnMapCarData { public string name; //public Vector2 anchorPos; public float aPX; public float aPY; public float angleZ; public XDictionary onboardPersonDic = new XDictionary();//车载人员和对应数量 public XDictionary onboardEquipDic = new XDictionary();//车载装备和对应数量 public OnMapCarData() { } public OnMapCarData(string nameStr, Vector2 anchor, float angle, XDictionary personDic, XDictionary equipDic) { name = nameStr; aPX = anchor.x; aPY = anchor.y; angleZ = angle; onboardPersonDic = personDic ; onboardEquipDic = equipDic; } } //设置的突发事件数据 [Serializable] public class TuFaData { public TuFaEnum name; public float posX;// public float posY;//anchoredPos public int ID;//突发事件ID 用于区分突发事件 public TuFaData() { } public TuFaData(TuFaEnum nameStr, Vector2 anchorPos) { name = nameStr; posX = anchorPos.x; posY = anchorPos.y; } } [Serializable] public enum TuFaEnum { 敌机侦察, 敌机打击, 化学沾染地带, 越过染毒地带, 小股敌人袭扰, 道路阻断, 友邻装备轻度损伤, 友邻装备重度损伤, } /// /// 编队分组 /// public enum FormationGroupingEnum { //不连贯训练时默认为该分组 前进保障队, 指挥组, 前出保障组, 抢救抢修队, 主体编队, 殿后保障组, } //科目想定基类 [Serializable] public class RecordBase { public NetSubNameEnum subName; public RecordBase() { } //选用地形 public string TerrainName; //想定介绍 public string fileIntr; //任务介绍 public string taskIntr; } //科目1想定记录数据类 [Serializable] public class SubRecordClass:RecordBase { public SubRecordClass() { subName = NetSubNameEnum.编队行军; } //可选用设备 public List usedEquips = new List(); //可选用人员 public List usedPersons=new List(); //设置的突发事件 public List tuFaDatas= new List(); } [Serializable] public class Sub2RecordClass : RecordBase { public Sub2RecordClass() { subName = NetSubNameEnum.修理所展开; } [System.Xml.Serialization.XmlElementAttribute("OnMapCarData")] public List onMapCars = new List(); } //教员编辑界面初始化数据 public class EditorPanelInitData { public string filePath;//文件路径 用于存储时覆盖原有文件 public RecordBase recordBase; // } //创建的类型 public enum CreaterType { car, childEquip, person, } public enum ABType { 装备=1, 工具=2, 地形=3, 天候=4, } public class AssetBundleMsg { public string assetsName; public ABType type; public string filePath; //搭载装备 public string parentName; } /// /// 允许摆放区域的相关参数 /// [Serializable] public struct PermissibleArea { public Vector3 areaWorldPostion; public Vector2 areaSize; public float angle; } //想定文件存储和再次加载初始化车辆图标信息 public class CarIconIntacneInitData { public string setInTargetImage;//应当放置在其他物体名称 public int angle; public XDictionary onboardPersonDic = new XDictionary();//车载人员和对应数量 public XDictionary onboardEquipDic = new XDictionary();//车载装备和对应数量 } //待创建的车辆信息 public class CarData { public IconBase icon;// 对应的UI图标 可用于更新图标 public CarPosType carType; public string carName; public Vector3 postion; public Vector3 rotation; public float Speed; public float stopDistance = 100f;//行军时与前车默认间距 public string onboardEquip;//车载装备名称 } //突发问题相关 public static class TuFaAnswers { public static Dictionary tufaEvents = new Dictionary() { {TuFaEnum.敌机侦察, new TuFaAnswerClass( new Dictionary(){ { "继续行军", -15 },{ "直接停车", -10},{ "利用地物隐蔽",-1 },{ "下车攻击", -20 }},"利用地物隐蔽") } , {TuFaEnum.友邻装备轻度损伤, new TuFaAnswerClass(new Dictionary(){ { "继续行军", -10 },{ "排除应急抢修组支援修理", 0} ,{ "组织后送", -15} },"排除应急抢修组支援修理") } , {TuFaEnum.友邻装备重度损伤, new TuFaAnswerClass(new Dictionary(){{ "继续行军", -10 },{ "排除应急抢修组支援修理", -15} ,{ "组织后送", 0} },"组织后送") } , {TuFaEnum.小股敌人袭扰, new TuFaAnswerClass(new Dictionary(){ { "直接后下车隐蔽",-10 },{ "加速通过,报告上级", -15} ,{ "停车侦察后追击歼灭", 0} },"停车侦察后追击歼灭") } , {TuFaEnum.化学沾染地带, new TuFaAnswerClass(new Dictionary(){ { "提高车速通过", -10 },{ "匀速通过,收三口", 5} ,{ "提高车速同时收三口(袖口 领口 裤口)", 0} ,{ "匀速通过", -20} },"提高车速同时收三口(袖口 领口 裤口)") } , {TuFaEnum.敌机打击, new TuFaAnswerClass( new Dictionary(){ { "继续行军", -10 },{ "停车后集中还击", -20} ,{ "停车后分散还击", -5},{ "拉大车距行军", -4}},"拉大车距行军") } , {TuFaEnum.越过染毒地带, new TuFaAnswerClass( new Dictionary(){ { "匀速行军", -10 },{ "停车进行人员洗消", -5},{ "停车进行人装洗消", 12} },"停车进行人装洗消") } , {TuFaEnum.道路阻断, new TuFaAnswerClass(new Dictionary(){ { "报告后停车待命", -10 },{ "冒险前进", -15},{ "组织抢救车土工作业后继续前进", 0} },"组织抢救车土工作业后继续前进") } , }; } public class TuFaAnswerClass { public Dictionary options = new Dictionary(); //选项即选项对应的耗时 public string rightOption;//最佳选项 public TuFaAnswerClass(Dictionary options,string rightOption) { this.options = options; this.rightOption = rightOption; } } ////记录所有的厂区名称 用于UI初始化 //public static class AreaName //{ // public static List areaNames = new List() { "指控区","油料场", "器材存放场", "弹药场", "修竣装备停放场", "修理场", "待修装备停放场", "洗消场", "待后送装备停放场", "接收场" }; //} //确定厂区唯一名称 public enum AreaNameEnum { 指控区, 油料场, 器材存放场, 弹药场, 修竣装备停放场, 修理场, 待修装备停放场, 洗消场, 待后送装备停放场, 接收场, } //成绩更新面板数据类 public class ResultMsgToUI { public string ip; public NetAnswerSheet resultMsg; public ResultMsgToUI() { } public ResultMsgToUI(string ip, NetAnswerSheet netResult) { this.ip = ip; this.resultMsg = netResult; } } public static class OnboardPerson { public static Dictionary> personDic = new Dictionary>() { { "NY033H型轮式轻型防化分队指挥车",new XDictionary(){ { "连长",1},{ "指导员",1},{ "副连长",1 }, { "装甲技师", 1 } } }, { "ZJQ84Q式中型坦克抢救车",new XDictionary(){ { "抢救工", 2},{ "起重工", 1},{ "装甲底盘修理工", 1 }, { "电气修理工", 1 } } }, { "96A坦克抢救车",new XDictionary(){ { "抢救工", 2},{ "装甲底盘修理工", 1},{ "电气修理工", 1 } } }, { "VME104履带装甲抢修车",new XDictionary(){ { "抢救工", 2},{ "火炮修理工", 1},{ "装甲底盘修理工", 1 }, { "火控修理工", 1 }, { "通信修理工", 1 } } }, { "VMG101履带装甲补给车",new XDictionary(){ { "抢救工", 2},{ "装甲底盘修理工", 1 } } }, { "CXZ411型装甲能源工程车",new XDictionary(){ { "电气修理工", 2},{ "车辆综合电子系统修理工", 3} } }, { "CXZ511型装甲保养工程车",new XDictionary(){ { "液压修理工", 1},{ "装甲底盘修理工", 3} } }, { "徐工QY25K型汽车起重机",new XDictionary(){ { "起重工", 1} } }, { "VME301-5型轮式装备抢救车",new XDictionary(){ { "抢救工", 1},{ "汽车修理工", 2} } }, { "CXC022汽车保养车",new XDictionary(){ { "汽车修理工", 3} } }, { "VME105履带装甲抢修车",new XDictionary(){ { "抢救工", 2} } }, { "徐工QY16K型汽车起重机",new XDictionary(){ { "起重工", 2} } }, { "CXZ311型装甲拆装工程车",new XDictionary(){ { "液压修理工", 1},{ "装甲底盘修理工", 3} } }, { "CXZ511型装甲保养工程车",new XDictionary(){ { "液压修理工", 1},{ "装甲底盘修理工", 3 } } }, { "CXC012汽车修理工程车",new XDictionary(){ { "汽车修理工", 3},{ "电气修理工", 1} } }, };//车辆应该具备的标注车载人员 } /// /// 导调界面初始化类 /// public class AdjustingPanelInitData { public string user; public string ip; public NetAdjustingInitData initData; } /// /// 分组协同训练 全局数据记录类 /// public static class GroupLearnHelper { public static int groupNumber; /// /// 是否分组训练 /// public static bool isGroup; /// /// 是否组长 /// public static bool isMaster; /// /// 其他组员 /// public static List otherUser; static NetLearnGroup netLearn; /// /// 接到科目信息时 注入并分析分组状态 /// public static NetLearnGroup GroupLearn { set { netLearn = value; if (netLearn != null && netLearn.allStudents.Count > 1) { isGroup = true; isMaster = ThisIP == netLearn.masterIP; groupNumber = netLearn.groupNumber; netLearn.allStudents.Remove(ArrayHelper.Find(netLearn.allStudents.ToArray(), (p) => p.ip == thisIP));//移除代表自己的user otherUser = netLearn.allStudents; } else { isGroup = false; isMaster = false; } } } static string thisIP; /// /// 获取本机IP /// public static string ThisIP { get { if (string.IsNullOrEmpty(thisIP)) thisIP = ETModel.NetHelper.GetAddressIPV4(); return thisIP; } } } public static class StepName { public static Dictionary StepNameDic = new Dictionary() { {"V型卡箍","排气系统车内排烟管和车外消音器连接的V型卡箍螺栓" }, {"车轮","" }, {"燃油回油管快接","发动机燃油回油管快速接头" }, {"拆卸开始节点","" }, {"椅底盖板","驾驶椅底部盖板" }, {"软轴卡板螺栓组","" }, {"吊装盖板锁扣组","" }, {"舱后隔板B锁扣组","" }, {"动力装置螺栓6","一体化动力装置右侧后方与车体连接的1个螺栓" }, {"动力装置螺栓5","右前轮处一体化动力装置与车体连接的1个螺栓" }, {"右前轮窗口盖","车体右前轮舱上窗口盖" }, {"右前轮窗口盖螺栓组","" }, {"发电机电控执行器插头","发动机电控装置电控执行器电缆插头" }, {"采集控制信号插头","动力舱采集控制信号电缆插头" }, {"档控螺栓组A","变速操纵装置控制盒上侧的3个螺栓" }, {"软轴卡板","钢丝绳软轴固定卡板" }, {"加温器回水管","冷却系统加温器回水管快速接头" }, {"加温器进水管快接","冷却系统加温器进水管快速机头" }, {"变速和离合操纵气管接头","附属用气系统变速器高低档气管和离合器气缸操纵气管接头" }, {"附属用气压机出气套","附属用气系统空气压缩机出气管卡套" }, {"排气制动缸螺套","制动系统排气制动缸气管固定螺套" }, {"转助泵回油快接","转向系统转向助力泵回油管快速接头" }, {"转助泵进油快接","转向系统转向助力泵进油管快速接头" }, {"传动轴螺栓组","变速器输出轴与分动器连接的四颗螺栓" }, {"动力装置螺栓1","一体化动力装置左侧后方与车体连接的1个螺栓" }, {"分动器回油管快接","分动器回油管快速接头" }, {"分动器进油快接","分动器进油管快速接头" }, {"变量泵控制油管快接","水上液压传动系统变量泵控制油管快速接头" }, {"变量泵泄油管快接","水上液压传动系统变量泵泄油管快速接头" }, {"变量泵回油管快接","水上液压传动系统变量泵回油管快速接头" }, {"变量泵吸油管螺栓组","水上液压传动系统变量泵吸油管4颗固定螺栓" }, {"舱后隔板B","动力舱后部隔板B" }, {"风定马达回油滤螺套","风扇液压传动系统定量马达与回油滤连接管的连接螺套" }, {"燃油供油管快接","发动机燃油供油管快速接头" }, {"驾舱隔板B锁扣组","" }, {"驾舱隔板A","驾驶舱隔板A" }, {"驾舱隔板B","驾驶舱隔板B" }, {"驾舱隔板A锁扣组","" }, {"横梁螺栓组","" }, {"变泵吸油快接","风扇液压传动系统变量泵吸油管快速接头" }, {"驾驶椅螺栓组","" }, {"档位控制器","变速操纵装置控制盒" }, {"离工与主快接","离合器工作缸与离合器主缸连接油管快速接头" }, {"百叶窗","百叶窗" }, {"散热器","散热器" }, {"动力装置","一体化动力装置吊装" }, {"舱后隔板处电缆组","动力舱后隔板下部电气装置5个电缆插头和中央充放气总线螺纹接头" }, {"三角木","" }, {"动力装置螺栓234组","一体化动力装置左侧前方与车体连接的3个螺栓" }, {"变泵泄油螺套","风扇液压传动系统温控阀回油管和变量泵泄油管的连接螺套" }, {"吊装盖板","吊装动力舱车体后部盖板" }, {"驾驶椅","驾驶椅" }, {"变泵高压快接","风扇液压传动系统变量泵吸高压油管快速接头" }, {"百叶窗锁扣组","" }, {"制动螺栓","驻车制动缸中心螺栓" }, {"舱后隔板A锁扣组","" }, {"档控螺栓组B","变速操纵装置控制盒左侧中部、下部4个螺栓" }, {"液传回油快接","风扇液压传动系统回油管快速接头" }, {"横梁","横梁" }, {"舱后隔板A","动力舱后部隔板A" }, {"千斤顶","" }, }; }