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


C# Item.UpdateRadius方法代码示例

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


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

示例1: Create

 public static Item Create(ConsumableType type,int r,int c)
 {
     Item i = null;
     if(M.tile.BoundsCheck(r,c)){
         if(M.tile[r,c].inv == null){
             i = new Item(proto[type],r,c);
             if(i.light_radius > 0){
                 i.UpdateRadius(0,i.light_radius);
             }
             M.tile[r,c].inv = i;
             if(type == ConsumableType.BLAST_FUNGUS){
                 i.ignored = true;
             }
         }
         else{
             if(M.tile[r,c].inv.type == type){
                 M.tile[r,c].inv.quantity++;
                 return M.tile[r,c].inv;
             }
         }
     }
     else{
         i = new Item(proto[type],r,c);
     }
     return i;
 }
开发者ID:ptrefall,项目名称:ForaysIntoNorrendrin,代码行数:26,代码来源:Item.cs

示例2: GetItem

 public bool GetItem(Item item)
 {
     if(item.type == ConsumableType.BLAST_FUNGUS && (IsWater() || Is(FeatureType.SLIME))){
         B.Add("The blast fungus is doused. ",this);
         return true;
     }
     if(inv == null && !Is(TileType.BLAST_FUNGUS,TileType.CHEST,TileType.STAIRS)){
         if((IsBurning() || Is(TileType.FIREPIT) || (actor() != null && actor().IsBurning())) && (item.NameOfItemType() == "scroll" || item.type == ConsumableType.BANDAGES)){
             B.Add(item.TheName(true) + " burns up! ",this); //should there be a check for water or slime here?
             item.CheckForMimic();
             if(Is(TileType.FIREPIT) || (actor() != null && actor().IsBurning())){
                 AddFeature(FeatureType.FIRE);
             }
             if(actor() != null){
                 actor().ApplyBurning();
             }
         }
         else{
             item.row = row;
             item.col = col;
             if(item.light_radius > 0){
                 item.UpdateRadius(0,item.light_radius);
             }
             inv = item;
         }
         return true;
     }
     else{
         if(!Is(TileType.BLAST_FUNGUS,TileType.CHEST,TileType.STAIRS) && inv.type == item.type && !inv.do_not_stack && !item.do_not_stack){
             inv.quantity += item.quantity;
             return true;
         }
         else{
             foreach(Tile t in M.ReachableTilesByDistance(row,col,false,TileType.DOOR_C,TileType.RUBBLE,TileType.STONE_SLAB)){
                 if(item.type == ConsumableType.BLAST_FUNGUS && (t.IsWater() || t.Is(FeatureType.SLIME))){
                     B.Add("The blast fungus is doused. ",t);
                     return true;
                 }
                 if(t.passable && t.inv == null && !t.Is(TileType.BLAST_FUNGUS,TileType.CHEST,TileType.STAIRS)){
                     if((t.IsBurning() || t.Is(TileType.FIREPIT) || (t.actor() != null && t.actor().IsBurning())) && (item.NameOfItemType() == "scroll" || item.type == ConsumableType.BANDAGES)){
                         B.Add(item.TheName(true) + " burns up! ",t);
                         item.CheckForMimic();
                         if(t.Is(TileType.FIREPIT) || (t.actor() != null && t.actor().IsBurning())){
                             t.AddFeature(FeatureType.FIRE);
                         }
                         if(t.actor() != null){
                             t.actor().ApplyBurning();
                         }
                     }
                     else{
                         item.row = t.row;
                         item.col = t.col;
                         if(item.light_radius > 0){
                             item.UpdateRadius(0,item.light_radius);
                         }
                         t.inv = item;
                     }
                     return true;
                 }
             }
             return false;
         }
     }
 }
开发者ID:ptrefall,项目名称:ForaysIntoNorrendrin,代码行数:64,代码来源:Tile.cs

示例3: GetItem

		public bool GetItem(Item item){
			if(inv == null){
				item.row = row;
				item.col = col;
				if(item.light_radius > 0){
					item.UpdateRadius(0,item.light_radius);
				}
				inv = item;
				return true;
			}
			else{
				if(inv.itype == item.itype && !inv.do_not_stack && !item.do_not_stack){
					inv.quantity += item.quantity;
					return true;
				}
				else{
					for(int i=1;i<COLS;++i){
						List<Tile> tiles = TilesAtDistance(i);
						while(tiles.Count > 0){
							Tile t = tiles.Random();
							if(t.passable && t.inv == null){
								item.row = t.row;
								item.col = t.col;
								if(item.light_radius > 0){
									item.UpdateRadius(0,item.light_radius);
								}
								t.inv = item;
								return true;
							}
							tiles.Remove(t);
						}
					}
				}
			}
			return false;
		}
开发者ID:tommyettinger,项目名称:ForaysIntoSaltarelle,代码行数:36,代码来源:Tile.cs


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