예제 #1
0
        public void AddingPawn()
        {
            CustomPawn pawn = new CustomPawn(randomizer.GenerateColonist());

            PrepareCarefully.Instance.AddPawn(pawn);
            state.CurrentPawn = pawn;
            PawnAdded(pawn);
        }
예제 #2
0
        public void AddingPawn(bool startingPawn)
        {
            CustomPawn pawn = new CustomPawn(randomizer.GenerateColonist());

            pawn.Type = startingPawn ? CustomPawnType.Colonist : CustomPawnType.World;
            PrepareCarefully.Instance.AddPawn(pawn);
            state.CurrentPawn = pawn;
            PawnAdded(pawn);
        }
예제 #3
0
        public PawnRelationDef ComputeInverseRelationship(PawnRelationDef def)
        {
            Pawn       source = randomizer.GenerateColonist();
            Pawn       target = randomizer.GenerateColonist();
            MethodInfo info   = def.workerClass.GetMethod("CreateRelation", BindingFlags.Instance | BindingFlags.Public | BindingFlags.DeclaredOnly);

            if (info == null)
            {
                return(null);
            }
            var worker = FindPawnRelationWorker(def);
            PawnGenerationRequest req = new PawnGenerationRequest();

            worker.CreateRelation(source, target, ref req);
            foreach (PawnRelationDef d in PawnRelationUtility.GetRelations(target, source))
            {
                return(d);
            }
            return(null);
        }