private ISoul _PropertyBind(long soul_id, int property_id, TypeObject type_object) { var soul = _Bind(type_object.Instance, type_object.Type, false, 0); PackagePropertySoul package = new PackagePropertySoul(); package.OwnerId = soul_id; package.PropertyId = property_id; package.EntiryId = soul.Id; _Queue.Push(ServerToClientOpCode.AddPropertySoul, package.ToBuffer(_Serializer)); return(soul); }
private void _PropertyUnbind(long soul_id, int property_id, long property_soul_id) { PackagePropertySoul package = new PackagePropertySoul(); package.OwnerId = soul_id; package.PropertyId = property_id; package.EntiryId = property_soul_id; _Queue.Push(ServerToClientOpCode.RemovePropertySoul, package.ToBuffer(_Serializer)); SoulProxy soul; _Souls.TryGetValue(property_soul_id, out soul); _Unbind(soul); }