diff --git a/Engine/CLEngine.Core/CLEngine.Core.csproj b/Engine/CLEngine.Core/CLEngine.Core.csproj
index 997f33224a7143acff0c7de2f16a08e550b5f6b3..8dc420f7afe10001c31a10c8a24c43b6361a0ba1 100644
--- a/Engine/CLEngine.Core/CLEngine.Core.csproj
+++ b/Engine/CLEngine.Core/CLEngine.Core.csproj
@@ -294,6 +294,7 @@
+
diff --git a/Engine/CLEngine.Core/framework/ItemObject.cs b/Engine/CLEngine.Core/framework/ItemObject.cs
new file mode 100644
index 0000000000000000000000000000000000000000..497fab66a88eecfb764d1b94abfdf66e63bf868f
--- /dev/null
+++ b/Engine/CLEngine.Core/framework/ItemObject.cs
@@ -0,0 +1,164 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Runtime.Serialization;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace CLEngine.Core.framework
+{
+ public class ItemEventArgs : EventArgs
+ {
+ int userId;
+ public ItemEventArgs(int user)
+ {
+ userId = user;
+ }
+ }
+ public class ItemObject
+ {
+ ///
+ /// 使用事件
+ ///
+ public EventHandler Use;
+ ///
+ /// 获取事件
+ ///
+ public EventHandler Get;
+ ///
+ /// 丢弃事件
+ ///
+ public EventHandler Throw;
+ ///
+ /// 物品数量改变事件
+ ///
+ public EventHandler NumberChange;
+
+ [DataMember] private string _iconPath;
+ [DataMember] private string _name;
+ [DataMember] private string _description;
+ [DataMember] private string _type;
+ [DataMember] private int _userId;
+ [DataMember] private int _id;
+ [DataMember] private int _number;
+ [DataMember] private int _maxNumber;
+ [DataMember] private int _hp;//耐久
+ [DataMember] private int _maxHp;//最大耐久
+ //Add开头的为附加属性
+ [DataMember] private int _addMoveSpeed;
+ [DataMember] private int _addAtkSpeed;
+ [DataMember] private int _addAtkRange;
+ [DataMember] private int _addHeroHp;
+ [DataMember] private int _addHeroMp;
+ [DataMember] private int _addReturnHp;//回血
+ [DataMember] private int _addReturnMp;//回蓝
+ ///
+ /// 物品类型
+ ///
+ public string Type { get { return _type; } set { _type = value; } }
+ ///
+ /// 物品描述
+ ///
+ public string Description { get { return _description; } set { _description = value; } }
+ ///
+ /// 物品名称
+ ///
+ public string Name { get { return _name; } set { _name = value; } }
+ ///
+ /// 物品图标路径
+ ///
+ public string IconPath { get { return _iconPath; } set { _iconPath = value; } }
+ ///
+ /// 持有者id
+ ///
+ public int userId { get { return _userId; } set { _userId = value; } }
+ ///
+ /// 物品id
+ ///
+ public int Id { get { return _id; } internal set { _id = value; } }
+ ///
+ /// 数量
+ ///
+ public int Number { get { return _number; } set { _number = value; } }
+ ///
+ /// 最大堆叠数量
+ ///
+ public int MaxNumber { get { return _maxNumber; } set { _maxNumber = value; } }
+ ///
+ /// 耐久
+ ///
+ public int Hp { get { return _hp; } set { _hp = value; } }
+ ///
+ /// 最大耐久
+ ///
+ public int MaxHp { get { return _maxHp; } set { _maxHp = value; } }
+ ///
+ /// 附加属性:移动速度
+ ///
+ public int AddMoveSpeed { get { return _addMoveSpeed; } set { _addMoveSpeed = value; } }
+ ///
+ /// 附加属性:攻击速度
+ ///
+ public int AddAtkSpeed { get { return _addAtkSpeed; } set { _addAtkSpeed = value; } }
+ ///
+ /// 附加属性:攻击范围
+ ///
+ public int AddAtkRange { get { return _addAtkRange; } set { _addAtkRange = value; } }
+ ///
+ /// 附加属性:角色生命值
+ ///
+ public int AddHeroHp { get { return _addHeroHp; } set { _addHeroHp = value; } }
+ ///
+ /// 附加属性:角色魔法值
+ ///
+ public int AddHeroMp { get { return _addHeroMp; } set { _addHeroMp = value; } }
+ ///
+ /// 附加属性:角色生命值恢复
+ ///
+ public int AddReturnHp { get { return _addReturnHp; } set { _addReturnHp = value; } }
+ ///
+ /// 附加属性:角色魔法值恢复
+ ///
+ public int AddReturnMp { get { return _addReturnMp; } set { _addReturnMp = value; } }
+ ///
+ /// 使用物品
+ ///
+ public void UseItem()
+ {
+ if (Use != null)
+ {
+ Use.Invoke(this, new ItemEventArgs(userId));
+ }
+ }
+ ///
+ /// 获取物品
+ ///
+ public void getItem()
+ {
+ if (Get != null)
+ {
+ Get.Invoke(this, new ItemEventArgs(userId));
+ }
+ }
+ ///
+ /// 丢掉物品
+ ///
+ public void ThrowItem()
+ {
+ if (Throw != null)
+ {
+ Throw.Invoke(this, new ItemEventArgs(userId));
+ }
+ }
+ ///
+ /// 物品数量改变
+ ///
+ public void ItemNumberChange()
+ {
+ if (NumberChange != null)
+ {
+ NumberChange.Invoke(this, new ItemEventArgs(userId));
+ }
+ }
+ }
+}
diff --git a/ThirdParty/MonoGame/IDE/VisualStudioForMac/Properties/AddinInfo.cs b/ThirdParty/MonoGame/IDE/VisualStudioForMac/Properties/AddinInfo.cs
index be571ee71172ad885850143b85531744ad44e62f..3ea3afb12764b6612432c54f6fbbf61e2d1a8dd2 100644
--- a/ThirdParty/MonoGame/IDE/VisualStudioForMac/Properties/AddinInfo.cs
+++ b/ThirdParty/MonoGame/IDE/VisualStudioForMac/Properties/AddinInfo.cs
@@ -1,7 +1,7 @@
using System;
using Mono.Addins;
using Mono.Addins.Description;
-[assembly: Addin("MonoGame_IDE_VisualStudioForMac",Namespace = "MonoDevelop",Version = "0.0.0.0")]
+[assembly: Addin("MonoGame_IDE_VisualStudioForMac",Namespace = "MonoDevelop",Version = "3.7.0.0")]
[assembly: AddinName("MonoGame Extension")]
[assembly: AddinCategory("Game Development")]
[assembly: AddinDescription("VisualStudio for Mac extension for MonoGame")]