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


C# Pawn类代码示例

本文整理汇总了C#中Pawn的典型用法代码示例。如果您正苦于以下问题:C# Pawn类的具体用法?C# Pawn怎么用?C# Pawn使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


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

示例1: CurrentStateInternal

 protected override ThoughtState CurrentStateInternal( Pawn p )
 {
     return(
         ( p.IsPrisonerOfColony )&&
         ( !p.IsSlaveOfColony() )
     );
 }
开发者ID:ForsakenShell,项目名称:Es-Small-Mods,代码行数:7,代码来源:ThoughtWorker_Imprisoned.cs

示例2: PawnDestroyed

 public static void PawnDestroyed(Pawn pawn)
 {
     if( OnPawnDestroyed != null )
     {
         OnPawnDestroyed(pawn);
     }
 }
开发者ID:frilla,项目名称:ginasmtest,代码行数:7,代码来源:GameEventManager.cs

示例3: JobOnThing

        public override Job JobOnThing( Pawn pawn, Thing t )
        {
            if( !pawn.CanReserveAndReach( ( TargetInfo )t.Position, PathEndMode.Touch, DangerUtility.NormalMaxDanger( pawn ), 1 ) )
            {
                return (Job) null;
            }

            var hopperSgp = t as ISlotGroupParent;
            if( hopperSgp == null )
            {
                return (Job) null;
            }

            var resource = HopperGetCurrentResource( t.Position, hopperSgp );
            if(
                ( resource == null )||
                ( resource.stackCount <= ( resource.def.stackLimit / 2 ) )
            )
            {
                return WorkGiver_FillHopper.HopperFillJob( pawn, hopperSgp, resource );
            }

            JobFailReason.Is( "AlreadyFilledLower".Translate() );
            return (Job) null;
        }
开发者ID:Kiggerbare,项目名称:CommunityCoreLibrary,代码行数:25,代码来源:WorkGiver_FillHopper.cs

示例4: AttackStateEnd

 public static void AttackStateEnd(Pawn pawn)
 {
     if( OnAttackStateEnd != null )
     {
         OnAttackStateEnd(pawn);
     }
 }
开发者ID:frilla,项目名称:ginasmtest,代码行数:7,代码来源:GameEventManager.cs

示例5: CurrentEnemyUnset

 public static void CurrentEnemyUnset(Pawn pawn)
 {
     if( OnCurrentEnemyUnset != null )
     {
         OnCurrentEnemyUnset(pawn);
     }
 }
开发者ID:frilla,项目名称:ginasmtest,代码行数:7,代码来源:GameEventManager.cs

示例6: FindCryptosleepCasketFor

        // logic for accepting pawn by bodysize
        // RimWorld.Building_CryptosleepCasket
        public static new Building_CryptosleepCasket FindCryptosleepCasketFor(Pawn p, Pawn traveler)
        {
            try {
                IEnumerable<ThingDef> enumerable = from def in DefDatabase<ThingDef>.AllDefs
                                                   where typeof(Fluffy.Building_CryptosleepCasket).IsAssignableFrom(def.thingClass)
                                                   select def;

                foreach (ThingDef current in enumerable)
                {
                    Predicate<Thing> validator = (Thing x) => ((Building_CryptosleepCasket)x).GetContainer().Count == 0 && ((Building_CryptosleepCasket)x).TryGetComp<CompAnimalCrypto>().props.maxSizeAllowance >= traveler.BodySize;
                    Building_CryptosleepCasket building_CryptosleepCasket = (Building_CryptosleepCasket)GenClosest.ClosestThingReachable(p.Position, ThingRequest.ForDef(current), PathEndMode.InteractionCell, TraverseParms.For(traveler, Danger.Deadly, TraverseMode.ByPawn, false), 9999f, validator, null, -1, false);

                    if (building_CryptosleepCasket != null)
                    {
                        return building_CryptosleepCasket;
                    }
                }
                return null;
            }
            finally
            {
            #if DEBUG
                Log.Message("Something odd happened.");
            #endif
            }
        }
开发者ID:FluffierThanThou,项目名称:RW_NoColonistLeftBehind,代码行数:28,代码来源:Ship_CryptosleepCasket.cs

示例7: ModifycaravanGroup

        // disable initial readyness for trade and remove all but one muffalo, transferring all goods there
        public void ModifycaravanGroup(ref List<Pawn> pawns)
        {
            var muffaloChosen = false;
            var firstMuffalo = new Pawn();
            var removeList = new List<Pawn>();
            foreach (var pawn in pawns)
            {
                // disable initial readyness to trade
                pawn.mindState.wantsToTradeWithColony = false;

                // transfer all items from other muffaloes to the main one
                if (pawn.kindDef == PawnKindDef.Named("PackMuffalo"))
                {
                    if (!muffaloChosen)
                    {
                        firstMuffalo = pawn;
                        muffaloChosen = true;
                    }
                    else
                    {
                        for (var i = 0; i < pawn.inventory.container.Count; i++)
                        {
                            firstMuffalo.inventory.container.TryAdd(pawn.inventory.container[i]);
                        }
                        pawn.Destroy();
                        removeList.Add(pawn);
                    }
                }
            }
            pawns = new List<Pawn>(pawns.Except(removeList));
        }
开发者ID:RWA-Team,项目名称:RimworldAscension,代码行数:32,代码来源:RA_IncidentWorker_TraderCaravanArrival.cs

示例8: ActualUse

 public override bool ActualUse(Pawn target)
 {
     foreach (AmmoBoxPicker abp in ammoList) {
         target.GetComponent<InventoryManager> ().AddAmmo (abp.ammo, abp.amount);
     }
     return base.ActualUse(target);
 }
开发者ID:kostya05,项目名称:TPS-Proto-Unity,代码行数:7,代码来源:AmmoPicker.cs

示例9: FindMADFor

        public static Building_MAD FindMADFor(Pawn sleeper, Pawn traveler, bool sleeperWillBePrisoner, bool checkSocialProperness, bool forceCheckMedBed = false)
        {
            Predicate<Thing> MADValidator = delegate(Thing t)
            {
                if (!traveler.CanReserveAndReach(t, PathEndMode.OnCell, Danger.Some, 1))
                {
                    return false;
                }

                Building_MAD Building_MAD3 = (Building_MAD)t;

                if (Building_MAD3.HasAnyContents)
                {
                    return false;
                }
                else
                {
                    if (Building_MAD3.Faction != traveler.Faction)
                    {
                        return false;
                    }
                }
                return (!Building_MAD3.IsForbidden(traveler) && !Building_MAD3.IsBurning());
            };
            Predicate<Thing> validator = (Thing b) => MADValidator(b);

            Building_MAD building_MAD = (Building_MAD)GenClosest.ClosestThingReachable(sleeper.Position, ThingRequest.ForDef(DefDatabase<ThingDef>.GetNamed("MindAlteringDevice")), PathEndMode.OnCell, TraverseParms.For(traveler, Danger.Deadly, TraverseMode.ByPawn, false), 9999f, validator, null, -1, false);

            if (building_MAD != null)
            {
                return building_MAD;
            }

            return null;
        }
开发者ID:scyde,项目名称:Hardcore-SK,代码行数:35,代码来源:MadUtility.cs

示例10: BlocksPawn

 public override bool BlocksPawn( Pawn p )
 {
     if( isOpen )
         return false;
     else
         return !WillOpenFor(p);
 }
开发者ID:raimis001,项目名称:raWorld,代码行数:7,代码来源:Building_Door.cs

示例11: JobOnThing

 public override Job JobOnThing(Pawn pawn, Thing t)
 {
     Building_RepairStation rps = ListerDroids.ClosestRepairStationFor(pawn,t);
     Job job = new Job(ReactivateDroidJobDef, t, rps);
     job.maxNumToCarry = 1;
     return job;
 }
开发者ID:ProfoundDarkness,项目名称:MD2-Source,代码行数:7,代码来源:WorkGiver_ReactivateDroid.cs

示例12: AvailableTargets

 // search things throught designations is faster than searching designations through all things
 public static List<TargetInfo> AvailableTargets(Pawn pawn)
 {
     return Find.ListerThings.AllThings.FindAll(thing => thing is Frame)
         .Where(thing => thing.Faction == pawn.Faction && GenConstruct.CanConstruct(thing, pawn) &&
                         (thing as Frame).MaterialsNeeded().Count == 0 &&
                         pawn.CanReserveAndReach(thing, PathEndMode.Touch, pawn.NormalMaxDanger())).Select(thing => new TargetInfo(thing)).ToList();
 }
开发者ID:RWA-Team,项目名称:RimworldAscension,代码行数:8,代码来源:WorkGiver_ConstructFinishFrames.cs

示例13: HasJobOnThing

		public override bool HasJobOnThing(Pawn pawn, Thing t)
		{
            if ((t is Building_AquacultureBasin) == false)
            {
                return false;
            }
            Building_AquacultureBasin aquacultureBasin = t as Building_AquacultureBasin;

            if (pawn.Dead
                || pawn.Downed
                || pawn.IsBurning())
            {
                return false;
            }
            if (pawn.CanReserveAndReach(aquacultureBasin, this.PathEndMode, Danger.Some) == false)
            {
                return false;
            }

            if (aquacultureBasin.breedingIsFinished)
            {
                return true;
            }
            return false;
		}
开发者ID:Rikiki123456789,项目名称:Rimworld,代码行数:25,代码来源:WorkGiver_AquaponicBasin.cs

示例14: NonScanJob

 public override Job NonScanJob(Pawn pawn)
 {
     if (ToolsForHaulUtility.TryGetBackpack(pawn) != null)
         return ToolsForHaulUtility.HaulWithTools(pawn);
     JobFailReason.Is(NoBackpack);
     return (Job)null;
 }
开发者ID:BBream,项目名称:ToolsForHaul,代码行数:7,代码来源:WorkGiver_HaulWithBackpack.cs

示例15: OnInteract

 /**
  * Event: Interact
  */
 public void OnInteract(Pawn pawn = null)
 {
     if(this.conversation.Value != null)
     {
         ConversationManager.StartConversation(this.conversation.Value);
     }
 }
开发者ID:Putaitu,项目名称:unity-boilerplate,代码行数:10,代码来源:Character.cs


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