本文整理汇总了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;
}
示例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;
}
}
}
示例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;
}