当前位置: 首页>>代码示例>>C#>>正文


C# Item.SetLastMoved方法代码示例

本文整理汇总了C#中Server.Item.SetLastMoved方法的典型用法代码示例。如果您正苦于以下问题:C# Item.SetLastMoved方法的具体用法?C# Item.SetLastMoved怎么用?C# Item.SetLastMoved使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Server.Item的用法示例。


在下文中一共展示了Item.SetLastMoved方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: AddItemFor

		public void AddItemFor(Item item, Mobile mob) 
		{
            if (item == null || mob == null)
                return;

			DropItem(item);
			item.SetLastMoved();
			
			if (m_Instancing == null) 
				m_Instancing = new Dictionary<Item, Mobile>();
				
			m_Instancing[item] = mob;
		}
开发者ID:Crome696,项目名称:ServUO,代码行数:13,代码来源:ExperimentalRoomChest.cs

示例2: ReleaseSecure

		public void ReleaseSecure( Mobile m, Item item )
		{
			if ( m_Secures == null || !IsOwner( m ) || item is StrongBox || !IsActive )
				return;

			for ( int i = 0; i < m_Secures.Count; ++i )
			{
				SecureInfo info = (SecureInfo)m_Secures[i];

				if ( info.Item == item && HasSecureAccess( m, info.Level ) )
				{
					item.IsLockedDown = false;
					item.IsSecure = false;

					#region Mondain's Legacy
					if ( item is BaseAddonContainer )
						item.Movable = false;
					else
					#endregion

					item.Movable = true;
					item.SetLastMoved();
					item.PublicOverheadMessage( Server.Network.MessageType.Label, 0x3B2, 501656 );//[no longer secure]
					m_Secures.RemoveAt( i );
					return;
				}
			}

			m.SendLocalizedMessage( 501717 );//This isn't secure...
		}
开发者ID:ITLongwell,项目名称:mondains-legacy,代码行数:30,代码来源:BaseHouse.cs

示例3: SetLockdown

		private void SetLockdown( Item i, bool locked, bool checkContains )
		{
			if ( m_LockDowns == null )
				return;

			#region Mondain's Legacy
			if ( i is BaseAddonContainer )
				i.Movable = false;
			else
			#endregion

			i.Movable = !locked;
			i.IsLockedDown = locked;

			if ( locked )
			{
				if ( i is VendorRentalContract )
				{
					if ( !VendorRentalContracts.Contains( i ) )
						VendorRentalContracts.Add( i );
				}
				else
				{
					if ( !checkContains || !m_LockDowns.Contains( i ) )
						m_LockDowns.Add( i );
				}
			}
			else
			{
				VendorRentalContracts.Remove( i );
				m_LockDowns.Remove( i );
			}

			if ( !locked )
				i.SetLastMoved();

			if ( (i is Container) && (!locked || !(i is BaseBoard)) )
			{
				foreach ( Item c in i.Items )
					SetLockdown( c, locked, checkContains );
			}
		}
开发者ID:ITLongwell,项目名称:mondains-legacy,代码行数:42,代码来源:BaseHouse.cs

示例4: SetLockdown

		private void SetLockdown( Item i, bool locked, bool checkContains )
		{
			if ( m_LockDowns == null )
				return;

			i.Movable = !locked;
			i.IsLockedDown = locked;

			if ( locked )
			{
				if ( i is VendorRentalContract )
				{
					if ( !VendorRentalContracts.Contains( i ) )
						VendorRentalContracts.Add( i );
				}
				else
				{
					if ( !checkContains || !m_LockDowns.Contains( i ) )
						m_LockDowns.Add( i );
				}
			}
			else
			{
				VendorRentalContracts.Remove( i );
				m_LockDowns.Remove( i );
			}

			if ( !locked )
				i.SetLastMoved();

            if ((i is Container) && (!locked || !(i is BaseBoard || i is Aquarium || i is FishBowl)))
            {
				foreach ( Item c in i.Items )
					SetLockdown( c, locked, checkContains );
			}
		}
开发者ID:greeduomacro,项目名称:vivre-uo,代码行数:36,代码来源:BaseHouse.cs

示例5: ReleaseSecure

        public void ReleaseSecure( Mobile m, Item item )
        {
            if ( m_Secures == null || item is StrongBox || !IsActive )
                return;

            for ( int i = 0; i < m_Secures.Count; ++i )
            {
                SecureInfo info = (SecureInfo)m_Secures[i];

                if ( info.Item == item )
                {
                    item.IsLockedDown = false;
                    item.IsSecure = false;
                    item.Movable = true;
                    item.SetLastMoved();
                    item.PublicOverheadMessage( Server.Network.MessageType.Label, 0x3B2, true, "no longer secure" );//no longer secure
                    m_Secures.RemoveAt( i );

                    //disable protection
                    if ( this.LockDownCount == 0 && this.SecureCount == 0 )
                    {
                        DisableProtection( m );
                    }
                    return;
                }
            }

            m.SendAsciiMessage( "This isn't secure..." );//This isn't secure...
        }
开发者ID:Ravenwolfe,项目名称:Origins,代码行数:29,代码来源:BaseHouse.cs

示例6: Lift

        public virtual void Lift( Item item, int amount, out bool rejected, out LRReason reject )
        {
            rejected = true;
            reject = LRReason.Inspecific;

            if ( item == null )
                return;

            Mobile from = this;
            NetState state = m_NetState;

            if ( from.AccessLevel >= AccessLevel.GameMaster || Core.Now >= from.NextActionTime )
            {
                if ( from.CheckAlive() )
                {
                    from.DisruptiveAction();

                    if ( from.Holding != null )
                    {
                        reject = LRReason.AreHolding;
                    }
                    else if ( from.AccessLevel < AccessLevel.GameMaster && !from.InRange( item.GetWorldLocation(), 2 ) )
                    {
                        reject = LRReason.OutOfRange;
                    }
                    else if ( !from.CanSee( item ) || !from.InLOS( item ) )
                    {
                        reject = LRReason.OutOfSight;
                    }
                    else if ( !item.VerifyMove( from ) )
                    {
                        reject = LRReason.CannotLift;
                    }
                    else if ( item.InSecureTrade || !item.IsAccessibleTo( from ) )
                    {
                        reject = LRReason.CannotLift;
                    }
                    else if ( !item.CheckLift( from, item ) )
                    {
                        reject = LRReason.Inspecific;
                    }
                    else
                    {
                        object root = item.RootParent;

                        if ( root != null && root is Mobile && !((Mobile)root).CheckNonlocalLift( from, item ) )
                        {
                            reject = LRReason.TryToSteal;
                        }
                        else if ( !from.OnDragLift( item ) || !item.OnDragLift( from ) )
                        {
                            reject = LRReason.Inspecific;
                        }
                        else if ( !from.CheckAlive() )
                        {
                            reject = LRReason.Inspecific;
                        }
                        else
                        {
                            item.SetLastMoved();

                            if ( amount == 0 )
                                amount = 1;

                            if ( amount > item.Amount )
                                amount = item.Amount;

                            int oldAmount = item.Amount;
                            item.Amount = amount;

                            if ( amount < oldAmount )
                                item.Dupe( oldAmount - amount );

                            Map map = from.Map;

                            if ( Mobile.DragEffects && map != null && (root == null || root is Item))
                            {
                                IPooledEnumerable eable = map.GetClientsInRange( from.Location );
                                Packet p = null;

                                foreach ( NetState ns in eable )
                                {
                                    if ( ns.Mobile != from && ns.Mobile.CanSee( from ) )
                                    {
                                        if ( p == null )
                                        {
                                            IEntity src;

                                            if ( root == null )
                                                src = new Entity( Serial.Zero, item.Location, map );
                                            else
                                                src = new Entity( ((Item)root).Serial, ((Item)root).Location, map );

                                            p = new DragEffect( src, from, item.ItemID, item.Hue, amount );
                                        }

                                        ns.Send( p );
                                    }
                                }

//.........这里部分代码省略.........
开发者ID:BackupTheBerlios,项目名称:sunuo-svn,代码行数:101,代码来源:Mobile.cs

示例7: Lift

        public void Lift( Item item, int amount, out bool rejected, out LRReason reject )
        {
            rejected = true;
            reject = LRReason.Inspecific;

            if ( item == null )
                return;

            Mobile from = this;
            GameClient state = m_Client;

            if ( from.AccessLevel >= AccessLevel.GameMaster || DateTime.Now >= from.NextActionTime )
            {
                if ( from.CheckAlive() )
                {
                    from.DisruptiveAction();

                    if ( from.Holding != null )
                    {
                        reject = LRReason.AreHolding;
                    }
                    else if ( from.AccessLevel < AccessLevel.GameMaster && !from.InRange( item.GetWorldLocation(), 2 ) )
                    {
                        reject = LRReason.OutOfRange;
                    }
                    else if ( !from.CanSee( item ) || !from.InLOS( item ) )
                    {
                        reject = LRReason.OutOfSight;
                    }
                    else if ( !item.VerifyMove( from ) )
                    {
                        reject = LRReason.CannotLift;
                    }
                    else if ( !item.IsAccessibleTo( from ) )
                    {
                        reject = LRReason.CannotLift;
                    }
                    else if ( item.CheckLift( from, item, ref reject ) )
                    {
                        object root = item.RootParent;

                        if ( root != null && root is Mobile && !( (Mobile) root ).CheckNonlocalLift( from, item ) )
                        {
                            reject = LRReason.TryToSteal;
                        }
                        else if ( !from.OnDragLift( item ) || !item.OnDragLift( from ) )
                        {
                            reject = LRReason.Inspecific;
                        }
                        else if ( !from.CheckAlive() )
                        {
                            reject = LRReason.Inspecific;
                        }
                        else
                        {
                            if ( item.Parent != null && item.Parent is Container )
                                ( (Container) item.Parent ).FreePosition( item.GridLocation );

                            item.SetLastMoved();

                            if ( item.Spawner != null )
                            {
                                item.Spawner.Remove( item );
                                item.Spawner = null;
                            }

                            if ( amount == 0 )
                                amount = 1;

                            if ( amount > item.Amount )
                                amount = item.Amount;

                            int oldAmount = item.Amount;
                            //item.Amount = amount; //Set in LiftItemDupe

                            if ( amount < oldAmount )
                                LiftItemDupe( item, amount );

                            InvokeItemLifted( new ItemLiftedEventArgs( item, amount ) );

                            item.RecordBounce();
                            item.OnItemLifted( from, item );
                            item.Internalize();

                            from.Holding = item;

                            from.NextActionTime = DateTime.Now + TimeSpan.FromSeconds( 0.5 );

                            Point3D fixLoc = item.Location;
                            Map fixMap = item.Map;
                            bool shouldFix = ( item.Parent == null );

                            if ( fixMap != null && shouldFix )
                                fixMap.FixColumn( fixLoc.X, fixLoc.Y );

                            reject = LRReason.Inspecific;
                            rejected = false;
                        }
                    }
                }
//.........这里部分代码省略.........
开发者ID:Ravenwolfe,项目名称:xrunuo,代码行数:101,代码来源:Mobile.cs

示例8: ReleaseSecure

		public void ReleaseSecure(Item item)
		{
			if (m_Secures == null)
				return;

			for (int i = 0; i < m_Secures.Count; ++i)
			{
				SecureInfo info = (SecureInfo)m_Secures[i];

				if (info.Item == item)
				{
					item.IsLockedDown = false;
					item.IsSecure = false;
					item.Movable = true;
					item.SetLastMoved();
					m_Secures.RemoveAt(i);
					return;
				}
			}
		}
开发者ID:zerodowned,项目名称:angelisland,代码行数:20,代码来源:BaseHouse.cs

示例9: SetLockdown

		private void SetLockdown(Item i, bool locked, bool checkContains)
		{
			if (m_LockDowns == null)
				return;

			i.Movable = !locked;
			i.IsLockedDown = locked;

			if (locked)
			{
				if (!checkContains || !m_LockDowns.Contains(i))
					if (i is Container && !IsExceptionContainer(i) /*&& !m_Public*/ )
						m_LockBoxCount += 1;

				m_LockDowns.Add(i);
			}
			else
			{
				if (i is Container && !IsExceptionContainer(i) /*&& !m_Public*/ )
					m_LockBoxCount -= 1;

				m_LockDowns.Remove(i);
			}

			if (!locked)
				i.SetLastMoved();


		}
开发者ID:zerodowned,项目名称:angelisland,代码行数:29,代码来源:BaseHouse.cs


注:本文中的Server.Item.SetLastMoved方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。