summaryrefslogtreecommitdiff
path: root/Client/Assets/Scripts/XMainClient/KKSG/GMCmdArg.cs
blob: e8ecad0a49ee4861ecc4d1aa51b5792a618d7b84 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Xml.Serialization;
using ProtoBuf;

namespace KKSG
{
	[ProtoContract(Name = "GMCmdArg")]
	[Serializable]
	public class GMCmdArg : IExtensible
	{
		[ProtoMember(1, IsRequired = false, Name = "cmd", DataFormat = DataFormat.Default)]
		public string cmd
		{
			get
			{
				return this._cmd ?? "";
			}
			set
			{
				this._cmd = value;
			}
		}

		[XmlIgnore]
		[Browsable(false)]
		public bool cmdSpecified
		{
			get
			{
				return this._cmd != null;
			}
			set
			{
				bool flag = value == (this._cmd == null);
				if (flag)
				{
					this._cmd = (value ? this.cmd : null);
				}
			}
		}

		[ProtoMember(2, Name = "args", DataFormat = DataFormat.Default)]
		public List<string> args
		{
			get
			{
				return this._args;
			}
		}

		private string _cmd;

		private readonly List<string> _args = new List<string>();

		private IExtension extensionObject;

		private bool ShouldSerializecmd()
		{
			return this.cmdSpecified;
		}

		private void Resetcmd()
		{
			this.cmdSpecified = false;
		}

		IExtension IExtensible.GetExtensionObject(bool createIfMissing)
		{
			return Extensible.GetExtensionObject(ref this.extensionObject, createIfMissing);
		}
	}
}