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


C# Thing.OccupiedRect方法代码示例

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


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

示例1: Print

 public override void Print(SectionLayer layer, Thing parent)
 {
     var occupiedRect = parent.OccupiedRect();
     foreach (var current in occupiedRect)
     {
         var center = current.ToVector3ShiftedWithAltitude( AltitudeLayer.WorldDataOverlay );
         Printer_Plane.PrintPlane( layer, center, new Vector2( 1f, 1f ), LinkedDrawMatFrom( parent, current ), 0f );
     }
 }
开发者ID:isistoy,项目名称:DevLib,代码行数:9,代码来源:GasNetGraphics.cs

示例2: TrySpawnWeaponOnRack

        public static void TrySpawnWeaponOnRack(Thing rack)
        {
            foreach (IntVec3 cell in rack.OccupiedRect())
            {
                if (Rand.Value < 0.33f)
                {
                    float weaponSelector = Rand.Value;
                    ThingDef thingDef = ThingDefOf.Gun_Pistol;
                    const float weaponsRatio = 1f / 7f;
                    if (weaponSelector < weaponsRatio * 1f)
                    {
                        thingDef = ThingDef.Named("Gun_PumpShotgun");
                    }
                    else if (weaponSelector < weaponsRatio * 2f)
                    {
                        thingDef = ThingDef.Named("Gun_AssaultRifle");
                    }
                    else if (weaponSelector < weaponsRatio * 3f)
                    {
                        thingDef = ThingDef.Named("Gun_SniperRifle");
                    }
                    else if (weaponSelector < weaponsRatio * 4f)
                    {
                        thingDef = ThingDef.Named("Gun_IncendiaryLauncher");
                    }
                    else if (weaponSelector < weaponsRatio * 5f)
                    {
                        thingDef = ThingDef.Named("Gun_LMG");
                    }
                    else if (weaponSelector < weaponsRatio * 6f)
                    {
                        thingDef = ThingDef.Named("Bullet_ChargeRifle");
                    }
                    else
                    {
                        thingDef = ThingDefOf.Gun_Pistol;
                    }

                    Thing weapon = ThingMaker.MakeThing(thingDef);
                    CompQuality qualityComp = weapon.TryGetComp<CompQuality>();
                    if (qualityComp != null)
                    {
                        QualityCategory quality = (QualityCategory)Rand.RangeInclusive((int)QualityCategory.Normal, (int)QualityCategory.Superior);
                        qualityComp.SetQuality(quality, ArtGenerationContext.Outsider);
                    }
                    GenSpawn.Spawn(weapon, cell);
                }
            }
        }
开发者ID:Rikiki123456789,项目名称:Rimworld,代码行数:49,代码来源:OG_ZoneSmallRoom.cs

示例3: TrySpawnWeaponOnRack

        public static void TrySpawnWeaponOnRack(Thing rack)
        {
            Building_Storage storage = rack as Building_Storage;
            QualityRange qualityRange = new QualityRange(QualityCategory.Good, QualityCategory.Legendary);
            storage.settings.filter.AllowedQualityLevels = qualityRange;
            FloatRange hitPointsRange = new FloatRange(0.8f, 1f);
            storage.settings.filter.AllowedHitPointsPercents = hitPointsRange;
            foreach (IntVec3 cell in rack.OccupiedRect())
            {
                if (Rand.Value < 0.33f)
                {
                    float weaponSelector = Rand.Value;
                    ThingDef thingDef = ThingDefOf.Gun_Pistol;
                    const float weaponsRatio = 1f / 7f;
                    if (weaponSelector < weaponsRatio * 1f)
                    {
                        thingDef = ThingDef.Named("Gun_PumpShotgun");
                    }
                    else if (weaponSelector < weaponsRatio * 2f)
                    {
                        thingDef = ThingDef.Named("Gun_AssaultRifle");
                    }
                    else if (weaponSelector < weaponsRatio * 3f)
                    {
                        thingDef = ThingDef.Named("Gun_SniperRifle");
                    }
                    else if (weaponSelector < weaponsRatio * 4f)
                    {
                        thingDef = ThingDef.Named("Gun_IncendiaryLauncher");
                    }
                    else if (weaponSelector < weaponsRatio * 5f)
                    {
                        thingDef = ThingDef.Named("Gun_LMG");
                    }
                    else if (weaponSelector < weaponsRatio * 6f)
                    {
                        thingDef = ThingDef.Named("Gun_ChargeRifle");
                    }
                    else
                    {
                        thingDef = ThingDefOf.Gun_Pistol;
                    }

                    Thing weapon = ThingMaker.MakeThing(thingDef);
                    CompQuality qualityComp = weapon.TryGetComp<CompQuality>();
                    if (qualityComp != null)
                    {
                        QualityCategory quality = (QualityCategory)Rand.RangeInclusive((int)QualityCategory.Normal, (int)QualityCategory.Excellent);
                        qualityComp.SetQuality(quality, ArtGenerationContext.Outsider);
                    }
                    GenSpawn.Spawn(weapon, cell);
                }
            }
        }
开发者ID:Rikiki123456789,项目名称:Rimworld,代码行数:54,代码来源:OG_Common.cs


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