| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
-
- using DeepCore;
- using DeepCore.Geometry;
- using DeepCore.IO;
- using System;
- namespace DeepMMO.Server.AreaManager
- {
- public class MapTemplateData : ISerializable
- {
- static MapTemplateData()
- {
- Parser.RegistParser(new SceneNextLinkParser());
- }
- /**<summary>场景ID<summary/> */
- public int id;
- /**<summary>场景名称<summary/> */
- public string name;
- /**<summary>战斗地图ID<summary/> */
- public int zone_template_id;
- /**<summary>重置时间<summary/> */
- public string reset_time;
- /**<summary>复活地图ID<summary/> */
- public int revival_map_id;
- /**<summary>场景小地图<summary/> */
- public string small_map;
- /**<summary>场景连接<summary/> */
- public ArrayList<SceneNextLink> connect;
- /**<summary>人数软上限<summary/> */
- public int full_players;
- /**<summary>人数硬上限<summary/> */
- public int max_players;
- /**<summary>开放策略<summary/> */
- public int open_rule;
- /**<summary>开放日<summary/> */
- public string open_time;
- /**<summary>结束后倒计时时间<summary/> */
- public int countdown_time_sec;
- /**<summary>是否为公共地图<summary/> */
- public bool is_public;
- /// <summary>
- /// 是否允许主动切线.
- /// </summary>
- public int is_changeline;
- public override string ToString()
- {
- return string.Format("{0}({1})", name, id);
- }
- }
- public class SceneNextLink : ISerializable
- {
- public string from_flag_name;
- public Vector3 from_flag_pos;
- public int to_map_id;
- public string to_flag_name;
- public Vector3 to_flag_pos;
- public override string ToString()
- {
- return $"from_flag_name={from_flag_name} to_map_id={to_map_id} to_flag_name={to_flag_name}";
- }
- }
- public class SceneNextLinkParser : ListParser<SceneNextLink>
- {
- public SceneNextLinkParser() : base(';') { }
- // flagName, sceneID, flagName ; flagName, sceneID, flagName
- public override SceneNextLink StringToElement(string text)
- {
- try
- {
- var kvc = text.Split(',');
- var ret = new SceneNextLink();
- ret.from_flag_name = kvc[0];
- ret.to_map_id = int.Parse(kvc[1]);
- ret.to_flag_name = kvc[2];
- return ret;
- }
- catch (Exception err)
- {
- throw new Exception("Parse SceneNextLink Error : " + text + " : " + err.Message, err);
- }
- }
- }
- }
|