{ "ThingDef": { "keywords": [ "ThingDef" ], "question": "What is a ThingDef?", "embedding": [ -0.019440101459622383, 0.0362212248146534, 0.00969050731509924, 0.03294181451201439, -0.04809800535440445, -0.0006195055320858955, -0.016131149604916573, 0.06724266707897186, 0.04210052639245987, 0.11746785044670105, -0.053061433136463165, -0.06990164518356323, -0.038112055510282516, -0.0914689302444458, 0.029056748375296593, -0.017874257639050484, 0.00430237827822566, -0.07279697805643082, 0.01387840136885643, -0.013413080014288425, 0.027978384867310524, 0.022675195708870888, -0.029115837067365646, 0.06281103193759918, 0.019454874098300934, -0.05279553681612015, 0.01324320025742054, 0.06245649978518486, -0.03876202926039696, 0.011958026327192783, -0.0014559765113517642, 0.04142100736498833, 0.012238696217536926, 0.007696271408349276, 0.002598045626655221, 0.03973698616027832, 0.0067877862602472305, -0.014247704297304153, 0.020001443102955818, -0.037107549607753754, 0.036191679537296295, -0.01231255754828453, -0.02537849172949791, -0.0331190787255764, -0.04130282998085022, -0.007703657727688551, 0.03693028539419174, -0.06446550786495209, -0.05066835135221481, 0.03394631668925285, -0.012002342380583286, 0.02050369419157505, -0.03636894375085831, -0.017726536840200424, 0.012777878902852535, 0.03282363712787628, 0.03970744460821152, -0.028569268062710762, -0.004054945427924395, 0.008715547621250153, 0.009764367714524269, 0.032557740807533264, -0.07220609486103058, -0.023133130744099617, 0.07108341157436371, -0.06594271957874298, -0.011529634706676006, -0.02477283589541912, 0.04839344695210457, -0.016278870403766632, -0.03831886500120163, 0.04836390167474747, -0.07622411102056503, -0.021818412467837334, -0.07356512546539307, 0.026102324947714806, -0.023133130744099617, -0.00922518502920866, -0.02286723256111145, -0.022305892780423164, 0.020400289446115494, -0.004095568787306547, -0.03264637291431427, -0.005713114980608225, 0.03678256273269653, 0.025629617273807526, -0.009904702194035053, -0.03595532476902008, -0.028968116268515587, 0.09383247047662735, -0.05932481214404106, 0.046620793640613556, 0.0299430750310421, -0.01830264925956726, 0.04546856880187988, 0.07474689930677414, -0.04446406289935112, 0.03958926722407341, 0.016603855416178703, 0.02034120075404644, -0.03291226923465729, -0.040948301553726196, -0.010340480133891106, 0.06812898814678192, 0.015244822017848492, 0.07126067578792572, -0.028569268062710762, -0.040593769401311874, -0.016485679894685745, -0.0028251667972654104, -0.006086111068725586, 0.04210052639245987, -0.00900360383093357, 0.01716519705951214, -0.008021257817745209, 0.06121564283967018, -0.030312377959489822, -0.027815891429781914, 0.05264781415462494, -0.005343812517821789, 0.032557740807533264, -0.051170602440834045, 0.013029004447162151, -0.027092058211565018, -0.002982120495289564, 0.013989192433655262, 0.040977843105793, 0.03595532476902008, -0.01024446077644825, -0.04797982797026634, -0.05250009521842003, -0.012260855175554752, 0.013582958839833736, -0.007312196306884289, -0.020562782883644104, -0.0457049198448658, 0.04269140958786011, 0.03261682763695717, -0.04682760313153267, 0.027092058211565018, -0.037934787571430206, -0.0015778464730829, -0.05031381919980049, 0.009993335232138634, 0.11398163437843323, -0.0022195102646946907, -0.0013165646232664585, -0.055277250707149506, -0.02901243232190609, 0.020385516807436943, 0.018169701099395752, -0.029381735250353813, -0.010340480133891106, 0.015422087162733078, -0.001591695356182754, 0.016278870403766632, -0.009845614433288574, -0.04452315345406532, 0.0022878311574459076, -0.012186993844807148, 0.039973340928554535, 0.006987209897488356, -0.04331183806061745, 0.009158710949122906, 0.004956044256687164, -0.02161160297691822, -0.05725671350955963, 0.03548261895775795, -0.07202883064746857, 0.003549000481143594, 0.026235274970531464, -0.020725276321172714, -0.01087966188788414, -0.0004101569938939065, -0.004114033654332161, -0.03072599694132805, 0.007711043581366539, 0.01349432673305273, 0.048659343272447586, -0.04765484109520912, 0.03820068761706352, 0.009720050729811192, 0.08083301037549973, 0.010606378316879272, 0.012054044753313065, -0.023384256288409233, -0.03196685388684273, 0.03214412182569504, -0.0055986312218010426, 0.0027328410651534796, -0.033975861966609955, 0.041893716901540756, 0.050875160843133926, 0.06133381649851799, -0.05693172663450241, -0.009409836493432522, 0.006270762532949448, 0.02808178961277008, 0.017889030277729034, 0.0015981581527739763, 0.025452353060245514, 0.011175104416906834, 0.022187715396285057, -0.011817690916359425, 0.05282508209347725, -0.027225006371736526, 0.03025328926742077, -0.00884111039340496, 0.013102864846587181, 0.0012353180209174752, 0.027313638478517532, -0.01277049258351326, 0.04018015041947365, -0.01921852119266987, -0.014786886051297188, -0.01118987612426281, -0.04475950449705124, -0.0007441452471539378, -0.028332915157079697, -0.0061267344281077385, 0.0024170870892703533, -0.009956404566764832, 0.02651594579219818, 0.02729886770248413, 0.028510181233286858, -0.006507116369903088, 0.03122824989259243, 0.013834085315465927, 0.02301495335996151, -0.03580760583281517, 0.023413801565766335, 0.03598487004637718, -0.08898721635341644, 0.06759719550609589, 0.039973340928554535, -0.0020311656408011913, -0.028598813340067863, -0.025023961439728737, 0.03663484379649162, 0.03731435909867287, -0.028303369879722595, 0.018494686111807823, -0.0457935556769371, 0.030208973214030266, -0.027239779010415077, 0.0013073320733383298, -0.06399279832839966, -0.06411097198724747, 0.028022700920701027, -0.009653576649725437, -0.017726536840200424, 0.0053548915311694145, -0.055247705429792404, -0.009358134120702744, -0.02068096026778221, 0.0457344651222229, -0.03105098381638527, -0.01474995631724596, 0.005188704933971167, 0.02443307638168335, -0.007866150699555874, -0.0037687355652451515, 0.0005137926200404763, -0.036664389073848724, -0.03447811305522919, 0.017268601804971695, -0.0031132230069488287, -0.05406593903899193, -0.07959215342998505, -0.038112055510282516, 0.004051252268254757, 0.0378757007420063, 0.01720951311290264, -0.029691949486732483, 0.001599081326276064, 0.023768331855535507, 0.007917853072285652, 0.0457344651222229, -0.08059665560722351, -0.0141886156052351, -0.01765267550945282, 0.00536597054451704, -0.011219420470297337, -0.05001837760210037, -0.023871736600995064, 0.019115116447210312, 0.024698974564671516, 0.021980905905365944, 0.039057470858097076, 0.021212756633758545, 0.061865612864494324, 0.015259593725204468, -0.007441452704370022, -0.004904341883957386, -0.026885248720645905, -0.018081067129969597, 0.025319403037428856, 0.03480309993028641, -0.006832102779299021, 0.027963612228631973, 0.0009601874044165015, 0.014159071259200573, -0.0047012255527079105, -0.0204889215528965, 0.0866236761212349, 0.00962403230369091, -0.013435238040983677, -0.07480598986148834, -0.005949468817561865, -0.05060926452279091, 0.025452353060245514, -0.016943614929914474, -0.0016886373050510883, -0.011980184353888035, 0.020592326298356056, 0.025334175676107407, -0.04665033519268036, -0.004435327369719744, -0.028126105666160583, 0.01386362873017788, -0.048009369522333145, -0.012984688393771648, -0.003803819417953491, 0.0181549284607172, -0.03217366337776184, -0.013029004447162151, 0.02588074468076229, -0.001548302243463695, -0.00992686115205288, 0.0012473204405978322, 0.010510358959436417, 0.004715997260063887, 0.02161160297691822, 0.016840210184454918, -0.05489317700266838, 0.008338858373463154, 0.015377771109342575, 0.034596290439367294, 0.007755360100418329, 0.009542785584926605, -0.032557740807533264, 0.018095839768648148, 0.023561522364616394, -0.023694470524787903, 0.04085966944694519, -0.008966673165559769, 0.02348766103386879, 0.056370388716459274, -0.0378166139125824, 0.021966133266687393, -0.006802558433264494, -0.02619095891714096, -0.028273826465010643, 0.024344444274902344, -0.01278526522219181, 0.0014799812342971563, -0.004756620619446039, -0.0165447685867548, -0.024241039529442787, 0.006152585614472628, -0.02065141499042511, 0.054154571145772934, -0.0020145471207797527, 0.006492344196885824, 0.03551216423511505, -0.0017800397472456098, -0.001140222535468638, 0.08130571991205215, 0.007245722226798534, 0.024373987689614296, 0.02963286079466343, -0.03294181451201439, 0.010754099115729332, 0.01638227514922619, -0.0347440131008625, -0.0014605928445234895, 0.01497153751552105, 0.0204889215528965, -0.017076563090085983, -0.0005784205859526992, 0.07628319412469864, 0.016441363841295242, 0.004291299264878035, -0.055572692304849625, -0.021168438717722893, -0.002655287506058812, 0.013272744603455067, 0.010517745278775692, -0.011064313352108002, -0.035718973726034164, 0.05114106088876724, -0.014314178377389908, 0.024004684761166573, -0.01302161905914545, 0.04747757315635681, 0.006001171190291643, -0.015451631508767605, 0.01985372230410576, -0.01874581351876259, -0.0291453804820776, 0.015348226763308048, -0.029248785227537155, -0.03820068761706352, 0.018539004027843475, -0.023000182583928108, -0.021345704793930054, -0.005528463516384363, 0.04325275123119354, -0.0009878851706162095, 0.020769592374563217, -0.03592578321695328, 0.012689245864748955, 0.042336877435445786, -0.020060531795024872, -0.07746496796607971, -0.018184471875429153, -0.009136552922427654, -0.0019111422589048743, 0.06192470341920853, -0.04647307097911835, 0.012733562849462032, 0.03435993939638138, 0.0023506127763539553, -0.015119259245693684, -0.010813187807798386, -0.021552514284849167, -0.017874257639050484, -0.0038444427773356438, -0.015540264546871185, -0.0028897947631776333, -0.06860169768333435, -0.0173572339117527, -0.03344406560063362, 0.05628175660967827, 0.014550532214343548, -0.05063880607485771, 0.027328411117196083, -0.00037230344605632126, -0.006684381514787674, -0.0040290942415595055, -0.07043343782424927, -0.01356818713247776, 0.01458746287971735, -0.037284817546606064, -0.03701891750097275, 0.012002342380583286, 0.047566208988428116, -0.0048009371384978294, 0.004350387491285801, 0.01018537301570177, -0.034448571503162384, 0.024654658511281013, 0.022010449320077896, 0.03329634666442871, -0.016810666769742966, 0.009173482656478882, -0.005048369988799095, 0.0094615388661623, -0.00322955334559083, -0.04936840385198593, 0.006584669928997755, -0.014594849199056625, 0.03858476132154465, 0.03825977444648743, -0.016914071515202522, -0.021065033972263336, -0.02115366794168949, 0.03181913495063782, 0.003914610482752323, -0.03858476132154465, 0.027860207483172417, 0.0038333635311573744, 0.0014116601087152958, 0.00116422725841403, 0.030814630910754204, 0.002893487922847271, 0.017445866018533707, 0.004933886229991913, 0.019513962790369987, 0.016337959095835686, 0.030179429799318314, 0.010155828669667244, 0.02427058294415474, 0.005325347185134888, -0.08461467176675797, -0.015687985345721245, -0.013531256467103958, -0.0315532349050045, 0.015835706144571304, -0.024255812168121338, 0.0007898464682511985, -0.01986849308013916, 0.0013304135063663125, -0.006736083887517452, 0.011950640007853508, -0.05533634126186371, -0.009941632859408855, 0.05598631128668785, 0.0029359576292335987, -0.08810088783502579, -0.015481175854802132, 0.044552695006132126, -0.014218159951269627, 0.027476131916046143, -0.01284435298293829, 0.016057288274168968, -0.034596290439367294, -2.3831575163058005e-05, -0.021330932155251503, 0.012644929811358452, 0.009439380839467049, -0.033680420368909836, 0.020917313173413277, -0.02853972464799881, -0.037609804421663284, 0.0035766982473433018, 0.10653648525476456, -0.004623671527951956, -0.02020825259387493, -0.02175932377576828, -0.029721492901444435, -0.012704018503427505, -0.019838949665427208, -0.03896883875131607, -0.05740443617105484, 0.05264781415462494, 0.01610160432755947, -0.012659701518714428, 0.03864385187625885, -0.032055485993623734, -0.05152513459324837, 0.01104215532541275, 0.0519978404045105, -0.017623132094740868, 0.031464602798223495, 0.027564765885472298, 0.03695983067154884, 0.01409998256713152, -0.02961808815598488, 0.1197132095694542, 0.051318325102329254, 0.039057470858097076, -0.01222392451018095, 0.03923473507165909, 0.03403495252132416, 0.05613403394818306, 0.023399028927087784, -0.022808143869042397, 0.011485318653285503, -0.03294181451201439, -0.012711403891444206, 0.01988326571881771, -0.057315804064273834, -0.02725454978644848, 0.005724194459617138, -0.0006171974237076938, 0.02082868106663227, 0.043282292783260345, 0.007349126972258091, -0.037609804421663284, -0.026560261845588684, -0.009040533564984798, -0.01970599964261055, -0.03560079634189606, 0.005015132948756218, 0.02793406881392002, 0.004287606105208397, 0.014292020350694656, 0.054302290081977844, -0.013125023804605007, -0.02396036870777607, 0.030031709000468254, -0.043134573847055435, 0.01042172685265541, 0.011463160626590252, -0.020237796008586884, 0.007666727062314749, -0.022527474910020828, 0.08408287167549133, 0.007777518127113581, -0.024639885872602463, 0.024713747203350067, 0.0472707636654377, -0.007282652426511049, -0.0029156459495425224, 0.01830264925956726, 0.06476094573736191, -0.0020625563338398933, 0.013782382942736149, 0.010074581950902939, 0.008493965491652489, 0.003914610482752323, -0.0054176729172468185, -0.011618267744779587, -0.01893785037100315, 0.03388722985982895, 0.01970599964261055, 0.009380292147397995, 0.012349487282335758, 0.04930931702256203, -0.008759863674640656, -0.04511403664946556, -0.02743181586265564, 0.016337959095835686, 0.03279409185051918, 0.0013054856099188328, -0.012763106264173985, -0.006108269095420837, 0.0015021393774077296, -0.0029378042090684175, 0.03926428034901619, 0.029204469174146652, -0.029248785227537155, 0.00915132462978363, 0.06375644356012344, -0.0037114936858415604, -0.004487029742449522, 0.014690867625176907, -0.01970599964261055, -0.010946136899292469, -0.053061433136463165, 0.003803819417953491, -0.001126373652368784, -0.049279771745204926, -0.015481175854802132, -0.005269951652735472, -0.0009731129975989461, -0.002095793606713414, -0.05285462364554405, -0.020902542397379875, 0.0094541534781456, 0.05613403394818306, -0.026752298697829247, 0.050520628690719604, -0.022822916507720947, -0.011802919209003448, -0.029041975736618042, -0.013893173076212406, 0.035246264189481735, -0.0048821838572621346, -0.0015732301399111748, 0.019203748553991318, 0.017431095242500305, -0.02979535423219204, 0.01254891138523817, -0.009993335232138634, -0.04608899727463722, 0.011019997298717499, -0.015555036254227161, 0.001864979392848909, -0.026264818385243416, 0.002450324362143874, 0.03503945469856262, 0.0457049198448658, 0.021005947142839432, 0.022808143869042397, -0.03560079634189606, 0.03235093131661415, 0.0058349850587546825, 0.0015039858408272266, -0.0025518827605992556, 0.03173050284385681, 0.008013871498405933, -0.0050631421618163586, 0.01750495471060276, -0.0024097012355923653, -0.0059531619772315025, -0.04608899727463722, 0.010214917361736298, 0.01689929887652397, 0.0023746173828840256, 0.006374167278409004, -0.0029950460884720087, -0.027210233733057976, 0.022305892780423164, 0.012046659365296364, -0.03885066136717796, -0.03802342340350151, 0.017933346331119537, 0.024359216913580894, -0.00309660448692739, 0.026235274970531464, -0.04526175931096077, -0.026131870225071907, -0.015215277671813965, 0.031021440401673317, -0.020754819735884666, 0.01766744814813137, -0.07663773000240326, 0.024994418025016785, 0.05350459739565849, -0.02493532933294773, 0.010347865521907806, 0.02162637561559677, -0.043282292783260345, -0.02193658985197544, -0.03769843652844429, -0.04348910227417946, -0.01040695421397686, 0.04783210530877113, -0.012792650610208511, -0.04670942574739456, 0.07291515916585922, 0.024728519842028618, 0.008538281545042992, 0.02178886905312538, 0.012105747126042843, -0.021360477432608604, -0.005506305489689112, 0.007474689744412899, 0.024388760328292847, 0.02633867971599102, -0.010310935787856579, -0.0009961944306269288, -0.009247343055903912, -0.015584580600261688, 0.014085210859775543, -0.007851378992199898, -0.06919258087873459, -0.020769592374563217, -0.015185733325779438, 0.025156909599900246, 0.026885248720645905, 0.026678437367081642, -0.05610448867082596, -0.025777339935302734, -0.008058188483119011, -0.0362803116440773, 0.027402272447943687, 0.06653360277414322, -0.028126105666160583, -0.029573772102594376, 0.002005314454436302, -0.03341452404856682, -0.011640425771474838, -0.027180690318346024, -0.028820395469665527, -0.009801297448575497, -0.016795894131064415, -0.008612142875790596, 0.02979535423219204, -0.013767610304057598, 0.03601441532373428, -0.01373068057000637, 0.05309097841382027, -0.025319403037428856, 0.004557197447866201, -0.007755360100418329, 0.03028283454477787, -0.01371590793132782, 0.02304449863731861, -0.03347361087799072, -0.051347870379686356, -0.05580904707312584, -0.03580760583281517, 0.017386779189109802, 0.019750317558646202, 0.000533642596565187, -0.012113133445382118, 0.044375430792570114, -0.017948118969798088, 0.049427494406700134, 0.008501351810991764, 0.06806990504264832, 0.050845615565776825, 0.010820573195815086, -0.006448027677834034, 0.0020237795542925596, 0.005532156676054001, -0.04183462634682655, -0.04088921099901199, -0.02961808815598488, -0.020754819735884666, 0.0758104920387268, 0.025452353060245514, -0.003166771959513426, 0.017756082117557526, -0.005735273472964764, -0.02240929752588272, 0.0033218790777027607, 0.0032443255186080933, -0.02462511509656906, -0.03766889125108719, 0.009971177205443382, 0.025511441752314568, 0.021242300048470497, -0.005908845458179712, 0.05057971924543381, 0.014365880750119686, 0.010370024479925632, 5.444332055049017e-05, -0.0009740362875163555, 0.04304594174027443, 0.05347505211830139, 0.01765267550945282, -0.020282112061977386, -0.03249865025281906, 0.0645836815237999, -0.006950279697775841, 0.031139615923166275, 0.01426247600466013, -0.07391966134309769, 0.04930931702256203, -0.012467664666473866, -0.03515763208270073, 0.014033508487045765, -0.01474995631724596, -0.03953017666935921, -0.0033791211899369955, 0.007947397418320179, 0.04387317970395088, 0.012253468856215477, 0.022778600454330444, 0.015407315455377102, 0.018657179549336433, -0.02162637561559677, -0.031021440401673317, -0.005177625920623541, 0.006592055782675743, 0.026707982644438744, 0.027712486684322357, 0.045970819890499115, -0.01018537301570177, 0.01768222078680992, -0.0017283373745158315, -0.017948118969798088, 0.027993155643343925, -0.014676094986498356, -0.007485768757760525, -0.019277609884738922, 0.0024447848554700613, -0.005746352486312389, -0.020592326298356056, -0.018686724826693535, 0.0330895371735096, -0.03229184076189995, -0.009660962969064713, -0.01167735643684864, -0.007459917571395636, -0.019277609884738922, -0.020577555522322655, 0.0314941480755806, 0.0003095219435635954, 0.008058188483119011, 0.0005798054626211524, 0.02446262165904045, 0.019838949665427208, -0.020784365013241768, -0.004933886229991913, -0.08278292417526245, -0.012268240563571453, 0.04159827530384064, 0.011396686546504498, 0.00016584005788899958, 0.021079806610941887, 0.03799387812614441, -0.013560800813138485, -0.004202666692435741, -0.03072599694132805, 0.022601334378123283, -0.02791929617524147, 0.005295802839100361, -0.03108052909374237, 0.0037170331925153732, -0.024831924587488174, 0.04496631398797035, -0.012955144047737122, 0.00020577093528117985, -0.007341740652918816, -0.05223419517278671, 0.040771033614873886, 0.07149703055620193, -0.0063150785863399506, 0.029869215562939644, 0.017298145219683647, 0.023768331855535507, -0.008139435201883316, 0.016795894131064415, -0.010598991997539997, 0.04638443887233734, -0.00047640068805776536, -0.027372727170586586, 0.022985409945249557, 0.01672203280031681, 0.037609804421663284, -0.02430012822151184, 0.01766744814813137, -0.02540803700685501, -0.0005830368609167635, 0.020459378138184547, 0.03134642541408539, -0.038407497107982635, -0.007201405707746744, 0.025201227515935898, -0.030238518491387367, -0.011056927032768726, -0.03920518979430199, -0.017475411295890808, -0.03480309993028641, -0.015702757984399796, 0.003316339571028948, -0.04210052639245987, 0.0010866736993193626, -0.04981156811118126, -0.01938101463019848, 0.02428535558283329, -0.025304632261395454, -0.014018736779689789, -0.025348948314785957, 0.039027925580739975, 0.004974509589374065, 0.018051523715257645, 0.027165917679667473, 0.020223025232553482, -0.03687119856476784, -0.0260432381182909, -0.03911655768752098, 0.04337092861533165, 0.01378976833075285, -0.02650117315351963, 0.0268113873898983, 0.026146642863750458, -0.02697388082742691, -0.007829220965504646, 0.012526752427220345, -7.657263631699607e-05, -0.046768512576818466, 0.09495514631271362, -0.006776707246899605, 0.02096162922680378, 0.01626409776508808, 0.02602846547961235, 0.029839670285582542, 0.0022915243171155453, 0.00834624469280243, -0.01065808068960905, -0.014402811415493488, -0.04032787308096886, 0.006451720837503672, -0.002365384716540575, 0.01340569369494915, -0.00971266534179449, 0.025777339935302734, 0.0029710414819419384, 0.018804902210831642, 0.0006208904087543488, 0.00045470413169823587, -0.0189526230096817, 0.045675378292798996, 0.029041975736618042, -0.0007252185023389757, -0.03187822178006172, 0.0060159433633089066, -0.0033237256575375795, -0.057463523000478745, 0.0038333635311573744, 0.0034382096491754055, -0.020769592374563217, 0.02130138874053955, -0.024713747203350067, 0.06399279832839966, 0.01800720766186714, -0.008641687221825123, -0.05707944929599762, 0.03009079582989216, -0.018391281366348267, -0.030666908249258995, -0.05492272228002548, -0.0013165646232664585, 0.03181913495063782, -0.03090326301753521, 0.034300848841667175, 0.0018585165962576866, -0.017918573692440987, -0.022808143869042397, 0.0027346876449882984, 0.005443524103611708, -0.0315236933529377, -0.04922068491578102, 0.0027623854111880064, -0.0021124123595654964, 0.026427311822772026, -0.01862763613462448, 0.035896237939596176, -0.011212035082280636, -0.0030541345477104187, 0.022187715396285057, -0.000870631483849138, 0.024950100108981133, -0.012415962293744087, -0.02459556981921196, -0.030194200575351715, -0.010104126296937466, -0.00884111039340496, 0.01039956882596016, 0.005731580313295126, 0.025127366185188293, -0.01497153751552105, 0.04242551326751709, -0.0027273015584796667, -0.02697388082742691, 0.05232282727956772, -0.0033569629304111004, -0.025939833372831345, -0.006592055782675743, 0.0189230777323246, -0.08733274042606354, 0.028347687795758247, -0.007441452704370022, -0.008242839947342873, 0.017091335728764534, 0.03456674888730049, 0.018568547442555428, -0.011219420470297337, 0.01732769049704075, 0.02554098516702652, -0.0003939999733120203, -0.0019259144319221377, 0.004298685118556023, -0.002891641343012452, -0.030238518491387367, 0.08709638565778732, -0.015525491908192635, 0.0027273015584796667 ], "result": "--- 结果 1 (相似度: 1.000) ---\n文件路径: C:\\Steam\\steamapps\\common\\RimWorld\\Data\\dll1.6\\Verse\\ThingDef.txt\n\npublic class ThingDef : BuildableDef\n{\n\tpublic Type thingClass;\n\n\tpublic ThingCategory category;\n\n\tpublic TickerType tickerType;\n\n\tpublic int stackLimit = 1;\n\n\tpublic IntVec2 size = IntVec2.One;\n\n\tpublic bool destroyable = true;\n\n\tpublic bool rotatable = true;\n\n\tpublic bool smallVolume;\n\n\tpublic bool useHitPoints = true;\n\n\tpublic bool receivesSignals;\n\n\tpublic List comps = new List();\n\n\tpublic List virtualDefs = new List();\n\n\tpublic ThingDef virtualDefParent;\n\n\t[NoTranslate]\n\tpublic string devNote;\n\n\tpublic List killedLeavingsRanges;\n\n\tpublic List killedLeavings;\n\n\tpublic List killedLeavingsPlayerHostile;\n\n\tpublic float killedLeavingsChance = 1f;\n\n\tpublic bool forceLeavingsAllowed;\n\n\tpublic List butcherProducts;\n\n\tpublic List smeltProducts;\n\n\tpublic bool smeltable;\n\n\tpublic bool burnableByRecipe;\n\n\tpublic bool randomizeRotationOnSpawn;\n\n\tpublic List damageMultipliers;\n\n\tpublic bool isTechHediff;\n\n\tpublic RecipeMakerProperties recipeMaker;\n\n\tpublic ThingDef minifiedDef;\n\n\tpublic bool isUnfinishedThing;\n\n\tpublic bool leaveResourcesWhenKilled;\n\n\tpublic ThingDef slagDef;\n\n\tpublic bool isFrameInt;\n\n\tpublic List multipleInteractionCellOffsets;\n\n\tpublic IntVec3 interactionCellOffset = IntVec3.Zero;\n\n\tpublic bool hasInteractionCell;\n\n\tpublic ThingDef interactionCellIcon;\n\n\tpublic bool interactionCellIconReverse;\n\n\tpublic ThingDef filthLeaving;\n\n\tpublic bool forceDebugSpawnable;\n\n\tpublic bool intricate;\n\n\tpublic bool scatterableOnMapGen = true;\n\n\tpublic float deepCommonality;\n\n\tpublic int deepCountPerCell = 300;\n\n\tpublic int deepCountPerPortion = -1;\n\n\tpublic IntRange deepLumpSizeRange = IntRange.Zero;\n\n\tpublic float generateCommonality = 1f;\n\n\tpublic float generateAllowChance = 1f;\n\n\tprivate bool canOverlapZones = true;\n\n\tpublic FloatRange startingHpRange = FloatRange.One;\n\n\t[NoTranslate]\n\tpublic List thingSetMakerTags;\n\n\tpublic bool alwaysFlee;\n\n\tpublic List recipes;\n\n\tpublic bool messageOnDeteriorateInStorage = true;\n\n\tpublic bool deteriorateFromEnvironmentalEffects = true;\n\n\tpublic bool canDeteriorateUnspawned;\n\n\tpublic bool canLoadIntoCaravan = true;\n\n\tpublic bool isMechClusterThreat;\n\n\tpublic FloatRange displayNumbersBetweenSameDefDistRange = FloatRange.Zero;\n\n\tpublic int minRewardCount = 1;\n\n\tpublic bool preventSkyfallersLandingOn;\n\n\tpublic FactionDef requiresFactionToAcquire;\n\n\tpublic float relicChance;\n\n\tpublic OrderedTakeGroupDef orderedTakeGroup;\n\n\tpublic int allowedArchonexusCount;\n\n\tpublic int possessionCount;\n\n\tpublic bool notifyMapRemoved;\n\n\tpublic bool canScatterOver = true;\n\n\tpublic bool genericMarketSellable = true;\n\n\tpublic bool drawHighlight;\n\n\tpublic Color? highlightColor;\n\n\tpublic bool drawHighlightOnlyForHostile;\n\n\tpublic bool autoTargetNearbyIdenticalThings;\n\n\tpublic bool preventDroppingThingsOn;\n\n\tpublic bool hiddenWhileUndiscovered;\n\n\tpublic bool disableImpassableShotOverConfigError;\n\n\tpublic bool showInSearch = true;\n\n\tpublic bool bringAlongOnGravship = true;\n\n\tpublic ThingDef dropPodFaller;\n\n\tpublic bool preventSpawningInResourcePod;\n\n\tpublic bool pathfinderDangerous;\n\n\tpublic bool noRightClickDraftAttack;\n\n\tpublic int gravshipSpawnPriority = 1;\n\n\tpublic List replaceTags;\n\n\tpublic GraphicData graphicData;\n\n\tpublic DrawerType drawerType = DrawerType.RealtimeOnly;\n\n\tpublic bool drawOffscreen;\n\n\tpublic ColorGenerator colorGenerator;\n\n\tpublic float hideAtSnowOrSandDepth = 99999f;\n\n\tpublic bool drawDamagedOverlay = true;\n\n\tpublic bool castEdgeShadows;\n\n\tpublic float staticSunShadowHeight;\n\n\tpublic bool useSameGraphicForGhost;\n\n\tpublic bool useBlueprintGraphicAsGhost;\n\n\tpublic List randomStyle;\n\n\tpublic float randomStyleChance;\n\n\tpublic bool canEditAnyStyle;\n\n\tpublic bool dontPrint;\n\n\tpublic ThingDef defaultStuff;\n\n\tpublic int killedLeavingsExpandRect;\n\n\tpublic bool minifiedManualDraw;\n\n\tpublic float minifiedDrawScale = 1f;\n\n\tpublic Rot4 overrideMinifiedRot = Rot4.Invalid;\n\n\tpublic Vector3 minifiedDrawOffset = Vector3.zero;\n\n\tpublic float deselectedSelectionBracketFactor = 1f;\n\n\tpublic bool selectable;\n\n\tpublic bool containedPawnsSelectable;\n\n\tpublic bool containedItemsSelectable;\n\n\tpublic bool neverMultiSelect;\n\n\tpublic bool isAutoAttackableMapObject;\n\n\tpublic bool hasTooltip;\n\n\tpublic List inspectorTabs;\n\n\t[Unsaved(false)]\n\tpublic List inspectorTabsResolved;\n\n\tpublic bool seeThroughFog;\n\n\tpublic bool drawGUIOverlay;\n\n\tpublic bool drawGUIOverlayQuality = true;\n\n\tpublic ResourceCountPriority resourceReadoutPriority;\n\n\tpublic bool resourceReadoutAlwaysShow;\n\n\tpublic bool drawPlaceWorkersWhileSelected;\n\n\tpublic bool drawPlaceWorkersWhileInstallBlueprintSelected;\n\n\tpublic ConceptDef storedConceptLearnOpportunity;\n\n\tpublic float uiIconScale = 1f;\n\n\tpublic bool hasCustomRectForSelector;\n\n\tpublic bool hideStats;\n\n\tpublic bool hideInspect;\n\n\tpublic bool onlyShowInspectString;\n\n\tpublic bool hideMainDesc;\n\n\tpublic bool alwaysHaulable;\n\n\tpublic bool designateHaulable;\n\n\tpublic List thingCategories;\n\n\tpublic bool mineable;\n\n\tpublic bool socialPropernessMatters;\n\n\tpublic bool stealable = true;\n\n\tpublic SoundDef soundSpawned;\n\n\tpublic SoundDef soundDrop;\n\n\tpublic SoundDef soundPickup;\n\n\tpublic SoundDef soundInteract;\n\n\tpublic SoundDef soundImpactDefault;\n\n\tpublic SoundDef soundPlayInstrument;\n\n\tpublic SoundDef soundOpen;\n\n\tpublic bool saveCompressible;\n\n\tpublic bool isSaveable = true;\n\n\tpublic bool holdsRoof;\n\n\tpublic float fillPercent;\n\n\tpublic bool coversFloor;\n\n\tpublic bool neverOverlapFloors;\n\n\tpublic SurfaceType surfaceType;\n\n\tpublic bool wipesPlants;\n\n\tpublic bool blockPlants;\n\n\tpublic bool blockLight;\n\n\tpublic bool blockWind;\n\n\tpublic bool blockWeather;\n\n\tpublic Tradeability tradeability = Tradeability.All;\n\n\t[NoTranslate]\n\tpublic List tradeTags;\n\n\tpublic bool tradeNeverStack;\n\n\tpublic bool tradeNeverGenerateStacked;\n\n\tpublic bool healthAffectsPrice = true;\n\n\tpublic ColorGenerator colorGeneratorInTraderStock;\n\n\tprivate List verbs;\n\n\tpublic List tools;\n\n\tpublic float equippedAngleOffset;\n\n\tpublic float equippedDistanceOffset;\n\n\tpublic EquipmentType equipmentType;\n\n\tpublic TechLevel techLevel;\n\n\tpublic List weaponClasses;\n\n\t[NoTranslate]\n\tpublic List weaponTags;\n\n\t[NoTranslate]\n\tpublic List techHediffsTags;\n\n\tpublic bool violentTechHediff;\n\n\tpublic bool destroyOnDrop;\n\n\tpublic List equippedStatOffsets;\n\n\tpublic SoundDef meleeHitSound;\n\n\tpublic float recoilPower = 1f;\n\n\tpublic float recoilRelaxation = 10f;\n\n\tpublic bool rotateInShelves = true;\n\n\tpublic bool mergeVerbGizmos = true;\n\n\tpublic BuildableDef entityDefToBuild;\n\n\tpublic ThingDef projectileWhenLoaded;\n\n\tpublic RulePackDef ideoBuildingNamerBase;\n\n\tpublic EntityCodexEntryDef entityCodexEntry;\n\n\tpublic IngestibleProperties ingestible;\n\n\tpublic FilthProperties filth;\n\n\tpublic GasProperties gas;\n\n\tpublic BuildingProperties building;\n\n\tpublic RaceProperties race;\n\n\tpublic ApparelProperties apparel;\n\n\tpublic MoteProperties mote;\n\n\tpublic PlantProperties plant;\n\n\tpublic ProjectileProperties projectile;\n\n\tpublic StuffProperties stuffProps;\n\n\tpublic SkyfallerProperties skyfaller;\n\n\tpublic PawnFlyerProperties pawnFlyer;\n\n\tpublic RitualFocusProperties ritualFocus;\n\n\tpublic IngredientProperties ingredient;\n\n\tpublic MapPortalProperties portal;\n\n\tpublic bool canBeUsedUnderRoof = true;\n\n\t[Unsaved(false)]\n\tprivate string descriptionDetailedCached;\n\n\t[Unsaved(false)]\n\tpublic Graphic interactionCellGraphic;\n\n\t[Unsaved(false)]\n\tprivate bool? isNaturalOrganCached;\n\n\t[Unsaved(false)]\n\tprivate bool? hasSunShadowsCached;\n\n\t[Unsaved(false)]\n\tprivate List cachedRelevantStyleCategories;\n\n\tpublic const int SmallUnitPerVolume = 10;\n\n\tpublic const float SmallVolumePerUnit = 0.1f;\n\n\tpublic const float ArchonexusMaxItemStackMass = 5f;\n\n\tpublic const int ArchonexusMaxItemStackCount = 25;\n\n\tpublic const float ArchonexusMaxItemStackValue = 2000f;\n\n\tpublic const int ArchonexusAutoCalculateValue = -1;\n\n\tprivate List allRecipesCached;\n\n\tprivate static List EmptyVerbPropertiesList = new List();\n\n\tprivate Dictionary concreteExamplesInt;\n\n\tpublic bool EverHaulable\n\t{\n\t\tget\n\t\t{\n\t\t\tif (!alwaysHaulable)\n\t\t\t{\n\t\t\t\treturn designateHaulable;\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t}\n\n\tpublic bool EverPollutable => !building.isNaturalRock;\n\n\tpublic float VolumePerUnit\n\t{\n\t\tget\n\t\t{\n\t\t\tif (smallVolume)\n\t\t\t{\n\t\t\t\treturn 0.1f;\n\t\t\t}\n\t\t\treturn 1f;\n\t\t}\n\t}\n\n\tpublic override IntVec2 Size => size;\n\n\tpublic bool DiscardOnDestroyed => race == null;\n\n\tpublic int BaseMaxHitPoints => Mathf.RoundToInt(this.GetStatValueAbstract(StatDefOf.MaxHitPoints));\n\n\tpublic float BaseFlammability => this.GetStatValueAbstract(StatDefOf.Flammability);\n\n\tpublic float BaseMarketValue\n\t{\n\t\tget\n\t\t{\n\t\t\treturn this.GetStatValueAbstract(StatDefOf.MarketValue);\n\t\t}\n\t\tset\n\t\t{\n\t\t\tthis.SetStatBaseValue(StatDefOf.MarketValue, value);\n\t\t}\n\t}\n\n\tpublic float BaseMass => this.GetStatValueAbstract(StatDefOf.Mass);\n\n\tpublic int ArchonexusMaxAllowedCount\n\t{\n\t\tget\n\t\t{\n\t\t\tif (allowedArchonexusCount == -1)\n\t\t\t{\n\t\t\t\treturn Mathf.Min(stackLimit, 25, (BaseMass > 0f) ? ((int)(5f / BaseMass)) : 0, (BaseMarketValue > 0f) ? ((int)(2000f / BaseMarketValue)) : 0);\n\t\t\t}\n\t\t\treturn allowedArchonexusCount;\n\t\t}\n\t}\n\n\tpublic bool PlayerAcquirable\n\t{\n\t\tget\n\t\t{\n\t\t\tif (destroyOnDrop)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tif (this == ThingDefOf.ReinforcedBarrel && Find.Storyteller != null && Find.Storyteller.difficulty.classicMortars)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tif (requiresFactionToAcquire != null && Find.World != null && Find.World.factionManager != null)\n\t\t\t{\n\t\t\t\treturn Find.FactionManager.FirstFactionOfDef(requiresFactionToAcquire) != null;\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t}\n\n\tpublic bool EverTransmitsPower\n\t{\n\t\tget\n\t\t{\n\t\t\tfor (int i = 0; i < comps.Count; i++)\n\t\t\t{\n\t\t\t\tif (comps[i] is CompProperties_Power { transmitsPower: not false })\n\t\t\t\t{\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic bool Minifiable => minifiedDef != null;\n\n\tpublic bool HasThingIDNumber => category != ThingCategory.Mote;\n\n\tpublic List AllRecipes\n\t{\n\t\tget\n\t\t{\n\t\t\tif (allRecipesCached == null)\n\t\t\t{\n\t\t\t\tallRecipesCached = new List();\n\t\t\t\tif (recipes != null)\n\t\t\t\t{\n\t\t\t\t\tfor (int i = 0; i < recipes.Count; i++)\n\t\t\t\t\t{\n\t\t\t\t\t\tallRecipesCached.Add(recipes[i]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tList allDefsListForReading = DefDatabase.AllDefsListForReading;\n\t\t\t\tfor (int j = 0; j < allDefsListForReading.Count; j++)\n\t\t\t\t{\n\t\t\t\t\tif (allDefsListForReading[j].recipeUsers != null && allDefsListForReading[j].recipeUsers.Contains(this))\n\t\t\t\t\t{\n\t\t\t\t\t\tallRecipesCached.Add(allDefsListForReading[j]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn allRecipesCached;\n\t\t}\n\t}\n\n\tpublic bool ConnectToPower\n\t{\n\t\tget\n\t\t{\n\t\t\tif (EverTransmitsPower)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tfor (int i = 0; i < comps.Count; i++)\n\t\t\t{\n\t\t\t\tif (comps[i].compClass == typeof(CompPowerBattery))\n\t\t\t\t{\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\tif (comps[i].compClass == typeof(CompPowerTrader))\n\t\t\t\t{\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic bool CoexistsWithFloors\n\t{\n\t\tget\n\t\t{\n\t\t\tif (!neverOverlapFloors)\n\t\t\t{\n\t\t\t\treturn !coversFloor;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic FillCategory Fillage\n\t{\n\t\tget\n\t\t{\n\t\t\tif (fillPercent < 0.01f)\n\t\t\t{\n\t\t\t\treturn FillCategory.None;\n\t\t\t}\n\t\t\tif (fillPercent > 0.99f)\n\t\t\t{\n\t\t\t\treturn FillCategory.Full;\n\t\t\t}\n\t\t\treturn FillCategory.Partial;\n\t\t}\n\t}\n\n\tpublic bool MakeFog => Fillage == FillCategory.Full;\n\n\tpublic bool CanOverlapZones\n\t{\n\t\tget\n\t\t{\n\t\t\tif (building != null && building.SupportsPlants)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tif (passability == Traversability.Impassable && category != ThingCategory.Plant && !HasComp(typeof(CompTransporter)))\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tif ((int)surfaceType >= 1)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tif (typeof(ISlotGroupParent).IsAssignableFrom(thingClass))\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tif (!canOverlapZones)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tif ((IsBlueprint || IsFrame) && entityDefToBuild is ThingDef thingDef)\n\t\t\t{\n\t\t\t\treturn thingDef.CanOverlapZones;\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t}\n\n\tpublic bool CountAsResource => resourceReadoutPriority != ResourceCountPriority.Uncounted;\n\n\tpublic List Verbs\n\t{\n\t\tget\n\t\t{\n\t\t\tif (verbs != null)\n\t\t\t{\n\t\t\t\treturn verbs;\n\t\t\t}\n\t\t\treturn EmptyVerbPropertiesList;\n\t\t}\n\t}\n\n\tpublic bool CanHaveFaction\n\t{\n\t\tget\n\t\t{\n\t\t\tif (IsBlueprint || IsFrame)\n\t\t\t{\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn category switch\n\t\t\t{\n\t\t\t\tThingCategory.Pawn => true, \n\t\t\t\tThingCategory.Building => true, \n\t\t\t\t_ => false, \n\t\t\t};\n\t\t}\n\t}\n\n\tpublic bool Claimable\n\t{\n\t\tget\n\t\t{\n\t\t\tif (building != null && building.claimable)\n\t\t\t{\n\t\t\t\treturn !building.isNaturalRock;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic ThingCategoryDef FirstThingCategory\n\t{\n\t\tget\n\t\t{\n\t\t\tif (thingCategories.NullOrEmpty())\n\t\t\t{\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\treturn thingCategories[0];\n\t\t}\n\t}\n\n\tpublic float MedicineTendXpGainFactor => Mathf.Clamp(this.GetStatValueAbstract(StatDefOf.MedicalPotency) * 0.7f, 0.5f, 1f);\n\n\tpublic bool CanEverDeteriorate\n\t{\n\t\tget\n\t\t{\n\t\t\tif (!useHitPoints)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tif (category != ThingCategory.Item)\n\t\t\t{\n\t\t\t\tif (plant != null)\n\t\t\t\t{\n\t\t\t\t\treturn plant.canDeteriorate;\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t}\n\n\tpublic bool CanInteractThroughCorners\n\t{\n\t\tget\n\t\t{\n\t\t\tif (category != ThingCategory.Building)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tif (!holdsRoof)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tif (building != null && building.isNaturalRock && !IsSmoothed)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t}\n\n\tpublic bool AffectsRegions\n\t{\n\t\tget\n\t\t{\n\t\t\tif (passability != Traversability.Impassable && !IsDoor)\n\t\t\t{\n\t\t\t\treturn IsFence;\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t}\n\n\tpublic bool AffectsReachability\n\t{\n\t\tget\n\t\t{\n\t\t\tif (AffectsRegions)\n\t\t\t{\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tif (passability == Traversability.Impassable || IsDoor)\n\t\t\t{\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tif (TouchPathEndModeUtility.MakesOccupiedCellsAlwaysReachableDiagonally(this))\n\t\t\t{\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic string DescriptionDetailed\n\t{\n\t\tget\n\t\t{\n\t\t\tif (descriptionDetailedCached == null)\n\t\t\t{\n\t\t\t\tStringBuilder stringBuilder = new StringBuilder();\n\t\t\t\tstringBuilder.Append(description);\n\t\t\t\tif (IsApparel)\n\t\t\t\t{\n\t\t\t\t\tstringBuilder.AppendLine();\n\t\t\t\t\tstringBuilder.AppendLine();\n\t\t\t\t\tstringBuilder.AppendLine(string.Format(\"{0}: {1}\", \"Layer\".Translate(), apparel.GetLayersString()));\n\t\t\t\t\tstringBuilder.Append(string.Format(\"{0}: {1}\", \"Covers\".Translate(), apparel.GetCoveredOuterPartsString(BodyDefOf.Human)));\n\t\t\t\t\tif (equippedStatOffsets != null && equippedStatOffsets.Count > 0)\n\t\t\t\t\t{\n\t\t\t\t\t\tstringBuilder.AppendLine();\n\t\t\t\t\t\tstringBuilder.AppendLine();\n\t\t\t\t\t\tfor (int i = 0; i < equippedStatOffsets.Count; i++)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif (i > 0)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tstringBuilder.AppendLine();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tStatModifier statModifier = equippedStatOffsets[i];\n\t\t\t\t\t\t\tstringBuilder.Append($\"{statModifier.stat.LabelCap}: {statModifier.ValueToStringAsOffset}\");\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tdescriptionDetailedCached = stringBuilder.ToString();\n\t\t\t}\n\t\t\treturn descriptionDetailedCached;\n\t\t}\n\t}\n\n\tpublic bool CanBenefitFromCover\n\t{\n\t\tget\n\t\t{\n\t\t\tif (category == ThingCategory.Pawn)\n\t\t\t{\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tif (building != null && building.IsTurret)\n\t\t\t{\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic bool PotentiallySmeltable\n\t{\n\t\tget\n\t\t{\n\t\t\tif (!smeltable)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tif (base.MadeFromStuff)\n\t\t\t{\n\t\t\t\tforeach (ThingDef item in GenStuff.AllowedStuffsFor(this))\n\t\t\t\t{\n\t\t\t\t\tif (item.smeltable)\n\t\t\t\t\t{\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t}\n\n\tpublic bool HasSingleOrMultipleInteractionCells\n\t{\n\t\tget\n\t\t{\n\t\t\tif (!hasInteractionCell)\n\t\t\t{\n\t\t\t\treturn !multipleInteractionCellOffsets.NullOrEmpty();\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t}\n\n\tpublic bool IsApparel => apparel != null;\n\n\tpublic bool IsBed => typeof(Building_Bed).IsAssignableFrom(thingClass);\n\n\tpublic bool IsWall\n\t{\n\t\tget\n\t\t{\n\t\t\tif (building != null)\n\t\t\t{\n\t\t\t\treturn building.isWall;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic bool IsCorpse => typeof(Corpse).IsAssignableFrom(thingClass);\n\n\tpublic bool IsFrame => isFrameInt;\n\n\tpublic bool IsBlueprint\n\t{\n\t\tget\n\t\t{\n\t\t\tif (entityDefToBuild != null)\n\t\t\t{\n\t\t\t\treturn category == ThingCategory.Ethereal;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic bool IsStuff => stuffProps != null;\n\n\tpublic bool IsMedicine => statBases.StatListContains(StatDefOf.MedicalPotency);\n\n\tpublic bool IsDoor => typeof(Building_Door).IsAssignableFrom(thingClass);\n\n\tpublic bool IsFence\n\t{\n\t\tget\n\t\t{\n\t\t\tif (building != null)\n\t\t\t{\n\t\t\t\treturn building.isFence;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic bool IsFilth => filth != null;\n\n\tpublic bool IsIngestible => ingestible != null;\n\n\tpublic bool IsNutritionGivingIngestible\n\t{\n\t\tget\n\t\t{\n\t\t\tif (IsIngestible)\n\t\t\t{\n\t\t\t\treturn ingestible.CachedNutrition > 0f;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic bool IsNutritionGivingIngestibleForHumanlikeBabies\n\t{\n\t\tget\n\t\t{\n\t\t\tif (IsNutritionGivingIngestible && ingestible.HumanEdible)\n\t\t\t{\n\t\t\t\treturn ingestible.babiesCanIngest;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic bool IsWeapon\n\t{\n\t\tget\n\t\t{\n\t\t\tif (category == ThingCategory.Item && (!verbs.NullOrEmpty() || !tools.NullOrEmpty()))\n\t\t\t{\n\t\t\t\treturn !IsApparel;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic bool IsCommsConsole => typeof(Building_CommsConsole).IsAssignableFrom(thingClass);\n\n\tpublic bool IsOrbitalTradeBeacon => typeof(Building_OrbitalTradeBeacon).IsAssignableFrom(thingClass);\n\n\tpublic bool IsFoodDispenser => typeof(Building_NutrientPasteDispenser).IsAssignableFrom(thingClass);\n\n\tpublic bool IsDrug\n\t{\n\t\tget\n\t\t{\n\t\t\tif (ingestible != null)\n\t\t\t{\n\t\t\t\treturn ingestible.drugCategory != DrugCategory.None;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic bool IsPleasureDrug\n\t{\n\t\tget\n\t\t{\n\t\t\tif (IsDrug)\n\t\t\t{\n\t\t\t\treturn ingestible.joy > 0f;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic bool IsNonMedicalDrug\n\t{\n\t\tget\n\t\t{\n\t\t\tif (IsDrug)\n\t\t\t{\n\t\t\t\treturn ingestible.drugCategory != DrugCategory.Medical;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic bool IsTable\n\t{\n\t\tget\n\t\t{\n\t\t\tif (surfaceType == SurfaceType.Eat)\n\t\t\t{\n\t\t\t\treturn HasComp(typeof(CompGatherSpot));\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic bool IsWorkTable => typeof(Building_WorkTable).IsAssignableFrom(thingClass);\n\n\tpublic bool IsShell => projectileWhenLoaded != null;\n\n\tpublic bool IsArt => IsWithinCategory(ThingCategoryDefOf.BuildingsArt);\n\n\tpublic bool IsSmoothable => building?.smoothedThing != null;\n\n\tpublic bool IsSmoothed => building?.unsmoothedThing != null;\n\n\tpublic bool IsMetal\n\t{\n\t\tget\n\t\t{\n\t\t\tif (stuffProps != null)\n\t\t\t{\n\t\t\t\treturn stuffProps.categories.Contains(StuffCategoryDefOf.Metallic);\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic bool IsCryptosleepCasket => typeof(Building_CryptosleepCasket).IsAssignableFrom(thingClass);\n\n\tpublic bool IsGibbetCage => typeof(Building_GibbetCage).IsAssignableFrom(thingClass);\n\n\tpublic bool IsMechGestator => typeof(Building_MechGestator).IsAssignableFrom(thingClass);\n\n\tpublic bool IsMechRecharger => typeof(Building_MechCharger).IsAssignableFrom(thingClass);\n\n\tpublic bool IsAddictiveDrug\n\t{\n\t\tget\n\t\t{\n\t\t\tCompProperties_Drug compProperties = GetCompProperties();\n\t\t\tif (compProperties != null)\n\t\t\t{\n\t\t\t\treturn compProperties.addictiveness > 0f;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic bool IsMeat\n\t{\n\t\tget\n\t\t{\n\t\t\tif (category == ThingCategory.Item && thingCategories != null)\n\t\t\t{\n\t\t\t\treturn thingCategories.Contains(ThingCategoryDefOf.MeatRaw);\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic bool IsEgg\n\t{\n\t\tget\n\t\t{\n\t\t\tif (category == ThingCategory.Item && thingCategories != null)\n\t\t\t{\n\t\t\t\tif (!thingCategories.Contains(ThingCategoryDefOf.EggsFertilized))\n\t\t\t\t{\n\t\t\t\t\treturn thingCategories.Contains(ThingCategoryDefOf.EggsUnfertilized);\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic bool IsLeather\n\t{\n\t\tget\n\t\t{\n\t\t\tif (category == ThingCategory.Item && thingCategories != null)\n\t\t\t{\n\t\t\t\treturn thingCategories.Contains(ThingCategoryDefOf.Leathers);\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic bool IsWool\n\t{\n\t\tget\n\t\t{\n\t\t\tif (category == ThingCategory.Item && thingCategories != null)\n\t\t\t{\n\t\t\t\treturn thingCategories.Contains(ThingCategoryDefOf.Wools);\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic bool IsRangedWeapon\n\t{\n\t\tget\n\t\t{\n\t\t\tif (!IsWeapon)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tif (!verbs.NullOrEmpty())\n\t\t\t{\n\t\t\t\tfor (int i = 0; i < verbs.Count; i++)\n\t\t\t\t{\n\t\t\t\t\tif (!verbs[i].IsMeleeAttack)\n\t\t\t\t\t{\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic bool IsMeleeWeapon\n\t{\n\t\tget\n\t\t{\n\t\t\tif (IsWeapon)\n\t\t\t{\n\t\t\t\treturn !IsRangedWeapon;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic bool IsWeaponUsingProjectiles\n\t{\n\t\tget\n\t\t{\n\t\t\tif (!IsWeapon)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tif (!verbs.NullOrEmpty())\n\t\t\t{\n\t\t\t\tfor (int i = 0; i < verbs.Count; i++)\n\t\t\t\t{\n\t\t\t\t\tif (verbs[i].LaunchesProjectile)\n\t\t\t\t\t{\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic bool IsShieldThatBlocksRanged\n\t{\n\t\tget\n\t\t{\n\t\t\tif (HasComp(typeof(CompShield)))\n\t\t\t{\n\t\t\t\treturn GetCompProperties().blocksRangedWeapons;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic bool IsBuildingArtificial\n\t{\n\t\tget\n\t\t{\n\t\t\tif (category == ThingCategory.Building || IsFrame)\n\t\t\t{\n\t\t\t\tif (building != null)\n\t\t\t\t{\n\t\t\t\t\tif (!building.isNaturalRock)\n\t\t\t\t\t{\n\t\t\t\t\t\treturn !building.isResourceRock;\n\t\t\t\t\t}\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic bool IsNonResourceNaturalRock\n\t{\n\t\tget\n\t\t{\n\t\t\tif (category == ThingCategory.Building && building.isNaturalRock && !building.isResourceRock && !building.mineablePreventNaturalRockOnSurface)\n\t\t\t{\n\t\t\t\treturn !IsSmoothed;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic bool HasSunShadows\n\t{\n\t\tget\n\t\t{\n\t\t\tif (!hasSunShadowsCached.HasValue)\n\t\t\t{\n\t\t\t\thasSunShadowsCached = typeof(Pawn).IsAssignableFrom(thingClass);\n\t\t\t}\n\t\t\treturn hasSunShadowsCached.Value;\n\t\t}\n\t}\n\n\tpublic bool IsNaturalOrgan\n\t{\n\t\tget\n\t\t{\n\t\t\tif (!isNaturalOrganCached.HasValue)\n\t\t\t{\n\t\t\t\tif (category != ThingCategory.Item)\n\t\t\t\t{\n\t\t\t\t\tisNaturalOrganCached = false;\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tList allDefsListForReading = DefDatabase.AllDefsListForReading;\n\t\t\t\t\tisNaturalOrganCached = false;\n\t\t\t\t\tfor (int i = 0; i < allDefsListForReading.Count; i++)\n\t\t\t\t\t{\n\t\t\t\t\t\tif (allDefsListForReading[i].spawnThingOnRemoved == this)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tisNaturalOrganCached = true;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn isNaturalOrganCached.Value;\n\t\t}\n\t}\n\n\tpublic bool IsFungus\n\t{\n\t\tget\n\t\t{\n\t\t\tif (ingestible != null)\n\t\t\t{\n\t\t\t\treturn ingestible.foodType.HasFlag(FoodTypeFlags.Fungus);\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic bool IsAnimalProduct\n\t{\n\t\tget\n\t\t{\n\t\t\tif (ingestible != null)\n\t\t\t{\n\t\t\t\treturn ingestible.foodType.HasFlag(FoodTypeFlags.AnimalProduct);\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic bool IsProcessedFood\n\t{\n\t\tget\n\t\t{\n\t\t\tif (ingestible != null)\n\t\t\t{\n\t\t\t\treturn ingestible.foodType.HasFlag(FoodTypeFlags.Processed);\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic bool CanAffectLinker\n\t{\n\t\tget\n\t\t{\n\t\t\tif (graphicData == null || !graphicData.Linked)\n\t\t\t{\n\t\t\t\treturn IsDoor;\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t}\n\n\tpublic bool IsNonDeconstructibleAttackableBuilding\n\t{\n\t\tget\n\t\t{\n\t\t\tif (IsBuildingArtificial && !building.IsDeconstructible && destroyable && !mineable && building.isTargetable)\n\t\t\t{\n\t\t\t\treturn building.draftAttackNonDeconstructable;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic bool IsPlant => typeof(Plant).IsAssignableFrom(thingClass);\n\n\tpublic bool IsDeadPlant => typeof(DeadPlant).IsAssignableFrom(thingClass);\n\n\tpublic bool IsStudiable => HasAssignableCompFrom(typeof(CompStudiable));\n\n\tpublic List RelevantStyleCategories\n\t{\n\t\tget\n\t\t{\n\t\t\tif (cachedRelevantStyleCategories == null)\n\t\t\t{\n\t\t\t\tcachedRelevantStyleCategories = new List();\n\t\t\t\tforeach (StyleCategoryDef allDef in DefDatabase.AllDefs)\n\t\t\t\t{\n\t\t\t\t\tif (allDef.thingDefStyles.NullOrEmpty())\n\t\t\t\t\t{\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t\tforeach (ThingDefStyle thingDefStyle in allDef.thingDefStyles)\n\t\t\t\t\t{\n\t\t\t\t\t\tif (thingDefStyle.ThingDef == this)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcachedRelevantStyleCategories.Add(allDef);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn cachedRelevantStyleCategories;\n\t\t}\n\t}\n\n\tpublic string LabelAsStuff\n\t{\n\t\tget\n\t\t{\n\t\t\tif (!stuffProps.stuffAdjective.NullOrEmpty())\n\t\t\t{\n\t\t\t\treturn stuffProps.stuffAdjective;\n\t\t\t}\n\t\t\treturn label;\n\t\t}\n\t}\n\n\tpublic bool BlocksPlanting(bool canWipePlants = false)\n\t{\n\t\tif (building != null && building.SupportsPlants)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tif (building != null && building.isAttachment)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tif (blockPlants)\n\t\t{\n\t\t\treturn true;\n\t\t}\n\t\tif (!canWipePlants && category == ThingCategory.Plant)\n\t\t{\n\t\t\treturn true;\n\t\t}\n\t\tif ((int)Fillage > 0)\n\t\t{\n\t\t\treturn true;\n\t\t}\n\t\tif (this.IsEdifice())\n\t\t{\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic virtual bool CanSpawnAt(IntVec3 pos, Rot4 rot, Map map)\n\t{\n\t\treturn true;\n\t}\n\n\tpublic bool EverStorable(bool willMinifyIfPossible)\n\t{\n\t\tif (typeof(MinifiedThing).IsAssignableFrom(thingClass))\n\t\t{\n\t\t\treturn true;\n\t\t}\n\t\tif (!thingCategories.NullOrEmpty())\n\t\t{\n\t\t\tif (category == ThingCategory.Item)\n\t\t\t{\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tif (willMinifyIfPossible && Minifiable)\n\t\t\t{\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic Thing GetConcreteExample(ThingDef stuff = null)\n\t{\n\t\tif (concreteExamplesInt == null)\n\t\t{\n\t\t\tconcreteExamplesInt = new Dictionary();\n\t\t}\n\t\tif (stuff == null)\n\t\t{\n\t\t\tstuff = ThingDefOf.Steel;\n\t\t}\n\t\tif (!concreteExamplesInt.ContainsKey(stuff))\n\t\t{\n\t\t\tif (race == null)\n\t\t\t{\n\t\t\t\tconcreteExamplesInt[stuff] = ThingMaker.MakeThing(this, base.MadeFromStuff ? stuff : null);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tconcreteExamplesInt[stuff] = PawnGenerator.GeneratePawn(DefDatabase.AllDefsListForReading.FirstOrDefault((PawnKindDef pkd) => pkd.race == this));\n\t\t\t}\n\t\t}\n\t\treturn concreteExamplesInt[stuff];\n\t}\n\n\tpublic CompProperties CompDefFor() where T : ThingComp\n\t{\n\t\tfor (int i = 0; i < comps.Count; i++)\n\t\t{\n\t\t\tif (comps[i].compClass == typeof(T))\n\t\t\t{\n\t\t\t\treturn comps[i];\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tpublic CompProperties CompDefForAssignableFrom() where T : ThingComp\n\t{\n\t\tfor (int i = 0; i < comps.Count; i++)\n\t\t{\n\t\t\tif (typeof(T).IsAssignableFrom(comps[i].compClass))\n\t\t\t{\n\t\t\t\treturn comps[i];\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tpublic bool HasComp(Type compType)\n\t{\n\t\tfor (int i = 0; i < comps.Count; i++)\n\t\t{\n\t\t\tif (comps[i].compClass == compType)\n\t\t\t{\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic bool HasComp() where T : ThingComp\n\t{\n\t\tfor (int i = 0; i < comps.Count; i++)\n\t\t{\n\t\t\tif (comps[i].compClass == typeof(T) || typeof(T).IsAssignableFrom(comps[i].compClass))\n\t\t\t{\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic bool HasAssignableCompFrom(Type compType)\n\t{\n\t\tfor (int i = 0; i < comps.Count; i++)\n\t\t{\n\t\t\tif (compType.IsAssignableFrom(comps[i].compClass))\n\t\t\t{\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic T GetCompProperties() where T : CompProperties\n\t{\n\t\tfor (int i = 0; i < comps.Count; i++)\n\t\t{\n\t\t\tif (comps[i] is T result)\n\t\t\t{\n\t\t\t\treturn result;\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tpublic override void PostLoad()\n\t{\n\t\tif (graphicData != null)\n\t\t{\n\t\t\tLongEventHandler.ExecuteWhenFinished(delegate\n\t\t\t{\n\t\t\t\tGraphicData graphicData = this.graphicData;\n\t\t\t\tif (graphicData.shaderType == null)\n\t\t\t\t{\n\t\t\t\t\tgraphicData.shaderType = ShaderTypeDefOf.Cutout;\n\t\t\t\t}\n\t\t\t\tContentFinderRequester.requester = this;\n\t\t\t\ttry\n\t\t\t\t{\n\t\t\t\t\tgraphic = this.graphicData.Graphic;\n\t\t\t\t\tif (drawerType != DrawerType.RealtimeOnly)\n\t\t\t\t\t{\n\t\t\t\t\t\tTextureAtlasGroup textureAtlasGroup = category.ToAtlasGroup();\n\t\t\t\t\t\tgraphic.TryInsertIntoAtlas(textureAtlasGroup);\n\t\t\t\t\t\tif (textureAtlasGroup == TextureAtlasGroup.Building && Minifiable)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tgraphic.TryInsertIntoAtlas(TextureAtlasGroup.Item);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tfinally\n\t\t\t\t{\n\t\t\t\t\tContentFinderRequester.requester = null;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\tif (tools != null)\n\t\t{\n\t\t\tfor (int i = 0; i < tools.Count; i++)\n\t\t\t{\n\t\t\t\ttools[i].id = i.ToString();\n\t\t\t}\n\t\t}\n\t\tif (verbs != null && verbs.Count == 1 && verbs[0].label.NullOrEmpty())\n\t\t{\n\t\t\tverbs[0].label = label;\n\t\t}\n\t\tbase.PostLoad();\n\t\tif (category == ThingCategory.Building && building == null)\n\t\t{\n\t\t\tbuilding = new BuildingProperties();\n\t\t}\n\t\tbuilding?.PostLoadSpecial(this);\n\t\tapparel?.PostLoadSpecial(this);\n\t\tplant?.PostLoadSpecial(this);\n\t\tif (comps == null)\n\t\t{\n\t\t\treturn;\n\t\t}\n\t\tforeach (CompProperties comp in comps)\n\t\t{\n\t\t\tcomp.PostLoadSpecial(this);\n\t\t}\n\t}\n\n\tprotected override void ResolveIcon()\n\t{\n\t\tbase.ResolveIcon();\n\t\tif (category == ThingCategory.Pawn)\n\t\t{\n\t\t\tif (!uiIconPath.NullOrEmpty())\n\t\t\t{\n\t\t\t\tuiIcon = ContentFinder.Get(uiIconPath);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tif (race.Humanlike)\n\t\t\t\t{\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tPawnKindDef anyPawnKind = race.AnyPawnKind;\n\t\t\t\tif (anyPawnKind != null)\n\t\t\t\t{\n\t\t\t\t\tMaterial material = ((ModsConfig.BiotechActive && anyPawnKind.RaceProps.IsMechanoid) ? anyPawnKind.lifeStages.First() : anyPawnKind.lifeStages.Last()).bodyGraphicData.Graphic.MatAt(Rot4.East);\n\t\t\t\t\tuiIcon = (Texture2D)material.mainTexture;\n\t\t\t\t\tuiIconColor = material.color;\n\t\t\t\t\tif (ShaderDatabase.TryGetUIShader(material.shader, out var uiShader) && MaterialPool.TryGetRequestForMat(material, out var request))\n\t\t\t\t\t{\n\t\t\t\t\t\trequest.shader = uiShader;\n\t\t\t\t\t\tuiIconMaterial = MaterialPool.MatFrom(request);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tThingDef thingDef = GenStuff.DefaultStuffFor(this);\n\t\t\tif (colorGenerator != null && (thingDef == null || thingDef.stuffProps.allowColorGenerators))\n\t\t\t{\n\t\t\t\tuiIconColor = colorGenerator.ExemplaryColor;\n\t\t\t}\n\t\t\telse if (thingDef != null)\n\t\t\t{\n\t\t\t\tuiIconColor = GetColorForStuff(thingDef);\n\t\t\t}\n\t\t\telse if (graphicData != null)\n\t\t\t{\n\t\t\t\tuiIconColor = graphicData.color;\n\t\t\t}\n\t\t\tif (rotatable && graphic != null && graphic != BaseContent.BadGraphic && graphic.ShouldDrawRotated && defaultPlacingRot == Rot4.South)\n\t\t\t{\n\t\t\t\tuiIconAngle = 180f + graphic.DrawRotatedExtraAngleOffset;\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic override void ResolveReferences()\n\t{\n\t\tbase.ResolveReferences();\n\t\tif (ingestible != null)\n\t\t{\n\t\t\tingestible.parent = this;\n\t\t}\n\t\tif (stuffProps != null)\n\t\t{\n\t\t\tstuffProps.parent = this;\n\t\t}\n\t\tbuilding?.ResolveReferencesSpecial();\n\t\tgraphicData?.ResolveReferencesSpecial();\n\t\trace?.ResolveReferencesSpecial();\n\t\tstuffProps?.ResolveReferencesSpecial();\n\t\tapparel?.ResolveReferencesSpecial();\n\t\tif (soundImpactDefault == null)\n\t\t{\n\t\t\tsoundImpactDefault = SoundDefOf.BulletImpact_Ground;\n\t\t}\n\t\tif (soundDrop == null)\n\t\t{\n\t\t\tsoundDrop = SoundDefOf.Standard_Drop;\n\t\t}\n\t\tif (soundPickup == null)\n\t\t{\n\t\t\tsoundPickup = SoundDefOf.Standard_Pickup;\n\t\t}\n\t\tif (soundInteract == null)\n\t\t{\n\t\t\tsoundInteract = SoundDefOf.Standard_Pickup;\n\t\t}\n\t\tif (inspectorTabs != null && inspectorTabs.Any())\n\t\t{\n\t\t\tinspectorTabsResolved = new List();\n\t\t\tfor (int i = 0; i < inspectorTabs.Count; i++)\n\t\t\t{\n\t\t\t\ttry\n\t\t\t\t{\n\t\t\t\t\tinspectorTabsResolved.Add(InspectTabManager.GetSharedInstance(inspectorTabs[i]));\n\t\t\t\t}\n\t\t\t\tcatch (Exception ex)\n\t\t\t\t{\n\t\t\t\t\tLog.Error(\"Could not instantiate inspector tab of type \" + inspectorTabs[i]?.ToString() + \": \" + ex);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (comps != null)\n\t\t{\n\t\t\tfor (int j = 0; j < comps.Count; j++)\n\t\t\t{\n\t\t\t\tcomps[j].ResolveReferences(this);\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic override IEnumerable ConfigErrors()\n\t{\n\t\tforeach (string item in base.ConfigErrors())\n\t\t{\n\t\t\tyield return item;\n\t\t}\n\t\tif (category != ThingCategory.Ethereal && label.NullOrEmpty())\n\t\t{\n\t\t\tyield return \"no label\";\n\t\t}\n\t\tif (category == ThingCategory.Building && !IsFrame && building.IsDeconstructible && thingClass != null && typeof(Building).IsSubclassOf(thingClass))\n\t\t{\n\t\t\tyield return \"has building category and is marked as deconstructible, but thing class is not a subclass of building (\" + thingClass.Name + \")\";\n\t\t}\n\t\tif (graphicData != null)\n\t\t{\n\t\t\tforeach (string item2 in graphicData.ConfigErrors(this))\n\t\t\t{\n\t\t\t\tyield return item2;\n\t\t\t}\n\t\t}\n\t\tif (projectile != null)\n\t\t{\n\t\t\tforeach (string item3 in projectile.ConfigErrors(this))\n\t\t\t{\n\t\t\t\tyield return item3;\n\t\t\t}\n\t\t}\n\t\tif (statBases != null)\n\t\t{\n\t\t\tforeach (StatModifier statBase in statBases)\n\t\t\t{\n\t\t\t\tif (statBases.Count((StatModifier st) => st.stat == statBase.stat) > 1)\n\t\t\t\t{\n\t\t\t\t\tyield return \"defines the stat base \" + statBase.stat?.ToString() + \" more than once.\";\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (!BeautyUtility.BeautyRelevant(category) && this.StatBaseDefined(StatDefOf.Beauty))\n\t\t{\n\t\t\tyield return \"Beauty stat base is defined, but Things of category \" + category.ToString() + \" cannot have beauty.\";\n\t\t}\n\t\tif (!BeautyUtility.BeautyRelevant(category) && this.StatBaseDefined(StatDefOf.BeautyOutdoors))\n\t\t{\n\t\t\tyield return \"BeautyOutdoors stat base is defined, but Things of category \" + category.ToString() + \" cannot have beauty.\";\n\t\t}\n\t\tif (char.IsNumber(defName[defName.Length - 1]))\n\t\t{\n\t\t\tyield return \"ends with a numerical digit, which is not allowed on ThingDefs.\";\n\t\t}\n\t\tif (thingClass == null)\n\t\t{\n\t\t\tyield return \"has null thingClass.\";\n\t\t}\n\t\tif (comps.Count > 0 && !typeof(ThingWithComps).IsAssignableFrom(thingClass))\n\t\t{\n\t\t\tyield return \"has components but it's thingClass is not a ThingWithComps\";\n\t\t}\n\t\tif (ConnectToPower && drawerType == DrawerType.RealtimeOnly && IsFrame)\n\t\t{\n\t\t\tyield return \"connects to power but does not add to map mesh. Will not create wire meshes.\";\n\t\t}\n\t\tif (costList != null)\n\t\t{\n\t\t\tforeach (ThingDefCountClass cost in costList)\n\t\t\t{\n\t\t\t\tif (cost.count == 0)\n\t\t\t\t{\n\t\t\t\t\tyield return \"cost in \" + cost.thingDef?.ToString() + \" is zero.\";\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tThingCategoryDef thingCategoryDef = thingCategories?.FirstOrDefault((ThingCategoryDef cat) => thingCategories.Count((ThingCategoryDef c) => c == cat) > 1);\n\t\tif (thingCategoryDef != null)\n\t\t{\n\t\t\tyield return \"has duplicate thingCategory \" + thingCategoryDef?.ToString() + \".\";\n\t\t}\n\t\tif (Fillage == FillCategory.Full && category != ThingCategory.Building)\n\t\t{\n\t\t\tyield return \"gives full cover but is not a building.\";\n\t\t}\n\t\tif (equipmentType != 0)\n\t\t{\n\t\t\tif (techLevel == TechLevel.Undefined && !destroyOnDrop)\n\t\t\t{\n\t\t\t\tyield return \"is equipment but has no tech level.\";\n\t\t\t}\n\t\t\tif (!comps.Any((CompProperties c) => typeof(CompEquippable).IsAssignableFrom(c.compClass)))\n\t\t\t{\n\t\t\t\tyield return \"is equipment but has no CompEquippable\";\n\t\t\t}\n\t\t}\n\t\tif (thingClass == typeof(Bullet) && projectile.damageDef == null)\n\t\t{\n\t\t\tyield return \" is a bullet but has no damageDef.\";\n\t\t}\n\t\tif (destroyOnDrop && tradeability != 0)\n\t\t{\n\t\t\tyield return \"destroyOnDrop but tradeability is \" + tradeability;\n\t\t}\n\t\tif (stackLimit > 1 && !drawGUIOverlay)\n\t\t{\n\t\t\tyield return \"has stackLimit > 1 but also has drawGUIOverlay = false.\";\n\t\t}\n\t\tif (damageMultipliers != null)\n\t\t{\n\t\t\tforeach (DamageMultiplier mult in damageMultipliers)\n\t\t\t{\n\t\t\t\tif (damageMultipliers.Count((DamageMultiplier m) => m.damageDef == mult.damageDef) > 1)\n\t\t\t\t{\n\t\t\t\t\tyield return \"has multiple damage multipliers for damageDef \" + mult.damageDef;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (Fillage == FillCategory.Full && !this.IsEdifice())\n\t\t{\n\t\t\tyield return \"fillPercent is 1.00 but is not edifice\";\n\t\t}\n\t\tif (base.MadeFromStuff && constructEffect != null)\n\t\t{\n\t\t\tyield return \"madeFromStuff but has a defined constructEffect (which will always be overridden by stuff's construct animation).\";\n\t\t}\n\t\tif (base.MadeFromStuff && stuffCategories.NullOrEmpty())\n\t\t{\n\t\t\tyield return \"madeFromStuff but has no stuffCategories.\";\n\t\t}\n\t\tif (costList.NullOrEmpty() && costStuffCount <= 0 && recipeMaker != null)\n\t\t{\n\t\t\tyield return \"has a recipeMaker but no costList or costStuffCount.\";\n\t\t}\n\t\tif (costStuffCount > 0 && stuffCategories.NullOrEmpty())\n\t\t{\n\t\t\tyield return \"has costStuffCount but no stuffCategories.\";\n\t\t}\n\t\tif (this.GetStatValueAbstract(StatDefOf.DeteriorationRate) > 1E-05f && !CanEverDeteriorate && !destroyOnDrop)\n\t\t{\n\t\t\tyield return \"has >0 DeteriorationRate but can't deteriorate.\";\n\t\t}\n\t\tif (smeltProducts != null && !smeltable)\n\t\t{\n\t\t\tyield return \"has smeltProducts but has smeltable=false\";\n\t\t}\n\t\tif (smeltable && smeltProducts.NullOrEmpty() && base.CostList.NullOrEmpty() && !IsStuff && !base.MadeFromStuff && !destroyOnDrop)\n\t\t{\n\t\t\tyield return \"is smeltable but does not give anything for smelting.\";\n\t\t}\n\t\tif (equipmentType != 0 && verbs.NullOrEmpty() && tools.NullOrEmpty())\n\t\t{\n\t\t\tyield return \"is equipment but has no verbs or tools\";\n\t\t}\n\t\tif (Minifiable && thingCategories.NullOrEmpty())\n\t\t{\n\t\t\tyield return \"is minifiable but not in any thing category\";\n\t\t}\n\t\tif (category == ThingCategory.Building && !Minifiable && !thingCategories.NullOrEmpty())\n\t\t{\n\t\t\tyield return \"is not minifiable yet has thing categories (could be confusing in thing filters because it can't be moved/stored anyway)\";\n\t\t}\n\t\tif (!destroyOnDrop && !typeof(MinifiedThing).IsAssignableFrom(thingClass) && (EverHaulable || Minifiable) && (statBases.NullOrEmpty() || !statBases.Any((StatModifier s) => s.stat == StatDefOf.Mass)))\n\t\t{\n\t\t\tyield return \"is haulable, but does not have an authored mass value\";\n\t\t}\n\t\tif (ingestible == null && this.GetStatValueAbstract(StatDefOf.Nutrition) != 0f)\n\t\t{\n\t\t\tyield return \"has nutrition but ingestible properties are null\";\n\t\t}\n\t\tif (BaseFlammability != 0f && !useHitPoints && category != ThingCategory.Pawn && !destroyOnDrop)\n\t\t{\n\t\t\tyield return \"flammable but has no hitpoints (will burn indefinitely)\";\n\t\t}\n\t\tif (graphicData?.shadowData != null && staticSunShadowHeight > 0f)\n\t\t{\n\t\t\tyield return \"graphicData defines a shadowInfo but staticSunShadowHeight > 0\";\n\t\t}\n\t\tif (saveCompressible && Claimable)\n\t\t{\n\t\t\tyield return \"claimable item is compressible; faction will be unset after load\";\n\t\t}\n\t\tif (deepCommonality > 0f != deepLumpSizeRange.TrueMax > 0)\n\t\t{\n\t\t\tyield return \"if deepCommonality or deepLumpSizeRange is set, the other also must be set\";\n\t\t}\n\t\tif (deepCommonality > 0f && deepCountPerPortion <= 0)\n\t\t{\n\t\t\tyield return \"deepCommonality > 0 but deepCountPerPortion is not set\";\n\t\t}\n\t\tif (verbs != null)\n\t\t{\n\t\t\tfor (int i = 0; i < verbs.Count; i++)\n\t\t\t{\n\t\t\t\tforeach (string item4 in verbs[i].ConfigErrors(this))\n\t\t\t\t{\n\t\t\t\t\tyield return $\"verb {i}: {item4}\";\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (building != null)\n\t\t{\n\t\t\tforeach (string item5 in building.ConfigErrors(this))\n\t\t\t{\n\t\t\t\tyield return item5;\n\t\t\t}\n\t\t\tif ((building.isAirtight || building.isStuffableAirtight) && Fillage != FillCategory.Full)\n\t\t\t{\n\t\t\t\tyield return \"is airtight but Fillage is not Full\";\n\t\t\t}\n\t\t}\n\t\tif (apparel != null)\n\t\t{\n\t\t\tforeach (string item6 in apparel.ConfigErrors(this))\n\t\t\t{\n\t\t\t\tyield return item6;\n\t\t\t}\n\t\t}\n\t\tif (comps != null)\n\t\t{\n\t\t\tfor (int i = 0; i < comps.Count; i++)\n\t\t\t{\n\t\t\t\tforeach (string item7 in comps[i].ConfigErrors(this))\n\t\t\t\t{\n\t\t\t\t\tyield return item7;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (race != null)\n\t\t{\n\t\t\tforeach (string item8 in race.ConfigErrors(this))\n\t\t\t{\n\t\t\t\tyield return item8;\n\t\t\t}\n\t\t\tif (race.body != null && race != null && tools != null)\n\t\t\t{\n\t\t\t\tint i;\n\t\t\t\tfor (i = 0; i < tools.Count; i++)\n\t\t\t\t{\n\t\t\t\t\tif (tools[i].linkedBodyPartsGroup != null && !race.body.AllParts.Any((BodyPartRecord part) => part.groups.Contains(tools[i].linkedBodyPartsGroup)))\n\t\t\t\t\t{\n\t\t\t\t\t\tyield return \"has tool with linkedBodyPartsGroup \" + tools[i].linkedBodyPartsGroup?.ToString() + \" but body \" + race.body?.ToString() + \" has no parts with that group.\";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (race.Animal && this.GetStatValueAbstract(StatDefOf.Wildness) < 0f)\n\t\t\t{\n\t\t\t\tyield return \"is animal but wildness is not defined\";\n\t\t\t}\n\t\t}\n\t\tif (ingestible != null)\n\t\t{\n\t\t\tforeach (string item9 in ingestible.ConfigErrors())\n\t\t\t{\n\t\t\t\tyield return item9;\n\t\t\t}\n\t\t}\n\t\tif (plant != null)\n\t\t{\n\t\t\tforeach (string item10 in plant.ConfigErrors())\n\t\t\t{\n\t\t\t\tyield return item10;\n\t\t\t}\n\t\t}\n\t\tif (tools != null)\n\t\t{\n\t\t\tTool tool = tools.SelectMany((Tool lhs) => tools.Where((Tool rhs) => lhs != rhs && lhs.id == rhs.id)).FirstOrDefault();\n\t\t\tif (tool != null)\n\t\t\t{\n\t\t\t\tyield return \"duplicate thingdef tool id \" + tool.id;\n\t\t\t}\n\t\t\tforeach (Tool tool2 in tools)\n\t\t\t{\n\t\t\t\tforeach (string item11 in tool2.ConfigErrors())\n\t\t\t\t{\n\t\t\t\t\tyield return item11;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (!randomStyle.NullOrEmpty())\n\t\t{\n\t\t\tforeach (ThingStyleChance item12 in randomStyle)\n\t\t\t{\n\t\t\t\tif (item12.Chance <= 0f)\n\t\t\t\t{\n\t\t\t\t\tyield return \"style chance <= 0.\";\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (!comps.Any((CompProperties c) => c.compClass == typeof(CompStyleable)))\n\t\t\t{\n\t\t\t\tyield return \"random style assigned, but missing CompStyleable!\";\n\t\t\t}\n\t\t}\n\t\tif (relicChance > 0f && category != ThingCategory.Item)\n\t\t{\n\t\t\tyield return \"relic chance > 0 but category != item\";\n\t\t}\n\t\tif (hasInteractionCell && !multipleInteractionCellOffsets.NullOrEmpty())\n\t\t{\n\t\t\tyield return \"both single and multiple interaction cells are defined, it should be one or the other\";\n\t\t}\n\t\tif (Fillage != FillCategory.Full && passability == Traversability.Impassable && !IsDoor && base.BuildableByPlayer && !disableImpassableShotOverConfigError)\n\t\t{\n\t\t\tyield return \"impassable, player-buildable building that can be shot/seen over.\";\n\t\t}\n\t}\n\n\tpublic static ThingDef Named(string defName)\n\t{\n\t\treturn DefDatabase.GetNamed(defName);\n\t}\n\n\tpublic bool IsWithinCategory(ThingCategoryDef category)\n\t{\n\t\tif (thingCategories == null)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tfor (int i = 0; i < thingCategories.Count; i++)\n\t\t{\n\t\t\tfor (ThingCategoryDef thingCategoryDef = thingCategories[i]; thingCategoryDef != null; thingCategoryDef = thingCategoryDef.parent)\n\t\t\t{\n\t\t\t\tif (thingCategoryDef == category)\n\t\t\t\t{\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic void Notify_UnlockedByResearch()\n\t{\n\t\tif (comps != null)\n\t\t{\n\t\t\tfor (int i = 0; i < comps.Count; i++)\n\t\t\t{\n\t\t\t\tcomps[i].Notify_PostUnlockedByResearch(this);\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic override IEnumerable SpecialDisplayStats(StatRequest req)\n\t{\n\t\tforeach (StatDrawEntry item in base.SpecialDisplayStats(req))\n\t\t{\n\t\t\tyield return item;\n\t\t}\n\t\tif (apparel != null)\n\t\t{\n\t\t\tstring coveredOuterPartsString = apparel.GetCoveredOuterPartsString(BodyDefOf.Human);\n\t\t\tyield return new StatDrawEntry(StatCategoryDefOf.Apparel, \"Covers\".Translate(), coveredOuterPartsString, \"Stat_Thing_Apparel_Covers_Desc\".Translate(), 2750);\n\t\t\tyield return new StatDrawEntry(StatCategoryDefOf.Apparel, \"Layer\".Translate(), apparel.GetLayersString(), \"Stat_Thing_Apparel_Layer_Desc\".Translate(), 2751);\n\t\t\tyield return new StatDrawEntry(StatCategoryDefOf.Apparel, \"Stat_Thing_Apparel_CountsAsClothingNudity_Name\".Translate(), apparel.countsAsClothingForNudity ? \"Yes\".Translate() : \"No\".Translate(), \"Stat_Thing_Apparel_CountsAsClothingNudity_Desc\".Translate(), 2753);\n\t\t\tif (ModsConfig.BiotechActive)\n\t\t\t{\n\t\t\t\tyield return new StatDrawEntry(StatCategoryDefOf.Apparel, \"Stat_Thing_Apparel_ValidLifestage\".Translate(), apparel.developmentalStageFilter.ToCommaList().CapitalizeFirst(), \"Stat_Thing_Apparel_ValidLifestage_Desc\".Translate(), 2748);\n\t\t\t}\n\t\t\tif (apparel.gender != 0)\n\t\t\t{\n\t\t\t\tyield return new StatDrawEntry(StatCategoryDefOf.Apparel, \"Stat_Thing_Apparel_Gender\".Translate(), apparel.gender.GetLabel().CapitalizeFirst(), \"Stat_Thing_Apparel_Gender_Desc\".Translate(), 2749);\n\t\t\t}\n\t\t}\n\t\tif (IsMedicine && MedicineTendXpGainFactor != 1f)\n\t\t{\n\t\t\tyield return new StatDrawEntry(StatCategoryDefOf.Basics, \"MedicineXpGainFactor\".Translate(), MedicineTendXpGainFactor.ToStringPercent(), \"Stat_Thing_Drug_MedicineXpGainFactor_Desc\".Translate(), 1000);\n\t\t}\n\t\tif (fillPercent > 0f && (category == ThingCategory.Item || category == ThingCategory.Building || category == ThingCategory.Plant))\n\t\t{\n\t\t\tyield return new StatDrawEntry(StatCategoryDefOf.Basics, \"CoverEffectiveness\".Translate(), this.BaseBlockChance().ToStringPercent(), \"CoverEffectivenessExplanation\".Translate(), 2000);\n\t\t}\n\t\tif (constructionSkillPrerequisite > 0)\n\t\t{\n\t\t\tyield return new StatDrawEntry(StatCategoryDefOf.Basics, \"SkillRequiredToBuild\".Translate(SkillDefOf.Construction.LabelCap), constructionSkillPrerequisite.ToString(), \"SkillRequiredToBuildExplanation\".Translate(SkillDefOf.Construction.LabelCap), 1100);\n\t\t}\n\t\tif (artisticSkillPrerequisite > 0)\n\t\t{\n\t\t\tyield return new StatDrawEntry(StatCategoryDefOf.Basics, \"SkillRequiredToBuild\".Translate(SkillDefOf.Artistic.LabelCap), artisticSkillPrerequisite.ToString(), \"SkillRequiredToBuildExplanation\".Translate(SkillDefOf.Artistic.LabelCap), 1100);\n\t\t}\n\t\tIEnumerable recipes = DefDatabase.AllDefsListForReading.Where((RecipeDef r) => r.products.Count == 1 && r.products.Any((ThingDefCountClass p) => p.thingDef == this) && !r.IsSurgery);\n\t\tif (recipes.Any())\n\t\t{\n\t\t\tIEnumerable enumerable = (from u in recipes.Where((RecipeDef x) => x.recipeUsers != null).SelectMany((RecipeDef r) => r.recipeUsers)\n\t\t\t\tselect u.label).Concat(from x in DefDatabase.AllDefsListForReading\n\t\t\t\twhere x.recipes != null && x.recipes.Any((RecipeDef y) => y.products.Any((ThingDefCountClass z) => z.thingDef == this))\n\t\t\t\tselect x.label).Distinct();\n\t\t\tif (enumerable.Any())\n\t\t\t{\n\t\t\t\tyield return new StatDrawEntry(StatCategoryDefOf.Basics, \"CreatedAt\".Translate(), enumerable.ToCommaList().CapitalizeFirst(), \"Stat_Thing_CreatedAt_Desc\".Translate(), 1103);\n\t\t\t}\n\t\t\tRecipeDef recipeDef = recipes.FirstOrDefault();\n\t\t\tif (recipeDef != null && !recipeDef.ingredients.NullOrEmpty())\n\t\t\t{\n\t\t\t\tBuildableDef.tmpCostList.Clear();\n\t\t\t\tBuildableDef.tmpHyperlinks.Clear();\n\t\t\t\tfor (int j = 0; j < recipeDef.ingredients.Count; j++)\n\t\t\t\t{\n\t\t\t\t\tIngredientCount ingredientCount = recipeDef.ingredients[j];\n\t\t\t\t\tif (ingredientCount.filter.Summary.NullOrEmpty())\n\t\t\t\t\t{\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t\tIEnumerable allowedThingDefs = ingredientCount.filter.AllowedThingDefs;\n\t\t\t\t\tif (allowedThingDefs.Any())\n\t\t\t\t\t{\n\t\t\t\t\t\tforeach (ThingDef p in allowedThingDefs)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif (!BuildableDef.tmpHyperlinks.Any((Dialog_InfoCard.Hyperlink x) => x.def == p))\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tBuildableDef.tmpHyperlinks.Add(new Dialog_InfoCard.Hyperlink(p));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tBuildableDef.tmpCostList.Add(recipeDef.IngredientValueGetter.BillRequirementsDescription(recipeDef, ingredientCount));\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (BuildableDef.tmpCostList.Any())\n\t\t\t{\n\t\t\t\tyield return new StatDrawEntry(StatCategoryDefOf.Basics, \"Ingredients\".Translate(), BuildableDef.tmpCostList.ToCommaList(), \"Stat_Thing_Ingredients\".Translate(), 1102, null, BuildableDef.tmpHyperlinks);\n\t\t\t}\n\t\t}\n\t\tif (thingClass != null && typeof(Building_Bed).IsAssignableFrom(thingClass) && !statBases.StatListContains(StatDefOf.BedRestEffectiveness))\n\t\t{\n\t\t\tyield return new StatDrawEntry(StatCategoryDefOf.Building, StatDefOf.BedRestEffectiveness, StatDefOf.BedRestEffectiveness.valueIfMissing, StatRequest.ForEmpty());\n\t\t}\n\t\tif (!verbs.NullOrEmpty())\n\t\t{\n\t\t\tVerbProperties verb = verbs.First((VerbProperties x) => x.isPrimary);\n\t\t\tStatCategoryDef verbStatCategory = ((category == ThingCategory.Pawn) ? StatCategoryDefOf.PawnCombat : null);\n\t\t\tfloat num = verb.warmupTime;\n\t\t\tStringBuilder stringBuilder = new StringBuilder(\"Stat_Thing_Weapon_RangedWarmupTime_Desc\".Translate());\n\t\t\tstringBuilder.AppendLine();\n\t\t\tstringBuilder.AppendLine();\n\t\t\tstringBuilder.AppendLine(\"StatsReport_BaseValue\".Translate() + \": \" + num.ToString(\"0.##\") + \" \" + \"LetterSecond\".Translate());\n\t\t\tif (num > 0f)\n\t\t\t{\n\t\t\t\tif (req.HasThing)\n\t\t\t\t{\n\t\t\t\t\tfloat statValue = req.Thing.GetStatValue(StatDefOf.RangedWeapon_WarmupMultiplier);\n\t\t\t\t\tnum *= statValue;\n\t\t\t\t\tif (!Mathf.Approximately(statValue, 1f))\n\t\t\t\t\t{\n\t\t\t\t\t\tstringBuilder.AppendLine();\n\t\t\t\t\t\tstringBuilder.AppendLine(\"Stat_Thing_Weapon_WarmupTime_Multiplier\".Translate() + \": x\" + statValue.ToStringPercent());\n\t\t\t\t\t\tstringBuilder.Append(StatUtility.GetOffsetsAndFactorsFor(StatDefOf.RangedWeapon_WarmupMultiplier, req.Thing));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tstringBuilder.AppendLine();\n\t\t\t\tstringBuilder.AppendLine(\"StatsReport_FinalValue\".Translate() + \": \" + num.ToString(\"0.##\") + \" \" + \"LetterSecond\".Translate());\n\t\t\t\tyield return new StatDrawEntry(verbStatCategory ?? StatCategoryDefOf.Weapon_Ranged, \"RangedWarmupTime\".Translate(), num.ToString(\"0.##\") + \" \" + \"LetterSecond\".Translate(), stringBuilder.ToString(), 3555);\n\t\t\t}\n\t\t\tif (verb.defaultProjectile?.projectile.damageDef != null && verb.defaultProjectile.projectile.damageDef.harmsHealth)\n\t\t\t{\n\t\t\t\tStatCategoryDef statCat = verbStatCategory ?? StatCategoryDefOf.Weapon_Ranged;\n\t\t\t\tStringBuilder stringBuilder2 = new StringBuilder();\n\t\t\t\tstringBuilder2.AppendLine(\"Stat_Thing_Damage_Desc\".Translate());\n\t\t\t\tstringBuilder2.AppendLine();\n\t\t\t\tfloat num2 = verb.defaultProjectile.projectile.GetDamageAmount(req.Thing, stringBuilder2);\n\t\t\t\tyield return new StatDrawEntry(statCat, \"Damage\".Translate(), num2.ToString(), stringBuilder2.ToString(), 5500);\n\t\t\t\tif (verb.defaultProjectile.projectile.damageDef.armorCategory != null)\n\t\t\t\t{\n\t\t\t\t\tStringBuilder stringBuilder3 = new StringBuilder();\n\t\t\t\t\tfloat armorPenetration = verb.defaultProjectile.projectile.GetArmorPenetration(req.Thing, stringBuilder3);\n\t\t\t\t\tTaggedString taggedString = \"ArmorPenetrationExplanation\".Translate();\n\t\t\t\t\tif (stringBuilder3.Length != 0)\n\t\t\t\t\t{\n\t\t\t\t\t\ttaggedString += \"\\n\\n\" + stringBuilder3;\n\t\t\t\t\t}\n\t\t\t\t\tyield return new StatDrawEntry(statCat, \"ArmorPenetration\".Translate(), armorPenetration.ToStringPercent(), taggedString, 5400);\n\t\t\t\t}\n\t\t\t\tfloat buildingDamageFactor = verb.defaultProjectile.projectile.damageDef.buildingDamageFactor;\n\t\t\t\tfloat dmgBuildingsImpassable = verb.defaultProjectile.projectile.damageDef.buildingDamageFactorImpassable;\n\t\t\t\tfloat dmgBuildingsPassable = verb.defaultProjectile.projectile.damageDef.buildingDamageFactorPassable;\n\t\t\t\tif (buildingDamageFactor != 1f)\n\t\t\t\t{\n\t\t\t\t\tyield return new StatDrawEntry(statCat, \"BuildingDamageFactor\".Translate(), buildingDamageFactor.ToStringPercent(), \"BuildingDamageFactorExplanation\".Translate(), 5410);\n\t\t\t\t}\n\t\t\t\tif (dmgBuildingsImpassable != 1f)\n\t\t\t\t{\n\t\t\t\t\tyield return new StatDrawEntry(statCat, \"BuildingDamageFactorImpassable\".Translate(), dmgBuildingsImpassable.ToStringPercent(), \"BuildingDamageFactorImpassableExplanation\".Translate(), 5420);\n\t\t\t\t}\n\t\t\t\tif (dmgBuildingsPassable != 1f)\n\t\t\t\t{\n\t\t\t\t\tyield return new StatDrawEntry(statCat, \"BuildingDamageFactorPassable\".Translate(), dmgBuildingsPassable.ToStringPercent(), \"BuildingDamageFactorPassableExplanation\".Translate(), 5430);\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (verb.defaultProjectile == null && verb.beamDamageDef != null)\n\t\t\t{\n\t\t\t\tyield return new StatDrawEntry(verbStatCategory ?? StatCategoryDefOf.Weapon_Ranged, \"ArmorPenetration\".Translate(), verb.beamDamageDef.defaultArmorPenetration.ToStringPercent(), \"ArmorPenetrationExplanation\".Translate(), 5400);\n\t\t\t}\n\t\t\tif (verb.Ranged)\n\t\t\t{\n\t\t\t\tfloat num3 = verb.burstShotCount;\n\t\t\t\tfloat num4 = verb.ticksBetweenBurstShots;\n\t\t\t\tfloat dmgBuildingsPassable = (verb?.defaultProjectile?.projectile?.stoppingPower).GetValueOrDefault();\n\t\t\t\tStringBuilder stringBuilder4 = new StringBuilder(\"Stat_Thing_Weapon_BurstShotFireRate_Desc\".Translate());\n\t\t\t\tstringBuilder4.AppendLine();\n\t\t\t\tstringBuilder4.AppendLine();\n\t\t\t\tstringBuilder4.AppendLine(\"StatsReport_BaseValue\".Translate() + \": \" + verb.burstShotCount.ToString());\n\t\t\t\tstringBuilder4.AppendLine();\n\t\t\t\tStringBuilder ticksBetweenBurstShotsExplanation = new StringBuilder(\"Stat_Thing_Weapon_BurstShotFireRate_Desc\".Translate());\n\t\t\t\tticksBetweenBurstShotsExplanation.AppendLine();\n\t\t\t\tticksBetweenBurstShotsExplanation.AppendLine();\n\t\t\t\tticksBetweenBurstShotsExplanation.AppendLine(\"StatsReport_BaseValue\".Translate() + \": \" + (60f / verb.ticksBetweenBurstShots.TicksToSeconds()).ToString(\"0.##\") + \" rpm\");\n\t\t\t\tticksBetweenBurstShotsExplanation.AppendLine();\n\t\t\t\tStringBuilder stoppingPowerExplanation = new StringBuilder(\"StoppingPowerExplanation\".Translate());\n\t\t\t\tstoppingPowerExplanation.AppendLine();\n\t\t\t\tstoppingPowerExplanation.AppendLine();\n\t\t\t\tstoppingPowerExplanation.AppendLine(\"StatsReport_BaseValue\".Translate() + \": \" + dmgBuildingsPassable.ToString(\"F1\"));\n\t\t\t\tstoppingPowerExplanation.AppendLine();\n\t\t\t\tif (req.HasThing && req.Thing.TryGetComp(out CompUniqueWeapon comp))\n\t\t\t\t{\n\t\t\t\t\tbool flag = false;\n\t\t\t\t\tbool flag2 = false;\n\t\t\t\t\tbool flag3 = false;\n\t\t\t\t\tforeach (WeaponTraitDef item2 in comp.TraitsListForReading)\n\t\t\t\t\t{\n\t\t\t\t\t\tif (!Mathf.Approximately(item2.burstShotCountMultiplier, 1f))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif (!flag)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tstringBuilder4.AppendLine(\"StatsReport_WeaponTraits\".Translate() + \":\");\n\t\t\t\t\t\t\t\tflag = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tnum3 *= item2.burstShotCountMultiplier;\n\t\t\t\t\t\t\tstringBuilder4.AppendLine(\" \" + item2.LabelCap + \": \" + item2.burstShotCountMultiplier.ToStringByStyle(ToStringStyle.PercentOne, ToStringNumberSense.Factor));\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!Mathf.Approximately(item2.burstShotSpeedMultiplier, 1f))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif (!flag2)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tticksBetweenBurstShotsExplanation.AppendLine(\"StatsReport_WeaponTraits\".Translate() + \":\");\n\t\t\t\t\t\t\t\tflag2 = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tnum4 /= item2.burstShotSpeedMultiplier;\n\t\t\t\t\t\t\tticksBetweenBurstShotsExplanation.AppendLine(\" \" + item2.LabelCap + \": \" + item2.burstShotSpeedMultiplier.ToStringByStyle(ToStringStyle.PercentOne, ToStringNumberSense.Factor));\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!Mathf.Approximately(item2.additionalStoppingPower, 0f))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif (!flag3)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tstoppingPowerExplanation.AppendLine(\"StatsReport_WeaponTraits\".Translate() + \":\");\n\t\t\t\t\t\t\t\tflag3 = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tdmgBuildingsPassable += item2.additionalStoppingPower;\n\t\t\t\t\t\t\tstoppingPowerExplanation.AppendLine(\" \" + item2.LabelCap + \": \" + item2.additionalStoppingPower.ToStringByStyle(ToStringStyle.FloatOne, ToStringNumberSense.Offset));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tstringBuilder4.AppendLine();\n\t\t\t\tstringBuilder4.AppendLine(\"StatsReport_FinalValue\".Translate() + \": \" + Mathf.CeilToInt(num3).ToString());\n\t\t\t\tfloat dmgBuildingsImpassable = 60f / ((int)num4).TicksToSeconds();\n\t\t\t\tticksBetweenBurstShotsExplanation.AppendLine();\n\t\t\t\tticksBetweenBurstShotsExplanation.AppendLine(\"StatsReport_FinalValue\".Translate() + \": \" + dmgBuildingsImpassable.ToString(\"0.##\") + \" rpm\");\n\t\t\t\tstoppingPowerExplanation.AppendLine();\n\t\t\t\tstoppingPowerExplanation.AppendLine(\"StatsReport_FinalValue\".Translate() + \": \" + dmgBuildingsPassable.ToString(\"F1\"));\n\t\t\t\tStatCategoryDef statCat = verbStatCategory ?? StatCategoryDefOf.Weapon_Ranged;\n\t\t\t\tif (verb.showBurstShotStats && verb.burstShotCount > 1)\n\t\t\t\t{\n\t\t\t\t\tyield return new StatDrawEntry(statCat, \"BurstShotCount\".Translate(), Mathf.CeilToInt(num3).ToString(), stringBuilder4.ToString(), 5391);\n\t\t\t\t\tyield return new StatDrawEntry(statCat, \"BurstShotFireRate\".Translate(), dmgBuildingsImpassable.ToString(\"0.##\") + \" rpm\", ticksBetweenBurstShotsExplanation.ToString(), 5395);\n\t\t\t\t}\n\t\t\t\tif (dmgBuildingsPassable > 0f)\n\t\t\t\t{\n\t\t\t\t\tyield return new StatDrawEntry(statCat, \"StoppingPower\".Translate(), dmgBuildingsPassable.ToString(\"F1\"), stoppingPowerExplanation.ToString(), 5402);\n\t\t\t\t}\n\t\t\t\tfloat num5 = verb.range;\n\t\t\t\tStringBuilder stringBuilder5 = new StringBuilder(\"Stat_Thing_Weapon_Range_Desc\".Translate());\n\t\t\t\tstringBuilder5.AppendLine();\n\t\t\t\tstringBuilder5.AppendLine();\n\t\t\t\tstringBuilder5.AppendLine(\"StatsReport_BaseValue\".Translate() + \": \" + num5.ToString(\"F0\"));\n\t\t\t\tif (req.HasThing)\n\t\t\t\t{\n\t\t\t\t\tfloat statValue2 = req.Thing.GetStatValue(StatDefOf.RangedWeapon_RangeMultiplier);\n\t\t\t\t\tnum5 *= statValue2;\n\t\t\t\t\tif (!Mathf.Approximately(statValue2, 1f))\n\t\t\t\t\t{\n\t\t\t\t\t\tstringBuilder5.AppendLine();\n\t\t\t\t\t\tstringBuilder5.AppendLine(\"Stat_Thing_Weapon_Range_Multiplier\".Translate() + \": x\" + statValue2.ToStringPercent());\n\t\t\t\t\t\tstringBuilder5.Append(StatUtility.GetOffsetsAndFactorsFor(StatDefOf.RangedWeapon_RangeMultiplier, req.Thing));\n\t\t\t\t\t}\n\t\t\t\t\tMap obj = req.Thing.Map ?? req.Thing.MapHeld;\n\t\t\t\t\tif (obj != null && obj.weatherManager.CurWeatherMaxRangeCap >= 0f)\n\t\t\t\t\t{\n\t\t\t\t\t\tWeatherManager weatherManager = (req.Thing.Map ?? req.Thing.MapHeld).weatherManager;\n\t\t\t\t\t\tbool num6 = num5 > weatherManager.CurWeatherMaxRangeCap;\n\t\t\t\t\t\tfloat num7 = num5;\n\t\t\t\t\t\tnum5 = Mathf.Min(num5, weatherManager.CurWeatherMaxRangeCap);\n\t\t\t\t\t\tif (num6)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tstringBuilder5.AppendLine();\n\t\t\t\t\t\t\tstringBuilder5.AppendLine(\" \" + \"Stat_Thing_Weapon_Range_Clamped\".Translate(num5.ToString(\"F0\").Named(\"CAP\"), num7.ToString(\"F0\").Named(\"ORIGINAL\")));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tstringBuilder5.AppendLine();\n\t\t\t\tstringBuilder5.AppendLine(\"StatsReport_FinalValue\".Translate() + \": \" + num5.ToString(\"F0\"));\n\t\t\t\tyield return new StatDrawEntry(statCat, \"Range\".Translate(), num5.ToString(\"F0\"), stringBuilder5.ToString(), 5390);\n\t\t\t}\n\t\t\tif (verb.ForcedMissRadius > 0f)\n\t\t\t{\n\t\t\t\tStatCategoryDef statCat = verbStatCategory ?? StatCategoryDefOf.Weapon_Ranged;\n\t\t\t\tyield return new StatDrawEntry(statCat, \"MissRadius\".Translate(), verb.ForcedMissRadius.ToString(\"0.#\"), \"Stat_Thing_Weapon_MissRadius_Desc\".Translate(), 3557);\n\t\t\t\tyield return new StatDrawEntry(statCat, \"DirectHitChance\".Translate(), (1f / (float)GenRadial.NumCellsInRadius(verb.ForcedMissRadius)).ToStringPercent(), \"Stat_Thing_Weapon_DirectHitChance_Desc\".Translate(), 3560);\n\t\t\t}\n\t\t}\n\t\tif (plant != null)\n\t\t{\n\t\t\tforeach (StatDrawEntry item3 in plant.SpecialDisplayStats())\n\t\t\t{\n\t\t\t\tyield return item3;\n\t\t\t}\n\t\t}\n\t\tif (ingestible != null)\n\t\t{\n\t\t\tforeach (StatDrawEntry item4 in ingestible.SpecialDisplayStats())\n\t\t\t{\n\t\t\t\tyield return item4;\n\t\t\t}\n\t\t}\n\t\tif (race != null)\n\t\t{\n\t\t\tforeach (StatDrawEntry item5 in race.SpecialDisplayStats(this, req))\n\t\t\t{\n\t\t\t\tyield return item5;\n\t\t\t}\n\t\t}\n\t\tif (building != null)\n\t\t{\n\t\t\tforeach (StatDrawEntry item6 in building.SpecialDisplayStats(this, req))\n\t\t\t{\n\t\t\t\tyield return item6;\n\t\t\t}\n\t\t}\n\t\tif (isTechHediff)\n\t\t{\n\t\t\tIEnumerable enumerable2 = DefDatabase.AllDefs.Where((RecipeDef x) => x.addsHediff != null && x.IsIngredient(this));\n\t\t\tforeach (StatDrawEntry medicalStatsFromRecipeDef in MedicalRecipesUtility.GetMedicalStatsFromRecipeDefs(enumerable2))\n\t\t\t{\n\t\t\t\tyield return medicalStatsFromRecipeDef;\n\t\t\t}\n\t\t}\n\t\tfor (int i = 0; i < comps.Count; i++)\n\t\t{\n\t\t\tforeach (StatDrawEntry item7 in comps[i].SpecialDisplayStats(req))\n\t\t\t{\n\t\t\t\tyield return item7;\n\t\t\t}\n\t\t}\n\t\tif (building != null)\n\t\t{\n\t\t\tif (building.mineableThing != null)\n\t\t\t{\n\t\t\t\tDialog_InfoCard.Hyperlink[] hyperlinks = new Dialog_InfoCard.Hyperlink[1]\n\t\t\t\t{\n\t\t\t\t\tnew Dialog_InfoCard.Hyperlink(building.mineableThing)\n\t\t\t\t};\n\t\t\t\tyield return new StatDrawEntry(StatCategoryDefOf.BasicsImportant, \"Stat_MineableThing_Name\".Translate(), building.mineableThing.LabelCap, \"Stat_MineableThing_Desc\".Translate(), 2200, null, hyperlinks);\n\t\t\t\tStringBuilder stringBuilder6 = new StringBuilder();\n\t\t\t\tstringBuilder6.AppendLine(\"Stat_MiningYield_Desc\".Translate());\n\t\t\t\tstringBuilder6.AppendLine();\n\t\t\t\tstringBuilder6.AppendLine(\"StatsReport_DifficultyMultiplier\".Translate(Find.Storyteller.difficultyDef.label) + \": \" + Find.Storyteller.difficulty.mineYieldFactor.ToStringByStyle(ToStringStyle.PercentZero, ToStringNumberSense.Factor));\n\t\t\t\tyield return new StatDrawEntry(StatCategoryDefOf.Basics, \"Stat_MiningYield_Name\".Translate(), Mathf.CeilToInt(building.EffectiveMineableYield).ToString(\"F0\"), stringBuilder6.ToString(), 2200, null, hyperlinks);\n\t\t\t}\n\t\t\tif (building.IsTurret)\n\t\t\t{\n\t\t\t\tThingDef turret = building.turretGunDef;\n\t\t\t\tyield return new StatDrawEntry(StatCategoryDefOf.BasicsImportant, \"Stat_Weapon_Name\".Translate(), turret.LabelCap, \"Stat_Weapon_Desc\".Translate(), 5389, null, new Dialog_InfoCard.Hyperlink[1]\n\t\t\t\t{\n\t\t\t\t\tnew Dialog_InfoCard.Hyperlink(turret)\n\t\t\t\t});\n\t\t\t\tStatRequest request = StatRequest.For(turret, null);\n\t\t\t\tforeach (StatDrawEntry item8 in turret.SpecialDisplayStats(request))\n\t\t\t\t{\n\t\t\t\t\tif (item8.category == StatCategoryDefOf.Weapon_Ranged)\n\t\t\t\t\t{\n\t\t\t\t\t\tyield return item8;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tfor (int i = 0; i < turret.statBases.Count; i++)\n\t\t\t\t{\n\t\t\t\t\tStatModifier statModifier = turret.statBases[i];\n\t\t\t\t\tif (statModifier.stat.category == StatCategoryDefOf.Weapon_Ranged)\n\t\t\t\t\t{\n\t\t\t\t\t\tyield return new StatDrawEntry(StatCategoryDefOf.Weapon_Ranged, statModifier.stat, statModifier.value, request);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (ModsConfig.OdysseyActive && Fillage == FillCategory.Full)\n\t\t\t{\n\t\t\t\tbool b = building.isAirtight || (building.isStuffableAirtight && req.StuffDef.stuffProps.isAirtight);\n\t\t\t\tyield return new StatDrawEntry(StatCategoryDefOf.Building, \"Stat_Airtight\".Translate(), b.ToStringYesNo(), \"Stat_Airtight_Desc\".Translate(), 6100);\n\t\t\t}\n\t\t}\n\t\tif (IsMeat)\n\t\t{\n\t\t\tList list = new List();\n\t\t\tbool flag4 = false;\n\t\t\tforeach (ThingDef allDef in DefDatabase.AllDefs)\n\t\t\t{\n\t\t\t\tif (allDef.race != null && allDef.race.meatDef == this && !allDef.IsCorpse)\n\t\t\t\t{\n\t\t\t\t\tif (!Find.HiddenItemsManager.Hidden(allDef))\n\t\t\t\t\t{\n\t\t\t\t\t\tflag4 = true;\n\t\t\t\t\t}\n\t\t\t\t\tlist.Add(allDef);\n\t\t\t\t}\n\t\t\t}\n\t\t\tyield return new StatDrawEntry(valueString: (!flag4) ? string.Format(\"({0})\", \"NotYetDiscovered\".Translate()) : string.Join(\", \", (from x in list\n\t\t\t\twhere !Find.HiddenItemsManager.Hidden(x)\n\t\t\t\tselect x into p\n\t\t\t\tselect p.label).ToArray()).CapitalizeFirst(), category: StatCategoryDefOf.BasicsPawn, label: \"Stat_SourceSpecies_Name\".Translate(), reportText: \"Stat_SourceSpecies_Desc\".Translate(), displayPriorityWithinCategory: 1200, overrideReportTitle: null, hyperlinks: Dialog_InfoCard.DefsToHyperlinks(list));\n\t\t}\n\t\tif (IsLeather)\n\t\t{\n\t\t\tList list2 = new List();\n\t\t\tbool flag5 = false;\n\t\t\tforeach (ThingDef allDef2 in DefDatabase.AllDefs)\n\t\t\t{\n\t\t\t\tif (allDef2.race != null && allDef2.race.leatherDef == this && !allDef2.IsCorpse)\n\t\t\t\t{\n\t\t\t\t\tif (!Find.HiddenItemsManager.Hidden(allDef2))\n\t\t\t\t\t{\n\t\t\t\t\t\tflag5 = true;\n\t\t\t\t\t}\n\t\t\t\t\tlist2.Add(allDef2);\n\t\t\t\t}\n\t\t\t}\n\t\t\tyield return new StatDrawEntry(valueString: (!flag5) ? string.Format(\"({0})\", \"NotYetDiscovered\".Translate()) : string.Join(\", \", (from x in list2\n\t\t\t\twhere !Find.HiddenItemsManager.Hidden(x)\n\t\t\t\tselect x into p\n\t\t\t\tselect p.label).ToArray()).CapitalizeFirst(), category: StatCategoryDefOf.BasicsPawn, label: \"Stat_SourceSpecies_Name\".Translate(), reportText: \"Stat_SourceSpecies_Desc\".Translate(), displayPriorityWithinCategory: 1200, overrideReportTitle: null, hyperlinks: Dialog_InfoCard.DefsToHyperlinks(list2));\n\t\t}\n\t\tif (!equippedStatOffsets.NullOrEmpty())\n\t\t{\n\t\t\tfor (int i = 0; i < equippedStatOffsets.Count; i++)\n\t\t\t{\n\t\t\t\tStatDef stat = equippedStatOffsets[i].stat;\n\t\t\t\tfloat num8 = equippedStatOffsets[i].value;\n\t\t\t\tStringBuilder stringBuilder7 = new StringBuilder(stat.description);\n\t\t\t\tif (req.HasThing && stat.Worker != null)\n\t\t\t\t{\n\t\t\t\t\tstringBuilder7.AppendLine();\n\t\t\t\t\tstringBuilder7.AppendLine();\n\t\t\t\t\tstringBuilder7.AppendLine(\"StatsReport_BaseValue\".Translate() + \": \" + stat.ValueToString(num8, ToStringNumberSense.Offset, stat.finalizeEquippedStatOffset));\n\t\t\t\t\tnum8 = StatWorker.StatOffsetFromGear(req.Thing, stat);\n\t\t\t\t\tif (!stat.parts.NullOrEmpty())\n\t\t\t\t\t{\n\t\t\t\t\t\tstringBuilder7.AppendLine();\n\t\t\t\t\t\tfor (int k = 0; k < stat.parts.Count; k++)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tstring text = stat.parts[k].ExplanationPart(req);\n\t\t\t\t\t\t\tif (!text.NullOrEmpty())\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tstringBuilder7.AppendLine(text);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tstringBuilder7.AppendLine();\n\t\t\t\t\tstringBuilder7.AppendLine(\"StatsReport_FinalValue\".Translate() + \": \" + stat.ValueToString(num8, ToStringNumberSense.Offset, !stat.formatString.NullOrEmpty()));\n\t\t\t\t}\n\t\t\t\tyield return new StatDrawEntry(StatCategoryDefOf.EquippedStatOffsets, equippedStatOffsets[i].stat, num8, StatRequest.ForEmpty(), ToStringNumberSense.Offset, null, forceUnfinalizedMode: true).SetReportText(stringBuilder7.ToString());\n\t\t\t}\n\t\t}\n\t\tif (!IsDrug)\n\t\t{\n\t\t\tyield break;\n\t\t}\n\t\tforeach (StatDrawEntry item9 in DrugStatsUtility.SpecialDisplayStats(this))\n\t\t{\n\t\t\tyield return item9;\n\t\t}\n\t}\n}\n\n", "timestamp": "2025-08-22 16:02:42,858" }, "Verb": { "keywords": [ "Verb" ], "question": "RimWorld Verb class", "embedding": [ 0.012549128383398056, 0.016916820779442787, 0.039827682077884674, -0.02038256824016571, -0.001290777581743896, -0.029686110094189644, 0.012442599050700665, 0.04221393167972565, -0.019828617572784424, 0.13590273261070251, 0.002286824630573392, -0.06681505590677261, -0.029203178361058235, 0.007662993390113115, 0.07187163084745407, 0.024743160232901573, 0.03704372048377991, -0.07857586443424225, 0.0009427825571037829, 0.012641453184187412, -0.019530335441231728, 0.045026302337646484, 0.0015970488311722875, 0.046048980206251144, -0.03443020582199097, -0.0618152879178524, 0.016604335978627205, -0.025538576766848564, 0.005994037259370089, 2.4773564291535877e-05, -0.060849424451589584, 0.04832160100340843, 0.0074996487237513065, -0.023819906637072563, -0.021731937304139137, 0.036731235682964325, -0.03573696315288544, 0.006693578790873289, -0.035708554089069366, -0.023422198370099068, -0.014601589180529118, 0.010944089852273464, -0.004520385060459375, -0.047128476202487946, -0.03193032369017601, 0.03687327355146408, 0.01205909438431263, -0.06715594232082367, -0.02813788689672947, 0.02934521622955799, -0.010603196918964386, -0.008380289189517498, -0.06130394712090492, -0.017058860510587692, -0.023152325302362442, 0.025879470631480217, -0.004435161594301462, 0.05613373592495918, -0.04545241594314575, -0.0027413489297032356, 0.02025473304092884, -0.01712987944483757, -0.009374560788273811, -0.030169041827321053, -0.021490471437573433, -0.012911327183246613, 0.024643732234835625, 0.06380382925271988, -0.0018944424809888005, -0.07289431244134903, -0.0180815402418375, 0.03664601221680641, 0.027072595432400703, 0.008302167989313602, -0.012904224917292595, 0.03650397062301636, -0.03156102076172829, 0.022910859435796738, -0.05780979245901108, 0.04354909807443619, 0.010837560519576073, -0.043463874608278275, 0.006473418325185776, -0.004420957528054714, 0.022356906905770302, 0.056957561522722244, 0.03397568315267563, -0.019445111975073814, 0.009466886520385742, 0.10488145053386688, -0.031191721558570862, -0.0038101908285170794, 0.03576537221670151, -0.041106030344963074, 0.0009223644738085568, 0.0022530904971063137, -0.05863361805677414, -0.0010990252485498786, 0.0008038508240133524, -0.023166527971625328, 0.04315138980746269, -0.09329108893871307, -0.05834953859448433, 0.059258587658405304, -0.014353021048009396, 0.014587384648621082, -0.02749871276319027, -0.011533550918102264, -0.0008256005239672959, 0.0008424676489084959, 0.03582218661904335, -0.03190191462635994, -0.035935815423727036, 0.047355737537145615, 0.0354812927544117, 0.02514086849987507, -0.013657030649483204, 0.019516130909323692, -0.00015357945812866092, -0.014999297447502613, 0.04070832207798958, 0.0036131120286881924, -0.04150373861193657, -0.036702826619148254, 0.019516130909323692, -0.048122745007276535, 0.013323239982128143, 0.026206159964203835, 0.03133375942707062, 0.011668487451970577, -0.00816723145544529, 0.00759197399020195, 0.034685876220464706, -0.0006884442991577089, -0.019544539973139763, 0.03923111781477928, -0.035964224487543106, 0.003160363296046853, -0.05144645273685455, -0.017939500510692596, -0.018394025042653084, 0.013884292915463448, 0.024601120501756668, 0.019800208508968353, 0.022981878370046616, -0.010375934652984142, -0.06363338232040405, 0.033890459686517715, 0.019090015441179276, 0.01840822957456112, -0.0374414287507534, -0.02038256824016571, -0.012066196650266647, 0.0507078543305397, -0.002214029897004366, -0.028350945562124252, 0.015098724514245987, 0.008465512655675411, 0.03244166076183319, -0.008018090389668941, -0.022016014903783798, 0.037725504487752914, -0.01531178317964077, -0.01904740370810032, 0.005994037259370089, -0.047071658074855804, -0.010042143054306507, 0.03886181488633156, -0.025368129834532738, -0.05897451192140579, 0.0066509670577943325, 0.02552437223494053, -0.006974105257540941, -0.01649070531129837, 0.03269733116030693, -0.008330576121807098, -0.03374841809272766, 0.03403249755501747, 0.08760953694581985, 0.01057478878647089, 0.012016482651233673, 0.004499079193919897, 0.03326548635959625, 0.03579377755522728, 0.005397474393248558, -0.03934474661946297, 0.013642827048897743, 0.023720480501651764, 0.006672272924333811, 0.034344982355833054, -0.008046498522162437, 0.08613233268260956, -0.030027002096176147, 0.014828851446509361, -0.023677868768572807, -0.02271200530230999, -0.04352068901062012, 0.047867078334093094, -0.023677868768572807, -0.015468025580048561, -0.039060670882463455, -0.029629293829202652, -0.04729892313480377, -0.017499180510640144, 0.014942482113838196, 0.014196778647601604, -0.041674185544252396, -0.032043952494859695, 0.03482791408896446, -0.005156008526682854, 0.03707212582230568, -0.0037640281952917576, -0.03894703835248947, -0.015070317313075066, 0.03479950502514839, 0.017499180510640144, 0.018734918907284737, 0.006146728992462158, 0.015354394912719727, -0.0023986801970750093, -0.05758253112435341, 0.012108808383345604, -0.00415463512763381, 0.04744096100330353, 0.02580844983458519, 0.01712987944483757, 0.003478175261989236, -0.00925382785499096, -0.01025520171970129, 0.02391933463513851, -0.006189340725541115, 0.014139962382614613, -0.05610532686114311, -0.026745906099677086, 0.047923892736434937, -0.03996971994638443, -0.04434451460838318, -0.012627249583601952, -0.025155071169137955, 0.04724210500717163, -0.02207282930612564, 0.03758346661925316, -0.007670095190405846, 0.02988496422767639, 0.003057385329157114, -0.007151653524488211, -0.014530569314956665, 0.0024732507299631834, 0.029771333560347557, -0.026262974366545677, 0.005855549592524767, -0.03735620528459549, -0.022129645571112633, -0.002796388929709792, -0.01007765345275402, 0.03965723514556885, -0.024956217035651207, -0.006498275324702263, -0.020524606108665466, 0.00700251292437315, -0.042696863412857056, 0.011846035718917847, 0.014615792781114578, 0.022527353838086128, -0.030936051160097122, 0.021220596507191658, -0.006427255924791098, -0.022087033838033676, -0.009367459453642368, 0.02734247036278248, -0.014239390380680561, 0.06522421538829803, 0.04042424261569977, -0.04121965914964676, -0.026007303968071938, -0.0199990626424551, 0.005535962525755167, -0.02373468317091465, -0.013053365983068943, 0.010276507586240768, 0.006398848257958889, 0.01738554984331131, -0.018891161307692528, -0.022229071706533432, 0.016675354912877083, 0.012641453184187412, 0.02734247036278248, 0.012627249583601952, 0.016888413578271866, 0.026518644765019417, -0.005404576659202576, -0.011512245051562786, 0.01585153117775917, 0.03820843622088432, -0.024515897035598755, 0.0015659778146073222, -0.004523935727775097, 0.05891769379377365, -0.04437292367219925, 0.01311018131673336, 0.045821718871593475, -0.002782185096293688, -0.024544304236769676, 0.007662993390113115, 0.03326548635959625, -0.014161268249154091, -0.004570098593831062, -0.055622395128011703, 0.006675823591649532, -0.06198573485016823, -0.016220830380916595, -0.026589663699269295, 0.05445767566561699, -0.020169509574770927, -0.03553810715675354, 0.02714361436665058, -0.04246960207819939, -0.009324847720563412, 0.002819470129907131, 0.052298687398433685, -0.06119031459093094, -0.018550267443060875, -0.047355737537145615, 0.0032011994626373053, 0.016348665580153465, -0.00980777945369482, 0.021902384236454964, -0.03863455355167389, 0.007020267657935619, 0.022513151168823242, -0.029913371428847313, 0.0020844193641096354, 0.03210077062249184, 0.060565344989299774, 0.01651911251246929, 0.022527353838086128, 0.011185555718839169, -0.0004367693327367306, 0.016448093578219414, -0.027981644496321678, -0.0365607887506485, -0.05519627779722214, -0.047128476202487946, -0.04178781434893608, 0.07130347937345505, -0.0137351518496871, 0.03008381836116314, 0.017683830112218857, 0.04067991301417351, 0.001658302964642644, 0.0023454157635569572, 0.018962180241942406, -0.009516599588096142, -0.003746273461729288, -0.00037817831616848707, 0.020297344774007797, 0.015837326645851135, 0.03110649809241295, -0.048179563134908676, 0.008728284388780594, 0.0031745671294629574, 0.015254967845976353, -0.0016236810479313135, 0.04229915514588356, 0.007691401056945324, -0.004935848526656628, -0.04261163994669914, 0.04229915514588356, -0.02816629409790039, 0.018763326108455658, 0.010915681719779968, -0.06414472311735153, 0.021490471437573433, 0.02414659596979618, -0.03471428155899048, 0.035964224487543106, 0.0068107605911791325, -0.01958715170621872, -0.01401922944933176, 0.02140524797141552, 0.09812040627002716, -0.01843663677573204, 0.02178875170648098, -0.020041674375534058, 0.015368598513305187, 0.024672139436006546, 0.08016669750213623, 0.002002747030928731, 0.05235550180077553, -0.028748653829097748, 0.05246913433074951, -0.013635724782943726, -0.014253593981266022, -0.006693578790873289, 0.029430439695715904, 0.02156149037182331, -0.020553015172481537, 0.023677868768572807, 0.0014088473981246352, -0.014203879982233047, -0.023720480501651764, 0.007840542122721672, -0.07522375136613846, -0.022285887971520424, -0.007691401056945324, -0.0071694087237119675, 0.0045807515271008015, -0.02391933463513851, -0.020979130640625954, 0.009417172521352768, -0.06817862391471863, 0.029742924496531487, 0.03110649809241295, -0.003096445929259062, -0.020425179973244667, -0.012314763851463795, 0.032782554626464844, -0.010070551186800003, 0.03210077062249184, 0.006462765391916037, -0.014139962382614613, 0.06596282124519348, -0.0071694087237119675, -0.00925382785499096, -0.02721463516354561, 0.004009045194834471, 0.00993561465293169, 0.024799974635243416, 0.03664601221680641, 0.03874818608164787, -0.040339019149541855, -0.04170259088277817, -0.03039630316197872, 0.0572984516620636, 0.030424712225794792, -0.03496995195746422, -0.014644200913608074, 0.031191721558570862, -0.01613560877740383, 0.0011585039319470525, -0.02829412929713726, -0.0273708775639534, 0.004477773327380419, 0.01943090744316578, -0.049202241003513336, -0.008373187854886055, 0.024459082633256912, -0.025226091966032982, 0.013323239982128143, -0.008259556256234646, -0.008380289189517498, 0.004513282794505358, 0.03769709914922714, 0.017840074375271797, -0.017442364245653152, 0.027967439964413643, 0.0044422633945941925, 0.0013431544648483396, -0.023138120770454407, 0.000963200640399009, 0.03329389542341232, -0.018649695441126823, -0.03403249755501747, 0.04181622341275215, 0.019757596775889397, 0.008060702122747898, -0.01030491478741169, -0.006846270523965359, 0.019090015441179276, -0.05786660686135292, -0.005106294993311167, 0.05545194819569588, -0.04096399247646332, -0.011249473318457603, 0.017328733578324318, -0.06619007885456085, -0.004783156793564558, 0.066246896982193, 0.02660386823117733, 0.02350742183625698, -0.017328733578324318, 0.03843570128083229, -0.022016014903783798, -0.01789688877761364, -0.09783633053302765, -0.08124619722366333, -0.03582218661904335, 0.02785380929708481, 0.039287932217121124, -0.04593534767627716, 0.005425882060080767, -0.008351881988346577, -0.022285887971520424, 0.03352115675806999, -0.0053193531930446625, 0.017598608508706093, 0.012321866117417812, 0.022030217573046684, -0.00882060918956995, -0.03604944795370102, -0.027981644496321678, 0.04261163994669914, -0.04923065006732941, -0.010780745185911655, -0.014502162113785744, -0.008351881988346577, -0.005596328992396593, 0.00016467623936478049, -0.06687186658382416, -0.0027715321630239487, 0.008231149055063725, -0.013301934115588665, 0.048747718334198, -0.021547285839915276, -0.02896171249449253, 0.0035332152619957924, -0.012584637850522995, -0.022087033838033676, 0.027868013828992844, 0.03556651622056961, 0.019018996506929398, -0.01207329798489809, 0.04306616634130478, 0.00848681852221489, -0.008089110255241394, 0.005571471992880106, 0.028308333829045296, -0.0037817831616848707, 0.02389092743396759, -0.02245633490383625, -0.061417579650878906, -0.006647415924817324, 0.056417811661958694, 0.00835898332297802, 0.042412787675857544, 0.0014399184146896005, 0.008792201988399029, 0.017627015709877014, -0.002150112297385931, 0.09834766387939453, 0.028975915163755417, 0.03198713809251785, 0.01846504397690296, 0.02012689784169197, 0.05633258819580078, 0.06346293538808823, 0.03522562235593796, -0.026390809565782547, 0.018337208777666092, -0.0632924884557724, 0.017967907711863518, 0.04158896207809448, -0.016916820779442787, -0.03707212582230568, -0.001284563448280096, 0.008344779722392559, -0.03113490529358387, 0.051474861800670624, -0.008905832655727863, 0.009417172521352768, 0.009495293721556664, 0.01532598678022623, 0.024956217035651207, -0.020837092772126198, -0.01825198531150818, -0.0038243946619331837, -0.0034692976623773575, 0.0071552046574652195, -0.0011727078817784786, -0.0008420237572863698, 0.029970187693834305, -0.004864829126745462, -0.04289571940898895, -0.035964224487543106, 0.03889022395014763, -0.015411210246384144, 0.025084052234888077, 0.040395837277173996, 0.006246156524866819, -5.6815522839315236e-05, -0.011377308517694473, -2.5328403353341855e-05, -0.004101370461285114, 0.015496433712542057, -0.013479482382535934, 0.02232849970459938, -0.006895984057337046, -0.013117283582687378, 0.07590553909540176, 0.03218599408864975, 0.027427691966295242, 0.006171585991978645, -0.053577035665512085, -0.017016248777508736, -0.043691135942935944, 0.03661760315299034, 0.007961275056004524, 0.004236307460814714, 0.0669286847114563, 0.03340752795338631, -0.0023294363636523485, -0.07278068363666534, -0.03318026289343834, -0.002489230129867792, 0.052497539669275284, -0.011441225185990334, 0.0072794887237250805, 0.034373391419649124, 0.0034000538289546967, 0.0013396034482866526, -0.017172491177916527, 0.07658731937408447, 0.039060670882463455, -0.0006959901074878871, 0.039799273014068604, -0.05610532686114311, -0.016391277313232422, 0.028052663430571556, 0.0028301230631768703, -0.046844396740198135, -0.06198573485016823, -0.007201367523521185, 0.012911327183246613, -0.03766869008541107, -0.046560321003198624, -0.012897123582661152, -0.025467557832598686, -0.00048115645768120885, -0.07249660789966583, -0.043435465544462204, 0.014871462248265743, 0.017428161576390266, -0.02153308317065239, 0.03195872902870178, 0.057752978056669235, -0.012009380385279655, -0.002327660797163844, 0.019146829843521118, -0.06920130550861359, 0.01751338504254818, -0.0027342468965798616, 0.02826572209596634, -0.004392549861222506, 0.0017310979310423136, -0.0030786909628659487, -0.04468540847301483, -0.005763224326074123, -0.050736259669065475, 0.002107500797137618, -0.005908814258873463, -0.016888413578271866, 0.0029384277295321226, 0.025126663967967033, 0.003043181262910366, -0.025155071169137955, 0.021320024505257607, -0.0010928109986707568, 0.005500452592968941, -0.007187163457274437, -0.023649461567401886, 0.003432012628763914, -0.06817862391471863, -0.037782322615385056, 0.029458846896886826, 0.0071552046574652195, 0.05394633859395981, 0.013443972915410995, 0.003220729762688279, -0.0035847043618559837, 0.005638940259814262, -0.05604851245880127, -0.047895483672618866, 0.012691167183220387, -0.013294831849634647, 0.02535392716526985, 0.035140398889780045, -0.010134468786418438, -0.04391839727759361, 0.013408462516963482, -0.003735620528459549, -0.024189207702875137, 0.01569528691470623, -0.042725272476673126, -0.0329245962202549, -0.003739171428605914, 0.016391277313232422, -0.006274564191699028, 0.010106060653924942, -0.044486552476882935, 0.007329202257096767, 0.0365607887506485, -0.08130300790071487, 0.0169026181101799, 0.04360591247677803, -0.014388530515134335, -0.015567452646791935, -0.05869043245911598, -0.027285654097795486, 0.04437292367219925, 0.02634819783270359, -0.015155539847910404, -0.03170306235551834, -0.08783679455518723, 0.001508274581283331, 0.0035900308284908533, 0.0005526196910068393, 0.006036648992449045, -0.03795276954770088, 0.006370440125465393, -0.04136170074343681, -0.022356906905770302, 0.04121965914964676, 0.009516599588096142, -0.010823356918990612, -0.008706978522241116, 0.011142943985760212, 0.008550736121833324, 0.002150112297385931, -0.05065103620290756, 0.007854745723307133, -0.04099239781498909, 0.006544437725096941, -0.03792436048388481, -0.015397006645798683, -0.053065694868564606, 0.014395632781088352, -0.010148672387003899, 0.01071682758629322, -0.030424712225794792, 0.03394727408885956, -0.043435465544462204, -0.04752618446946144, 0.011270779184997082, -0.03158942982554436, 0.018323006108403206, -0.00024768017465248704, -0.0061822389252483845, -0.007854745723307133, 0.03525403141975403, -0.007183612324297428, -0.019516130909323692, -0.00853653158992529, -0.01997065544128418, -0.07141710817813873, 0.08942762762308121, 0.007847643457353115, -0.002357844030484557, -0.006615457125008106, 0.05295206606388092, 0.016419686377048492, -0.010084754787385464, 0.013720948249101639, 0.03960041701793671, -0.030481526628136635, -0.04420247673988342, 0.05502583086490631, -0.003835047595202923, 0.014218084514141083, 0.017627015709877014, 0.018351413309574127, -0.06312204152345657, 0.007148102857172489, 0.027285654097795486, 0.007471241056919098, -0.010645808652043343, 0.03377682715654373, -0.007670095190405846, -0.018422432243824005, -0.052043016999959946, 0.0011425246484577656, -0.022697800770401955, 0.004584302194416523, -0.03718575835227966, 0.0485488623380661, 0.04158896207809448, -0.014345918782055378, -0.0021110516972839832, -0.008103313855826855, -0.024444878101348877, -0.006317175924777985, 0.014956685714423656, -0.01840822957456112, 0.023592645302414894, -0.00686757592484355, 0.01815255917608738, 0.032299622893333435, -0.04479903727769852, 0.022882450371980667, -0.011100332252681255, -0.019786005839705467, 0.002501658396795392, 0.031191721558570862, 0.040566280484199524, 0.006619008257985115, 0.015084520913660526, -0.008877425454556942, 0.017271919175982475, 0.022953471168875694, 0.029458846896886826, 0.0350835844874382, -0.005986935459077358, -0.07721229642629623, -0.07959854602813721, -0.022513151168823242, 0.013266423717141151, -0.0058839572593569756, -0.004942950326949358, 0.012556229718029499, -0.015752103179693222, -0.0342029444873333, 0.00535131199285388, 0.004065860528498888, 0.014871462248265743, 0.0012321865651756525, 0.032526884227991104, -0.033350709825754166, -0.0290895476937294, -0.008941343054175377, 0.011561958119273186, 0.03863455355167389, -0.01728612184524536, 0.04335024207830429, 0.010354628786444664, -0.0018713612807914615, 0.011412817984819412, -0.017783258110284805, -0.005862651392817497, -0.040140166878700256, -0.009736759588122368, 0.01651911251246929, 0.032328031957149506, -0.003980637528002262, -0.0021447858307510614, 0.030225858092308044, 0.0021998260635882616, -0.009701250120997429, 0.016277646645903587, 0.008841915056109428, -0.012421293184161186, 0.02504144050180912, -0.0399981252849102, 0.015539045445621014, 0.02957247942686081, -0.007975478656589985, 0.035396069288253784, 0.0026135139632970095, -0.022981878370046616, -0.010212589986622334, -0.029657702893018723, -0.026262974366545677, -0.014701016247272491, 0.02424602396786213, -0.024544304236769676, -0.011618774384260178, 0.04417406767606735, 0.003739171428605914, 0.04357750341296196, 0.04667394980788231, -0.010063448920845985, 0.0485488623380661, -0.02578004263341427, -0.04028220474720001, -0.022498946636915207, 0.033890459686517715, -0.035651739686727524, 0.012499414384365082, 0.013337443582713604, 0.00909048318862915, 0.01643388904631138, -0.014558977447450161, 0.035708554089069366, 0.11169931292533875, 0.025510169565677643, 0.05445767566561699, 0.035197217017412186, -0.0014905197313055396, -0.014828851446509361, 0.02345060557126999, -0.022626781836152077, 0.0436343215405941, 0.03496995195746422, -0.002812368329614401, -0.002892265096306801, -0.02194499410688877, -0.015240763314068317, -0.0029153465293347836, -0.005880406592041254, -0.000893068965524435, -0.04070832207798958, -0.0009951593820005655, 0.06698550283908844, 0.013131487183272839, 0.037270981818437576, 0.07971217483282089, 0.03996971994638443, 0.03471428155899048, -0.050736259669065475, 0.019501928240060806, 0.034629061818122864, 0.017399752512574196, 0.01409735158085823, -0.03110649809241295, 0.049486320465803146, 0.006409501191228628, -0.0463898740708828, -0.009147298522293568, 0.022825635969638824, -0.018095742911100388, -0.05471334606409073, 0.00032646729960106313, -0.007854745723307133, 0.011696895584464073, 0.020055878907442093, -0.03693008795380592, -0.03917430341243744, 0.007662993390113115, -0.02176034450531006, 0.11084707826375961, 0.044770631939172745, 0.0018766876310110092, -0.004758299794048071, -0.04252641648054123, 0.01735714077949524, -0.02670329436659813, -0.005315802060067654, -0.00786184798926115, -0.02386251837015152, 0.037526652216911316, -0.029203178361058235, 1.5299687220249325e-05, 0.031191721558570862, 0.03158942982554436, 0.031248535960912704, 0.006001139525324106, -0.02281143143773079, -0.0059336707927286625, -0.020695053040981293, -0.0211779847741127, -0.04312298074364662, -0.015539045445621014, -0.010787847451865673, -0.04286731034517288, 0.0181809663772583, 0.016575928777456284, 0.05323614180088043, -0.012534924782812595, 0.02519768290221691, -0.006249707192182541, 0.0340040884912014, 0.019828617572784424, -0.016405481845140457, 0.018479248508810997, -0.017811665311455727, -0.006207095459103584, 0.0019406051142141223, -0.0425548255443573, 0.014118657447397709, -0.04124806821346283, 0.005024622660130262, -0.028109479695558548, 0.05840635672211647, -0.01387719064950943, -0.043463874608278275, -0.028095275163650513, -0.011952565051615238, -0.007101939991116524, -0.017016248777508736, 0.011391512118279934, -0.004847073927521706, -0.0012277478817850351, -0.010319119319319725, 0.017328733578324318, -0.008870323188602924, -0.03343593329191208, -0.0014834176981821656, -0.00727238692343235, -0.037555061280727386, -0.05209983140230179, -0.11493779718875885, 0.005848447792232037, -0.0027999398298561573, 0.019146829843521118, -0.016959432512521744, -0.0026774313300848007, -0.010709725320339203, 0.010773642919957638, 0.034089311957359314, 0.004612710326910019, 0.00848681852221489, -0.00311775179579854, -0.008302167989313602, -0.028379352763295174, 0.001398194464854896, 0.03377682715654373, 0.019899636507034302, -0.016249239444732666, -0.009381663054227829, 0.0016414358979091048, 0.012961041182279587, 0.03366319462656975, -0.041901446878910065, 0.012577535584568977, -0.01738554984331131, -0.017527587711811066, -0.009722555987536907, -0.00877089612185955, -0.06744002550840378, 0.03684486448764801, -0.015482229180634022, -0.012016482651233673, 0.05886087939143181, -0.03786754608154297, 0.053804297000169754, -0.021220596507191658, 0.02239951863884926, -0.0018323005642741919, -0.006082811858505011, 0.012179827317595482, 0.04752618446946144, -0.02176034450531006, -0.0007803256739862263, -0.0024732507299631834, -0.004612710326910019, -0.0033183814957737923 ], "result": "--- 结果 1 (相似度: 1.000) ---\n文件路径: C:\\Steam\\steamapps\\common\\RimWorld\\Data\\dll1.6\\Verse\\Verb.txt\n\npublic abstract class Verb : ITargetingSource, IExposable, ILoadReferenceable\n{\n\tpublic VerbProperties verbProps;\n\n\tpublic VerbTracker verbTracker;\n\n\tpublic ManeuverDef maneuver;\n\n\tpublic Tool tool;\n\n\tpublic Thing caster;\n\n\tpublic MechanitorControlGroup controlGroup;\n\n\tpublic string loadID;\n\n\tpublic VerbState state;\n\n\tprotected LocalTargetInfo currentTarget;\n\n\tprotected LocalTargetInfo currentDestination;\n\n\tprotected int burstShotsLeft;\n\n\tprotected int ticksToNextBurstShot;\n\n\tprotected int lastShotTick = -999999;\n\n\tprotected bool surpriseAttack;\n\n\tprotected bool canHitNonTargetPawnsNow = true;\n\n\tpublic bool preventFriendlyFire;\n\n\tprotected bool nonInterruptingSelfCast;\n\n\tpublic Action castCompleteCallback;\n\n\tprivate Texture2D commandIconCached;\n\n\tprivate readonly List> maintainedEffecters = new List>();\n\n\tprivate int? cachedTicksBetweenBurstShots;\n\n\tprivate int? cachedBurstShotCount;\n\n\tprivate static readonly List tempLeanShootSources = new List();\n\n\tprivate static readonly List tempDestList = new List();\n\n\tpublic IVerbOwner DirectOwner => verbTracker.directOwner;\n\n\tpublic ImplementOwnerTypeDef ImplementOwnerType => verbTracker.directOwner.ImplementOwnerTypeDef;\n\n\tpublic CompEquippable EquipmentCompSource => DirectOwner as CompEquippable;\n\n\tpublic CompApparelReloadable ReloadableCompSource => DirectOwner as CompApparelReloadable;\n\n\tpublic CompApparelVerbOwner_Charged VerbOwner_ChargedCompSource => DirectOwner as CompApparelVerbOwner_Charged;\n\n\tpublic ThingWithComps EquipmentSource\n\t{\n\t\tget\n\t\t{\n\t\t\tif (EquipmentCompSource != null)\n\t\t\t{\n\t\t\t\treturn EquipmentCompSource.parent;\n\t\t\t}\n\t\t\tif (ReloadableCompSource != null)\n\t\t\t{\n\t\t\t\treturn ReloadableCompSource.parent;\n\t\t\t}\n\t\t\tif (VerbOwner_ChargedCompSource != null)\n\t\t\t{\n\t\t\t\treturn VerbOwner_ChargedCompSource.parent;\n\t\t\t}\n\t\t\treturn null;\n\t\t}\n\t}\n\n\tpublic HediffComp_VerbGiver HediffCompSource => DirectOwner as HediffComp_VerbGiver;\n\n\tpublic Hediff HediffSource\n\t{\n\t\tget\n\t\t{\n\t\t\tif (HediffCompSource == null)\n\t\t\t{\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\treturn HediffCompSource.parent;\n\t\t}\n\t}\n\n\tpublic Pawn_MeleeVerbs_TerrainSource TerrainSource => DirectOwner as Pawn_MeleeVerbs_TerrainSource;\n\n\tpublic TerrainDef TerrainDefSource\n\t{\n\t\tget\n\t\t{\n\t\t\tif (TerrainSource == null)\n\t\t\t{\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\treturn TerrainSource.def;\n\t\t}\n\t}\n\n\tpublic virtual Thing Caster => caster;\n\n\tpublic virtual Pawn CasterPawn => caster as Pawn;\n\n\tpublic virtual Verb GetVerb => this;\n\n\tpublic virtual bool CasterIsPawn => caster is Pawn;\n\n\tpublic virtual bool Targetable => verbProps.targetable;\n\n\tpublic virtual bool MultiSelect => false;\n\n\tpublic virtual bool HidePawnTooltips => false;\n\n\tpublic LocalTargetInfo CurrentTarget => currentTarget;\n\n\tpublic LocalTargetInfo CurrentDestination => currentDestination;\n\n\tpublic int LastShotTick => lastShotTick;\n\n\tpublic virtual TargetingParameters targetParams => verbProps.targetParams;\n\n\tpublic virtual ITargetingSource DestinationSelector => null;\n\n\tprotected virtual int ShotsPerBurst => 1;\n\n\tpublic virtual Texture2D UIIcon\n\t{\n\t\tget\n\t\t{\n\t\t\tif (verbProps.commandIcon != null)\n\t\t\t{\n\t\t\t\tif (commandIconCached == null)\n\t\t\t\t{\n\t\t\t\t\tcommandIconCached = ContentFinder.Get(verbProps.commandIcon);\n\t\t\t\t}\n\t\t\t\treturn commandIconCached;\n\t\t\t}\n\t\t\tif (EquipmentSource != null)\n\t\t\t{\n\t\t\t\treturn EquipmentSource.def.uiIcon;\n\t\t\t}\n\t\t\treturn BaseContent.BadTex;\n\t\t}\n\t}\n\n\tpublic bool Bursting => burstShotsLeft > 0;\n\n\tpublic virtual bool IsMeleeAttack => verbProps.IsMeleeAttack;\n\n\tpublic bool BuggedAfterLoading => verbProps == null;\n\n\tpublic bool WarmingUp => WarmupStance != null;\n\n\tpublic Stance_Warmup WarmupStance\n\t{\n\t\tget\n\t\t{\n\t\t\tif (CasterPawn == null || !CasterPawn.Spawned)\n\t\t\t{\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tif (!(CasterPawn.stances.curStance is Stance_Warmup stance_Warmup) || stance_Warmup.verb != this)\n\t\t\t{\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\treturn stance_Warmup;\n\t\t}\n\t}\n\n\tpublic int WarmupTicksLeft\n\t{\n\t\tget\n\t\t{\n\t\t\tif (WarmupStance == null)\n\t\t\t{\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t\treturn WarmupStance.ticksLeft;\n\t\t}\n\t}\n\n\tpublic float WarmupProgress => 1f - WarmupTicksLeft.TicksToSeconds() / verbProps.warmupTime;\n\n\tpublic virtual string ReportLabel => verbProps.label;\n\n\tpublic virtual float EffectiveRange => verbProps.AdjustedRange(this, Caster);\n\n\tpublic virtual float? AimAngleOverride => null;\n\n\tpublic bool NonInterruptingSelfCast\n\t{\n\t\tget\n\t\t{\n\t\t\tif (!verbProps.nonInterruptingSelfCast)\n\t\t\t{\n\t\t\t\treturn nonInterruptingSelfCast;\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t}\n\n\tpublic int TicksBetweenBurstShots\n\t{\n\t\tget\n\t\t{\n\t\t\tif (!cachedTicksBetweenBurstShots.HasValue)\n\t\t\t{\n\t\t\t\tfloat num = verbProps.ticksBetweenBurstShots;\n\t\t\t\tif (EquipmentSource != null && EquipmentSource.TryGetComp(out var comp))\n\t\t\t\t{\n\t\t\t\t\tforeach (WeaponTraitDef item in comp.TraitsListForReading)\n\t\t\t\t\t{\n\t\t\t\t\t\tnum /= item.burstShotSpeedMultiplier;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tcachedTicksBetweenBurstShots = Mathf.RoundToInt(num);\n\t\t\t}\n\t\t\treturn cachedTicksBetweenBurstShots.Value;\n\t\t}\n\t}\n\n\tpublic int BurstShotCount\n\t{\n\t\tget\n\t\t{\n\t\t\tif (!cachedBurstShotCount.HasValue)\n\t\t\t{\n\t\t\t\tfloat num = verbProps.burstShotCount;\n\t\t\t\tif (EquipmentSource != null && EquipmentSource.TryGetComp(out var comp))\n\t\t\t\t{\n\t\t\t\t\tforeach (WeaponTraitDef item in comp.TraitsListForReading)\n\t\t\t\t\t{\n\t\t\t\t\t\tnum *= item.burstShotCountMultiplier;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tcachedBurstShotCount = Mathf.CeilToInt(num);\n\t\t\t}\n\t\t\treturn cachedBurstShotCount.Value;\n\t\t}\n\t}\n\n\tpublic bool IsStillUsableBy(Pawn pawn)\n\t{\n\t\tif (!Available())\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tif (!DirectOwner.VerbsStillUsableBy(pawn))\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tif (verbProps.GetDamageFactorFor(this, pawn) == 0f)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tif (pawn.IsSubhuman && verbProps.category == VerbCategory.Ignite)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t}\n\n\tpublic virtual bool IsUsableOn(Thing target)\n\t{\n\t\treturn true;\n\t}\n\n\tpublic virtual void ExposeData()\n\t{\n\t\tScribe_Values.Look(ref loadID, \"loadID\");\n\t\tScribe_Values.Look(ref state, \"state\", VerbState.Idle);\n\t\tScribe_TargetInfo.Look(ref currentTarget, \"currentTarget\");\n\t\tScribe_TargetInfo.Look(ref currentDestination, \"currentDestination\");\n\t\tScribe_Values.Look(ref burstShotsLeft, \"burstShotsLeft\", 0);\n\t\tScribe_Values.Look(ref ticksToNextBurstShot, \"ticksToNextBurstShot\", 0);\n\t\tScribe_Values.Look(ref lastShotTick, \"lastShotTick\", 0);\n\t\tScribe_Values.Look(ref surpriseAttack, \"surpriseAttack\", defaultValue: false);\n\t\tScribe_Values.Look(ref canHitNonTargetPawnsNow, \"canHitNonTargetPawnsNow\", defaultValue: false);\n\t\tScribe_Values.Look(ref preventFriendlyFire, \"preventFriendlyFire\", defaultValue: false);\n\t\tScribe_Values.Look(ref nonInterruptingSelfCast, \"nonInterruptingSelfCast\", defaultValue: false);\n\t}\n\n\tpublic string GetUniqueLoadID()\n\t{\n\t\treturn \"Verb_\" + loadID;\n\t}\n\n\tpublic static string CalculateUniqueLoadID(IVerbOwner owner, Tool tool, ManeuverDef maneuver)\n\t{\n\t\treturn string.Format(\"{0}_{1}_{2}\", owner.UniqueVerbOwnerID(), (tool != null) ? tool.id : \"NT\", (maneuver != null) ? maneuver.defName : \"NM\");\n\t}\n\n\tpublic static string CalculateUniqueLoadID(IVerbOwner owner, int index)\n\t{\n\t\treturn $\"{owner.UniqueVerbOwnerID()}_{index}\";\n\t}\n\n\tpublic bool TryStartCastOn(LocalTargetInfo castTarg, bool surpriseAttack = false, bool canHitNonTargetPawns = true, bool preventFriendlyFire = false, bool nonInterruptingSelfCast = false)\n\t{\n\t\treturn TryStartCastOn(castTarg, LocalTargetInfo.Invalid, surpriseAttack, canHitNonTargetPawns, preventFriendlyFire, nonInterruptingSelfCast);\n\t}\n\n\tpublic virtual bool TryStartCastOn(LocalTargetInfo castTarg, LocalTargetInfo destTarg, bool surpriseAttack = false, bool canHitNonTargetPawns = true, bool preventFriendlyFire = false, bool nonInterruptingSelfCast = false)\n\t{\n\t\tif (caster == null)\n\t\t{\n\t\t\tLog.Error(\"Verb \" + GetUniqueLoadID() + \" needs caster to work (possibly lost during saving/loading).\");\n\t\t\treturn false;\n\t\t}\n\t\tif (!caster.Spawned)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tif (state == VerbState.Bursting || !CanHitTarget(castTarg))\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tif (CausesTimeSlowdown(castTarg))\n\t\t{\n\t\t\tFind.TickManager.slower.SignalForceNormalSpeed();\n\t\t}\n\t\tthis.surpriseAttack = surpriseAttack;\n\t\tcanHitNonTargetPawnsNow = canHitNonTargetPawns;\n\t\tthis.preventFriendlyFire = preventFriendlyFire;\n\t\tthis.nonInterruptingSelfCast = nonInterruptingSelfCast;\n\t\tcurrentTarget = castTarg;\n\t\tcurrentDestination = destTarg;\n\t\tif (CasterIsPawn && verbProps.warmupTime > 0f)\n\t\t{\n\t\t\tif (!TryFindShootLineFromTo(caster.Position, castTarg, out var resultingLine))\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tCasterPawn.Drawer.Notify_WarmingCastAlongLine(resultingLine, caster.Position);\n\t\t\tfloat statValue = CasterPawn.GetStatValue(StatDefOf.AimingDelayFactor);\n\t\t\tint ticks = (verbProps.warmupTime * statValue).SecondsToTicks();\n\t\t\tCasterPawn.stances.SetStance(new Stance_Warmup(ticks, castTarg, this));\n\t\t\tif (verbProps.stunTargetOnCastStart && castTarg.Pawn != null)\n\t\t\t{\n\t\t\t\tcastTarg.Pawn.stances.stunner.StunFor(ticks, null, addBattleLog: false);\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tif (verbTracker.directOwner is Ability ability)\n\t\t\t{\n\t\t\t\tability.lastCastTick = Find.TickManager.TicksGame;\n\t\t\t}\n\t\t\tWarmupComplete();\n\t\t}\n\t\treturn true;\n\t}\n\n\tpublic virtual void WarmupComplete()\n\t{\n\t\tburstShotsLeft = ShotsPerBurst;\n\t\tstate = VerbState.Bursting;\n\t\tTryCastNextBurstShot();\n\t}\n\n\tpublic void VerbTick()\n\t{\n\t\tif (state == VerbState.Bursting)\n\t\t{\n\t\t\tif (!caster.Spawned || (caster is Pawn pawn && pawn.stances.stunner.Stunned))\n\t\t\t{\n\t\t\t\tReset();\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tticksToNextBurstShot--;\n\t\t\t\tif (ticksToNextBurstShot <= 0)\n\t\t\t\t{\n\t\t\t\t\tTryCastNextBurstShot();\n\t\t\t\t}\n\t\t\t\tBurstingTick();\n\t\t\t}\n\t\t}\n\t\tfor (int num = maintainedEffecters.Count - 1; num >= 0; num--)\n\t\t{\n\t\t\tEffecter item = maintainedEffecters[num].Item1;\n\t\t\tif (item.ticksLeft > 0)\n\t\t\t{\n\t\t\t\tTargetInfo item2 = maintainedEffecters[num].Item2;\n\t\t\t\tTargetInfo item3 = maintainedEffecters[num].Item3;\n\t\t\t\titem.EffectTick(item2, item3);\n\t\t\t\titem.ticksLeft--;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\titem.Cleanup();\n\t\t\t\tmaintainedEffecters.RemoveAt(num);\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic virtual void BurstingTick()\n\t{\n\t}\n\n\tpublic void AddEffecterToMaintain(Effecter eff, IntVec3 pos, int ticks, Map map = null)\n\t{\n\t\teff.ticksLeft = ticks;\n\t\tTargetInfo targetInfo = new TargetInfo(pos, map ?? caster.Map);\n\t\tmaintainedEffecters.Add(new Tuple(eff, targetInfo, targetInfo));\n\t}\n\n\tpublic void AddEffecterToMaintain(Effecter eff, IntVec3 posA, IntVec3 posB, int ticks, Map map = null)\n\t{\n\t\teff.ticksLeft = ticks;\n\t\tTargetInfo item = new TargetInfo(posA, map ?? caster.Map);\n\t\tTargetInfo item2 = new TargetInfo(posB, map ?? caster.Map);\n\t\tmaintainedEffecters.Add(new Tuple(eff, item, item2));\n\t}\n\n\tpublic virtual bool Available()\n\t{\n\t\tif (verbProps.consumeFuelPerShot > 0f)\n\t\t{\n\t\t\tCompRefuelable compRefuelable = caster.TryGetComp();\n\t\t\tif (compRefuelable != null && compRefuelable.Fuel < verbProps.consumeFuelPerShot)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\tCompApparelVerbOwner compApparelVerbOwner = EquipmentSource?.GetComp();\n\t\tif (compApparelVerbOwner != null && !compApparelVerbOwner.CanBeUsed(out var reason))\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tif (CasterIsPawn && EquipmentSource != null && EquipmentUtility.RolePreventsFromUsing(CasterPawn, EquipmentSource, out reason))\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t}\n\n\tprotected void TryCastNextBurstShot()\n\t{\n\t\tLocalTargetInfo localTargetInfo = currentTarget;\n\t\tif (Available() && TryCastShot())\n\t\t{\n\t\t\tif (verbProps.muzzleFlashScale > 0.01f)\n\t\t\t{\n\t\t\t\tFleckMaker.Static(caster.Position, caster.Map, FleckDefOf.ShotFlash, verbProps.muzzleFlashScale);\n\t\t\t}\n\t\t\tif (verbProps.soundCast != null)\n\t\t\t{\n\t\t\t\tverbProps.soundCast.PlayOneShot(new TargetInfo(caster.Position, caster.MapHeld));\n\t\t\t}\n\t\t\tif (verbProps.soundCastTail != null)\n\t\t\t{\n\t\t\t\tverbProps.soundCastTail.PlayOneShotOnCamera(caster.Map);\n\t\t\t}\n\t\t\tif (CasterIsPawn)\n\t\t\t{\n\t\t\t\tCasterPawn.Notify_UsedVerb(CasterPawn, this);\n\t\t\t\tif (CasterPawn.thinker != null && localTargetInfo == CasterPawn.mindState.enemyTarget)\n\t\t\t\t{\n\t\t\t\t\tCasterPawn.mindState.Notify_EngagedTarget();\n\t\t\t\t}\n\t\t\t\tif (CasterPawn.mindState != null)\n\t\t\t\t{\n\t\t\t\t\tCasterPawn.mindState.Notify_AttackedTarget(localTargetInfo);\n\t\t\t\t}\n\t\t\t\tif (CasterPawn.MentalState != null)\n\t\t\t\t{\n\t\t\t\t\tCasterPawn.MentalState.Notify_AttackedTarget(localTargetInfo);\n\t\t\t\t}\n\t\t\t\tif (TerrainDefSource != null)\n\t\t\t\t{\n\t\t\t\t\tCasterPawn.meleeVerbs.Notify_UsedTerrainBasedVerb();\n\t\t\t\t}\n\t\t\t\tif (CasterPawn.health != null)\n\t\t\t\t{\n\t\t\t\t\tCasterPawn.health.Notify_UsedVerb(this, localTargetInfo);\n\t\t\t\t}\n\t\t\t\tif (EquipmentSource != null)\n\t\t\t\t{\n\t\t\t\t\tEquipmentSource.Notify_UsedWeapon(CasterPawn);\n\t\t\t\t}\n\t\t\t\tif (!CasterPawn.Spawned)\n\t\t\t\t{\n\t\t\t\t\tReset();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (verbProps.consumeFuelPerShot > 0f)\n\t\t\t{\n\t\t\t\tcaster.TryGetComp()?.ConsumeFuel(verbProps.consumeFuelPerShot);\n\t\t\t}\n\t\t\tburstShotsLeft--;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tburstShotsLeft = 0;\n\t\t}\n\t\tif (burstShotsLeft > 0)\n\t\t{\n\t\t\tticksToNextBurstShot = TicksBetweenBurstShots;\n\t\t\tif (CasterIsPawn && !NonInterruptingSelfCast)\n\t\t\t{\n\t\t\t\tCasterPawn.stances.SetStance(new Stance_Cooldown(TicksBetweenBurstShots + 1, currentTarget, this));\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\t\tstate = VerbState.Idle;\n\t\tif (CasterIsPawn && !NonInterruptingSelfCast)\n\t\t{\n\t\t\tCasterPawn.stances.SetStance(new Stance_Cooldown(verbProps.AdjustedCooldownTicks(this, CasterPawn), currentTarget, this));\n\t\t}\n\t\tif (castCompleteCallback != null)\n\t\t{\n\t\t\tcastCompleteCallback();\n\t\t}\n\t\tif (verbProps.consumeFuelPerBurst > 0f)\n\t\t{\n\t\t\tcaster.TryGetComp()?.ConsumeFuel(verbProps.consumeFuelPerBurst);\n\t\t}\n\t}\n\n\tpublic virtual void OrderForceTarget(LocalTargetInfo target)\n\t{\n\t\tif (verbProps.IsMeleeAttack)\n\t\t{\n\t\t\tJob job = JobMaker.MakeJob(JobDefOf.AttackMelee, target);\n\t\t\tjob.playerForced = true;\n\t\t\tif (target.Thing is Pawn pawn)\n\t\t\t{\n\t\t\t\tjob.killIncappedTarget = pawn.Downed;\n\t\t\t}\n\t\t\tCasterPawn.jobs.TryTakeOrderedJob(job, JobTag.Misc);\n\t\t\treturn;\n\t\t}\n\t\tfloat num = verbProps.EffectiveMinRange(target, CasterPawn);\n\t\tif ((float)CasterPawn.Position.DistanceToSquared(target.Cell) < num * num && CasterPawn.Position.AdjacentTo8WayOrInside(target.Cell))\n\t\t{\n\t\t\tMessages.Message(\"MessageCantShootInMelee\".Translate(), CasterPawn, MessageTypeDefOf.RejectInput, historical: false);\n\t\t\treturn;\n\t\t}\n\t\tJob job2 = JobMaker.MakeJob(verbProps.ai_IsWeapon ? JobDefOf.AttackStatic : JobDefOf.UseVerbOnThing);\n\t\tjob2.verbToUse = this;\n\t\tjob2.targetA = target;\n\t\tjob2.endIfCantShootInMelee = true;\n\t\tCasterPawn.jobs.TryTakeOrderedJob(job2, JobTag.Misc);\n\t}\n\n\tprotected abstract bool TryCastShot();\n\n\tpublic void Notify_PickedUp()\n\t{\n\t\tReset();\n\t}\n\n\tpublic virtual void Reset()\n\t{\n\t\tstate = VerbState.Idle;\n\t\tcurrentTarget = null;\n\t\tcurrentDestination = null;\n\t\tburstShotsLeft = 0;\n\t\tticksToNextBurstShot = 0;\n\t\tcastCompleteCallback = null;\n\t\tsurpriseAttack = false;\n\t\tpreventFriendlyFire = false;\n\t}\n\n\tpublic virtual void Notify_EquipmentLost()\n\t{\n\t\tif (!CasterIsPawn)\n\t\t{\n\t\t\treturn;\n\t\t}\n\t\tPawn casterPawn = CasterPawn;\n\t\tif (casterPawn.Spawned)\n\t\t{\n\t\t\tif (casterPawn.stances.curStance is Stance_Warmup stance_Warmup && stance_Warmup.verb == this)\n\t\t\t{\n\t\t\t\tcasterPawn.stances.CancelBusyStanceSoft();\n\t\t\t}\n\t\t\tif (casterPawn.CurJob != null && casterPawn.CurJob.def == JobDefOf.AttackStatic)\n\t\t\t{\n\t\t\t\tcasterPawn.jobs.EndCurrentJob(JobCondition.Incompletable);\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic virtual float HighlightFieldRadiusAroundTarget(out bool needLOSToCenter)\n\t{\n\t\tneedLOSToCenter = false;\n\t\treturn 0f;\n\t}\n\n\tprivate bool CausesTimeSlowdown(LocalTargetInfo castTarg)\n\t{\n\t\tif (!verbProps.CausesTimeSlowdown)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tif (!castTarg.HasThing)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tThing thing = castTarg.Thing;\n\t\tif (thing.def.category != ThingCategory.Pawn && (thing.def.building == null || !thing.def.building.IsTurret))\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tPawn pawn = thing as Pawn;\n\t\tbool flag = pawn?.Downed ?? false;\n\t\tif ((CasterPawn != null && CasterPawn.Faction == Faction.OfPlayer && CasterPawn.IsShambler) || (pawn != null && pawn.Faction == Faction.OfPlayer && pawn.IsShambler))\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tif (thing.Faction != Faction.OfPlayer || !caster.HostileTo(Faction.OfPlayer))\n\t\t{\n\t\t\tif (caster.Faction == Faction.OfPlayer && thing.HostileTo(Faction.OfPlayer))\n\t\t\t{\n\t\t\t\treturn !flag;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t}\n\n\tpublic virtual bool CanHitTarget(LocalTargetInfo targ)\n\t{\n\t\tif (caster == null || !caster.Spawned)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tif (targ == caster)\n\t\t{\n\t\t\treturn true;\n\t\t}\n\t\treturn CanHitTargetFrom(caster.Position, targ);\n\t}\n\n\tpublic virtual bool ValidateTarget(LocalTargetInfo target, bool showMessages = true)\n\t{\n\t\tif (CasterIsPawn && target.Thing is Pawn p && (p.InSameExtraFaction(caster as Pawn, ExtraFactionType.HomeFaction) || p.InSameExtraFaction(caster as Pawn, ExtraFactionType.MiniFaction)))\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tif (CasterIsPawn && target.Thing is Pawn victim && HistoryEventUtility.IsKillingInnocentAnimal(CasterPawn, victim) && !new HistoryEvent(HistoryEventDefOf.KilledInnocentAnimal, CasterPawn.Named(HistoryEventArgsNames.Doer)).Notify_PawnAboutToDo())\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tif (CasterIsPawn && target.Thing is Pawn pawn && CasterPawn.Ideo != null && CasterPawn.Ideo.IsVeneratedAnimal(pawn) && !new HistoryEvent(HistoryEventDefOf.HuntedVeneratedAnimal, CasterPawn.Named(HistoryEventArgsNames.Doer)).Notify_PawnAboutToDo())\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t}\n\n\tpublic virtual void DrawHighlight(LocalTargetInfo target)\n\t{\n\t\tverbProps.DrawRadiusRing(caster.Position, this);\n\t\tif (target.IsValid)\n\t\t{\n\t\t\tGenDraw.DrawTargetHighlight(target);\n\t\t\tDrawHighlightFieldRadiusAroundTarget(target);\n\t\t}\n\t}\n\n\tprotected void DrawHighlightFieldRadiusAroundTarget(LocalTargetInfo target)\n\t{\n\t\tbool needLOSToCenter;\n\t\tfloat num = HighlightFieldRadiusAroundTarget(out needLOSToCenter);\n\t\tif (!(num > 0.2f) || !TryFindShootLineFromTo(caster.Position, target, out var resultingLine))\n\t\t{\n\t\t\treturn;\n\t\t}\n\t\tif (needLOSToCenter)\n\t\t{\n\t\t\tGenExplosion.RenderPredictedAreaOfEffect(resultingLine.Dest, num, verbProps.explosionRadiusRingColor);\n\t\t\treturn;\n\t\t}\n\t\tGenDraw.DrawFieldEdges((from x in GenRadial.RadialCellsAround(resultingLine.Dest, num, useCenter: true)\n\t\t\twhere x.InBounds(Find.CurrentMap)\n\t\t\tselect x).ToList(), verbProps.explosionRadiusRingColor);\n\t}\n\n\tpublic virtual void OnGUI(LocalTargetInfo target)\n\t{\n\t\tTexture2D icon = ((!target.IsValid) ? TexCommand.CannotShoot : ((!(UIIcon != BaseContent.BadTex)) ? TexCommand.Attack : UIIcon));\n\t\tGenUI.DrawMouseAttachment(icon);\n\t}\n\n\tpublic virtual bool CanHitTargetFrom(IntVec3 root, LocalTargetInfo targ)\n\t{\n\t\tif (targ.Thing != null && targ.Thing == caster)\n\t\t{\n\t\t\treturn targetParams.canTargetSelf;\n\t\t}\n\t\tif (targ.Pawn != null && targ.Pawn.IsPsychologicallyInvisible() && caster.HostileTo(targ.Pawn))\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tif (ApparelPreventsShooting())\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tShootLine resultingLine;\n\t\treturn TryFindShootLineFromTo(root, targ, out resultingLine);\n\t}\n\n\tpublic bool ApparelPreventsShooting()\n\t{\n\t\treturn FirstApparelPreventingShooting() != null;\n\t}\n\n\tpublic Apparel FirstApparelPreventingShooting()\n\t{\n\t\tif (CasterIsPawn && CasterPawn.apparel != null)\n\t\t{\n\t\t\tList wornApparel = CasterPawn.apparel.WornApparel;\n\t\t\tfor (int i = 0; i < wornApparel.Count; i++)\n\t\t\t{\n\t\t\t\tif (!wornApparel[i].AllowVerbCast(this))\n\t\t\t\t{\n\t\t\t\t\treturn wornApparel[i];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tpublic bool TryFindShootLineFromTo(IntVec3 root, LocalTargetInfo targ, out ShootLine resultingLine, bool ignoreRange = false)\n\t{\n\t\tif (targ.HasThing && targ.Thing.Map != caster.Map)\n\t\t{\n\t\t\tresultingLine = default(ShootLine);\n\t\t\treturn false;\n\t\t}\n\t\tif (verbProps.IsMeleeAttack || EffectiveRange <= 1.42f)\n\t\t{\n\t\t\tresultingLine = new ShootLine(root, targ.Cell);\n\t\t\treturn ReachabilityImmediate.CanReachImmediate(root, targ, caster.Map, PathEndMode.Touch, null);\n\t\t}\n\t\tCellRect occupiedRect = (targ.HasThing ? targ.Thing.OccupiedRect() : CellRect.SingleCell(targ.Cell));\n\t\tif (!ignoreRange && OutOfRange(root, targ, occupiedRect))\n\t\t{\n\t\t\tresultingLine = new ShootLine(root, targ.Cell);\n\t\t\treturn false;\n\t\t}\n\t\tif (!verbProps.requireLineOfSight)\n\t\t{\n\t\t\tresultingLine = new ShootLine(root, targ.Cell);\n\t\t\treturn true;\n\t\t}\n\t\tIntVec3 goodDest;\n\t\tif (CasterIsPawn)\n\t\t{\n\t\t\tif (CanHitFromCellIgnoringRange(root, targ, out goodDest))\n\t\t\t{\n\t\t\t\tresultingLine = new ShootLine(root, goodDest);\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tShootLeanUtility.LeanShootingSourcesFromTo(root, occupiedRect.ClosestCellTo(root), caster.Map, tempLeanShootSources);\n\t\t\tfor (int i = 0; i < tempLeanShootSources.Count; i++)\n\t\t\t{\n\t\t\t\tIntVec3 intVec = tempLeanShootSources[i];\n\t\t\t\tif (CanHitFromCellIgnoringRange(intVec, targ, out goodDest))\n\t\t\t\t{\n\t\t\t\t\tresultingLine = new ShootLine(intVec, goodDest);\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tforeach (IntVec3 item in caster.OccupiedRect())\n\t\t\t{\n\t\t\t\tif (CanHitFromCellIgnoringRange(item, targ, out goodDest))\n\t\t\t\t{\n\t\t\t\t\tresultingLine = new ShootLine(item, goodDest);\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tresultingLine = new ShootLine(root, targ.Cell);\n\t\treturn false;\n\t}\n\n\tpublic bool OutOfRange(IntVec3 root, LocalTargetInfo targ, CellRect occupiedRect)\n\t{\n\t\tfloat num = verbProps.EffectiveMinRange(targ, caster);\n\t\tfloat num2 = occupiedRect.ClosestDistSquaredTo(root);\n\t\tif (num2 > EffectiveRange * EffectiveRange || num2 < num * num)\n\t\t{\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tprivate bool CanHitFromCellIgnoringRange(IntVec3 sourceCell, LocalTargetInfo targ, out IntVec3 goodDest)\n\t{\n\t\tif (targ.Thing != null)\n\t\t{\n\t\t\tif (targ.Thing.Map != caster.Map)\n\t\t\t{\n\t\t\t\tgoodDest = IntVec3.Invalid;\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tShootLeanUtility.CalcShootableCellsOf(tempDestList, targ.Thing, sourceCell);\n\t\t\tfor (int i = 0; i < tempDestList.Count; i++)\n\t\t\t{\n\t\t\t\tif (CanHitCellFromCellIgnoringRange(sourceCell, tempDestList[i], targ.Thing.def.Fillage == FillCategory.Full))\n\t\t\t\t{\n\t\t\t\t\tgoodDest = tempDestList[i];\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\telse if (CanHitCellFromCellIgnoringRange(sourceCell, targ.Cell))\n\t\t{\n\t\t\tgoodDest = targ.Cell;\n\t\t\treturn true;\n\t\t}\n\t\tgoodDest = IntVec3.Invalid;\n\t\treturn false;\n\t}\n\n\tprivate bool CanHitCellFromCellIgnoringRange(IntVec3 sourceSq, IntVec3 targetLoc, bool includeCorners = false)\n\t{\n\t\tif (verbProps.mustCastOnOpenGround && (!targetLoc.Standable(caster.Map) || caster.Map.thingGrid.CellContains(targetLoc, ThingCategory.Pawn)))\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tif (verbProps.requireLineOfSight)\n\t\t{\n\t\t\tif (!includeCorners)\n\t\t\t{\n\t\t\t\tif (!GenSight.LineOfSight(sourceSq, targetLoc, caster.Map, skipFirstCell: true))\n\t\t\t\t{\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (!GenSight.LineOfSightToEdges(sourceSq, targetLoc, caster.Map, skipFirstCell: true))\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t}\n\n\tpublic override string ToString()\n\t{\n\t\tstring text = ((verbProps == null) ? \"null\" : ((!verbProps.label.NullOrEmpty()) ? verbProps.label : ((HediffCompSource != null) ? HediffCompSource.Def.label : ((EquipmentSource != null) ? EquipmentSource.def.label : ((verbProps.AdjustedLinkedBodyPartsGroup(tool) == null) ? \"unknown\" : verbProps.AdjustedLinkedBodyPartsGroup(tool).defName)))));\n\t\tif (tool != null)\n\t\t{\n\t\t\ttext = text + \"/\" + loadID;\n\t\t}\n\t\treturn $\"{GetType()}({text})\";\n\t}\n}\n\n", "timestamp": "2025-08-22 19:48:28,843" }, "Game-deactivate-map-remove": { "keywords": [ "Game", "remove", "deactivate", "map" ], "question": "Game method to remove or deactivate map", "embedding": [ 0.01010276097804308, 0.04111691564321518, 0.04461685195565224, -0.02886713296175003, 0.013801224529743195, 0.0027187014929950237, 0.035852301865816116, 0.004981528967618942, 0.02548483945429325, 0.07429279386997223, -0.010308640077710152, -0.02255842089653015, -0.0016626542201265693, -0.044087450951337814, -0.014007103629410267, 0.07705745100975037, -0.02239665947854519, -0.09217482805252075, -0.04320511221885681, 0.030264167115092278, -0.0046690343879163265, 0.00877190288156271, 0.0016488677356392145, -0.016955580562353134, -0.05417550727725029, -0.044440384954214096, 0.04485214129090309, 0.0741751492023468, -0.02404368855059147, 0.0012398676481097937, 0.03938165307044983, -0.015926187857985497, 0.03323470056056976, -0.03444056212902069, 0.05488137528300285, 0.039881642907857895, -0.047557976096868515, 0.0025440724566578865, 0.0316464938223362, 0.028573021292686462, -0.04741092026233673, 0.00025367195485159755, -0.010043938644230366, 0.024146629497408867, 0.017014402896165848, 0.02604365348815918, 0.03352881595492363, -0.07782214134931564, -0.038793426007032394, -0.00936012715101242, 0.003926400560885668, 0.030675923451781273, 0.0277642123401165, -0.015867363661527634, 0.01356593519449234, 0.040352221578359604, 0.011220388114452362, -0.01238213200122118, -0.04288158938288689, 0.005411668214946985, 0.020058466121554375, 0.019396713003516197, -0.014970321208238602, -0.002266503870487213, 0.029822997748851776, -0.032764121890068054, -0.026278944686055183, -0.03664640709757805, -0.008720433339476585, -0.02264665625989437, 0.021705495193600655, -0.00044783210614696145, 0.015735013410449028, -0.014676209539175034, -0.020131994038820267, -0.0227643009275198, -0.027734799310564995, -0.011985080316662788, 0.011521853506565094, -0.015661485493183136, -0.01872025430202484, 0.015146789140999317, -0.014985027723014355, 0.03655817359685898, -0.009124837815761566, 0.035205256193876266, 0.03655817359685898, 0.0032683240715414286, -0.02539660595357418, 0.06717527657747269, -0.006963111460208893, -0.0019595238845795393, -0.005496225785464048, -0.014029162004590034, -0.003867578227072954, -0.03544054552912712, -0.026440706104040146, -0.008014563471078873, 0.00831602793186903, 0.020396696403622627, 0.0045771244913339615, -0.039234597235918045, 0.000669105735141784, 0.05849895998835564, -0.005992540158331394, 0.03846990317106247, -0.030175933614373207, 0.012411544099450111, -0.008499848656356335, -0.006010922137647867, -0.013779166154563427, -0.04249924421310425, -0.017117341980338097, 0.020881980657577515, -0.005371227860450745, 0.028367141261696815, 0.04129338264465332, -0.0033492050133645535, -0.03938165307044983, 0.010404226370155811, 0.048646192997694016, -0.03699934110045433, -0.02702893130481243, -0.0349111445248127, 0.013418878428637981, -0.02138197235763073, 0.028705371543765068, -0.0007242517895065248, -0.024426035583019257, -0.01616147719323635, -0.00188967224676162, -0.0023731195833534002, -0.028940660879015923, 0.010058644227683544, -0.07723391801118851, -0.006213124841451645, -0.005422697402536869, -0.03670522943139076, -0.04429332911968231, 0.046910930424928665, -0.0006314225611276925, -0.00188967224676162, -0.013367408886551857, -0.0191908348351717, 0.08382203429937363, -0.01022775936871767, -0.07399868220090866, 0.014455624856054783, -0.015926187857985497, -0.004738886374980211, 0.01973494328558445, -0.023881927132606506, -0.019749648869037628, 0.03070533648133278, -0.016955580562353134, -0.004209483973681927, -0.0048932950012385845, -0.06805761158466339, 0.013286528177559376, -0.026102475821971893, -0.009249835275113583, -0.0033436904195696115, -0.043705105781555176, -0.00917630735784769, 0.03670522943139076, 0.010293934494256973, -0.019249657168984413, 0.03799932450056076, -0.035028789192438126, -0.03429350629448891, -0.008139560930430889, 0.03358763828873634, -0.041705138981342316, 0.04623446986079216, 0.04835208132863045, -0.027881857007741928, 0.011661557480692863, 0.05776367709040642, -0.02045551873743534, -0.05988128483295441, 0.0754692479968071, 0.021499617025256157, 0.09599828720092773, -0.01745557226240635, -0.011190976947546005, -0.03161708265542984, 0.013293880969285965, 0.10029233247041702, -0.0032867062836885452, 0.019337890669703484, -0.03188178688287735, 0.04979323223233223, 0.029720058664679527, 0.006705762818455696, -0.028117146342992783, -0.04094044864177704, -0.0035367016680538654, 0.005356522276997566, -0.015293844975531101, 0.007349133957177401, 0.008793961256742477, 0.03185237571597099, 0.039616942405700684, -0.02511719986796379, -0.0016001553740352392, -0.023587815463542938, -0.009014545008540154, -0.03079356998205185, 0.028925955295562744, -0.015146789140999317, 0.07617511600255966, 0.009198365733027458, 0.005014616530388594, -0.015396784991025925, -0.011279210448265076, -0.013940928503870964, -0.019690826535224915, -0.018661431968212128, -0.01357328798621893, 0.006341798696666956, 0.005150643642991781, 0.022043725475668907, 0.026470117270946503, 0.006091803312301636, 0.03899930417537689, -0.03826402500271797, 0.044999197125434875, 0.008205736055970192, 0.021073153242468834, 0.07052815705537796, 0.011227740906178951, -0.0010716720717027783, 0.0227643009275198, -0.02367604896426201, -0.012088020332157612, -0.0035017759073525667, -0.022779006510972977, -0.004834472667425871, -0.008896900340914726, 0.048646192997694016, 0.010110113769769669, 0.04955793917179108, -0.016382060945034027, 0.04732268676161766, -0.01972023770213127, -0.061704784631729126, -0.025631897151470184, -0.002301429631188512, 0.026543645188212395, -0.0016415149439126253, 0.025014260783791542, 0.0334111712872982, 0.0022922386415302753, -0.05035204440355301, 0.018205558881163597, 0.005238877143710852, 0.005106526892632246, -0.014426213689148426, 0.044646263122558594, -0.046175647526979446, -0.0033933219965547323, 0.015132083557546139, -0.040616922080516815, 0.05305787920951843, -0.05994011089205742, 0.022617245092988014, -0.008301322348415852, 0.026249531656503677, -0.048734426498413086, -0.08358674496412277, 0.004459479358047247, 0.0045771244913339615, 0.017205575481057167, -0.011485089547932148, -0.017058519646525383, 0.012999768368899822, 0.01635264977812767, 0.0372934527695179, 0.0010330697987228632, -0.03664640709757805, -0.029278891161084175, 0.010676280595362186, 0.0239554550498724, -0.016955580562353134, 0.037616975605487823, 0.04985205456614494, 0.04264630004763603, -0.013176236301660538, -0.004768297541886568, 0.02476426400244236, -0.0028124498203396797, 0.015514429658651352, -0.004110220819711685, 0.02111727185547352, -0.00584548432379961, -0.007801331579685211, -0.06323416531085968, 0.052763767540454865, -0.0237495768815279, -0.012499777600169182, -0.024970144033432007, -0.00959541741758585, 0.01636735536158085, 0.011948316358029842, 0.06917523592710495, -0.04446979612112045, -0.025970125570893288, -0.08552788943052292, 0.036499351263046265, -0.07235164940357208, 0.025293666869401932, 0.014815912581980228, -0.043352168053388596, 0.0015606340020895004, -0.018617315217852592, 0.019132012501358986, -0.04141102731227875, 0.006396945100277662, 1.3176178072171751e-05, 0.0420580729842186, -0.011749790981411934, -0.04523449018597603, -0.0466168187558651, 0.0050072637386620045, 0.008918958716094494, -0.03826402500271797, 0.02247018739581108, 0.017984973266720772, -0.003608391620218754, -0.032764121890068054, 0.0008487900486215949, 0.014815912581980228, -0.04011693224310875, -0.014962968416512012, -0.055528424680233, 0.0007311450899578631, 0.01023511216044426, -0.03352881595492363, 0.02074963040649891, -0.007062374148517847, -0.007316046394407749, -0.028278907760977745, -0.031293559819459915, 0.020352579653263092, 0.019411418586969376, 0.02613188698887825, 0.006069744937121868, 0.01901436783373356, 0.04785208776593208, 0.013874753378331661, -0.030999448150396347, 0.014521799981594086, 0.005275641568005085, 0.01644088327884674, 0.02294076792895794, -0.06905759125947952, -0.01598501019179821, -0.005349169485270977, -0.0602930448949337, 0.009382185526192188, -0.006981493439525366, 0.03191119804978371, -0.006301358342170715, 0.0557343028485775, 0.05852837115526199, -0.005555048119276762, 0.01599971577525139, 0.04082280397415161, 0.025558369234204292, 0.008433673530817032, 0.0033933219965547323, -0.04820502549409866, 0.06276358664035797, 0.027014225721359253, -0.04649917036294937, 0.08605729043483734, 0.032205309718847275, -0.016014421358704567, -0.0035128050949424505, 0.006080774124711752, 0.015279139392077923, 0.03044063411653042, -0.03496996685862541, -0.09611593186855316, -0.010014527477324009, -0.017779095098376274, -0.01964670978486538, 0.0026856139302253723, 0.02704363688826561, -0.058793071657419205, 0.05555783584713936, 0.005374904256314039, -0.01745557226240635, -0.011602734215557575, -0.03829343616962433, 0.0063638570718467236, -0.01891142874956131, 0.06911641359329224, -0.01342623122036457, -0.01717616431415081, -0.02420545183122158, -0.006444738246500492, 0.005492549389600754, -0.02648482285439968, 0.03299941122531891, 0.013786518946290016, 0.053851980715990067, -0.04732268676161766, -0.025631897151470184, -0.02238195389509201, -0.02467603050172329, -0.013462995178997517, -0.0059153358452022076, 0.06970464438199997, -0.051204971969127655, -0.01617618277668953, 0.005466814618557692, -0.002145182341337204, 0.015161494724452496, 0.058146022260189056, 0.0031543555669486523, 0.01608794927597046, -0.06364592909812927, -0.004698445554822683, -0.03355822712182999, 0.03185237571597099, 0.07558689266443253, 0.0034080275800079107, -0.0016727643087506294, 0.05964599549770355, 0.012654186226427555, -0.00876455008983612, -0.02476426400244236, 0.07205753773450851, -0.001085458556190133, -0.04067574441432953, 0.0037058163434267044, -0.04202866181731224, -0.025440722703933716, 0.004345510620623827, -0.017382042482495308, -0.00714693171903491, -0.03464644029736519, -0.010477754287421703, -0.030175933614373207, -0.021676084026694298, 0.04441097378730774, -0.010065997019410133, 0.04146984964609146, 0.0368816964328289, 0.009352774359285831, -0.004007281735539436, 0.010985098779201508, 0.012396838515996933, -0.012977709993720055, 0.032675888389348984, -0.00735648674890399, -0.0732928141951561, -0.08088091015815735, -0.005128585267812014, 0.08029268682003021, 0.01772027276456356, -0.018926134333014488, 0.022411365061998367, 0.005768279545009136, 0.018661431968212128, -0.03982282057404518, -0.017749683931469917, -0.013029179535806179, -0.04211689531803131, -0.02127903327345848, 0.037146396934986115, 0.048381492495536804, -0.06264594197273254, 0.05726368725299835, -0.052057895809412, -0.026426000520586967, 0.07176342606544495, 0.008720433339476585, 0.0243966244161129, -0.008418967947363853, 0.0008648742805235088, -0.025249550119042397, -0.0498814657330513, -0.05938129499554634, -0.05855778232216835, 0.007926329039037228, -0.014418860897421837, 0.035969946533441544, 0.003178252140060067, -0.029175950214266777, -0.03626406192779541, 0.006180036813020706, -0.013315939344465733, -0.022440776228904724, 0.037852268666028976, 0.0019668766763061285, -0.07752802968025208, -0.012911534868180752, -0.02157314494252205, -0.0007853720453567803, 0.03855813667178154, -0.03864637017250061, -0.02074963040649891, 0.046734463423490524, -0.006349151488393545, -0.04670505225658417, -0.0169114638119936, -0.03952870890498161, -0.01624971069395542, 0.0030128140933811665, -0.041528671979904175, 0.0004354242410045117, 0.037234630435705185, -0.0033179556485265493, 0.008617493323981762, -0.0004774731060024351, 0.09376303851604462, -0.00909542664885521, 0.003885960206389427, 0.008080738596618176, -0.019352596253156662, -0.013587993569672108, -2.6539049940765835e-05, -0.04685210809111595, -0.020808452740311623, -0.003340014023706317, 0.010161583311855793, -0.010911569930613041, -0.029073011130094528, -0.030381811782717705, 0.015007086098194122, -0.01292624045163393, 0.01238948479294777, -0.0005666259676218033, 0.01764674484729767, 0.007632216904312372, -0.007771920412778854, 0.03779344633221626, -0.024455446749925613, -0.019220246002078056, -0.004588153678923845, -0.01406592596322298, -0.012676244601607323, 0.02467603050172329, 0.045087430626153946, 0.01847025938332081, 0.026734817773103714, -0.01470562070608139, -0.0841161459684372, 0.027470098808407784, 0.001457694685086608, 0.02392604388296604, -0.0589989498257637, 0.002397016156464815, -0.004676387179642916, 0.018411437049508095, 0.02438191883265972, 0.029175950214266777, 0.0219113752245903, 0.005547695327550173, -0.014676209539175034, -0.0162644162774086, -0.03052886761724949, -0.020514341071248055, -0.02876419387757778, -0.029999466612935066, -0.0003568410756997764, -0.029646530747413635, -0.017587922513484955, -0.07688098400831223, 0.0219113752245903, -0.019793765619397163, -0.0032389129046350718, 0.021779023110866547, 0.030175933614373207, 0.03079356998205185, 0.01502914447337389, 0.05405786260962486, 0.03214648738503456, 0.014080631546676159, 0.03944047540426254, -0.024617208167910576, -0.05841072276234627, -0.02492602728307247, -0.01708793081343174, 0.03188178688287735, 0.016043832525610924, 0.0006916237180121243, 0.0024981172755360603, 0.06182242929935455, -0.020440813153982162, -0.05776367709040642, -0.02367604896426201, -0.033028822392225266, 0.048646192997694016, 0.018426142632961273, 0.02467603050172329, 0.0002961803984362632, 0.07682216167449951, -0.030117111280560493, -0.04405803978443146, -0.0107351029291749, -0.008838078007102013, -0.010499812662601471, 0.01863202080130577, 0.017705567181110382, -0.009220424108207226, 0.028175968676805496, 0.012896829284727573, -0.037764035165309906, 0.042616888880729675, -0.017220281064510345, -0.011918905191123486, -0.0169114638119936, -0.02301429584622383, 0.01219831220805645, 0.00894836988300085, -0.009926293976604939, 0.005110203288495541, -8.375310426345095e-05, -0.016470294445753098, -0.01964670978486538, -0.024014277383685112, -0.014837970957159996, 0.011911552399396896, -0.0011810451978817582, -0.010654222220182419, 0.041705138981342316, -0.01063951663672924, 0.043175701051950455, -0.011088037863373756, -0.019852587953209877, 0.038322847336530685, 0.04870501533150673, -0.025911303237080574, -0.0016865507932379842, 0.00014475845091510564, 0.007992505095899105, -0.01238213200122118, 0.0006553191924467683, 0.005404315423220396, -0.009963057935237885, 0.005341816693544388, 0.009448361583054066, -0.0044080098159611225, -0.001861180062405765, 0.0023345171939581633, 0.010705691762268543, 0.013382114470005035, 0.003930076956748962, 0.06752821058034897, 0.002564292633906007, 0.015661485493183136, -0.027293631806969643, 0.0016470295377075672, -0.024014277383685112, -0.03629347309470177, 0.013374761678278446, -0.041263971477746964, -0.054969608783721924, -0.08052797615528107, -0.011257152073085308, -0.01097039319574833, -0.03135238215327263, 0.011757143773138523, 0.0041837492026388645, 0.014904146082699299, 0.006735173985362053, 0.025190727785229683, -0.03999928757548332, -0.011418914422392845, -0.023602521046996117, 0.0028731105849146843, 0.033940572291612625, 0.012985062785446644, -0.026058359071612358, -0.05191083997488022, 0.032675888389348984, 0.0022793712560087442, 0.03638170659542084, 0.049381472170352936, -0.025264255702495575, -0.01929377391934395, -0.04896971583366394, -0.00609547970816493, 0.018867311999201775, -0.005782985128462315, -0.0013896811287850142, 0.03882283717393875, 0.008051327429711819, -0.029984761029481888, 0.045175667852163315, -0.0019668766763061285, -0.01782321184873581, -0.02694069594144821, 0.003591847838833928, -0.043087467551231384, 0.052028484642505646, 0.039499297738075256, -0.019220246002078056, -0.04555801302194595, -0.06676352024078369, -0.016734996810555458, 0.02392604388296604, -0.007882212288677692, -0.0021764319390058517, -0.013668874278664589, -0.0015275463229045272, 0.008205736055970192, 0.010632163845002651, -0.016882052645087242, -0.013315939344465733, -0.005768279545009136, -0.004264629911631346, 0.008551318198442459, 0.040058109909296036, -0.01479385420680046, -0.024190746247768402, -0.012183606624603271, 0.001329939579591155, 0.009713062085211277, -0.009933646768331528, 0.02238195389509201, -0.021779023110866547, 0.025734836235642433, 0.001751807052642107, -0.012249781750142574, -0.02411721833050251, 0.04291100054979324, -0.03444056212902069, -0.012360073626041412, -0.04123456031084061, -0.0020992273930460215, 0.019426124170422554, -0.012477719224989414, 0.03317587822675705, -0.02777891792356968, 0.007617511320859194, -0.06399886310100555, -0.07876330614089966, -0.03258765488862991, 0.06711645424365997, -0.00370213994756341, 0.09829236567020416, -0.02958770841360092, -0.018617315217852592, 0.028528904542326927, 0.004834472667425871, -0.00751089584082365, 0.006018275395035744, 0.0035642748698592186, 0.07452808320522308, -0.017249692231416702, 0.007154284510761499, 0.016220299527049065, 0.055528424680233, 0.05817543342709541, 0.013058590702712536, -0.012845359742641449, 0.009286599233746529, 0.01607324369251728, 0.004360216669738293, 0.01682323031127453, -0.04761679843068123, 0.05949893966317177, 0.03635229542851448, 0.03917577117681503, -0.054763730615377426, -0.0064226798713207245, -0.02492602728307247, -0.009566006250679493, 0.03867578133940697, 0.03455820679664612, -0.01663205586373806, 0.05108732730150223, 0.008720433339476585, 0.0016589778242632747, 0.04732268676161766, -0.004474184941500425, 0.05932247266173363, 0.02001434937119484, 0.0498814657330513, 0.02045551873743534, 0.013860046863555908, 0.01462473999708891, 0.0072645763866603374, -0.012786537408828735, -0.013051237910985947, -0.01791144534945488, -0.004816090688109398, -0.005187407601624727, 0.09141013771295547, -0.01844084821641445, -0.02658776193857193, -0.015852658078074455, 0.025073083117604256, 0.09705709666013718, -0.011602734215557575, -0.014212981797754765, -0.024073101580142975, -0.08082208782434464, 0.01041893195360899, 0.00377934449352324, -0.007617511320859194, 0.033852338790893555, -0.015573251992464066, 0.03894048184156418, -0.00040417478885501623, -0.032205309718847275, -0.031940609216690063, 0.022411365061998367, 0.04058751091361046, 0.024161335080862045, -0.02813185192644596, -0.023984866216778755, -0.052469652146101, 0.005838131532073021, -0.02969064749777317, 0.0005179135478101671, -0.0027977442368865013, -0.0015247890260070562, 0.012801242992281914, 0.005782985128462315, 0.009955705143511295, -0.02064669132232666, -0.006091803312301636, 0.026087770238518715, 0.015014438889920712, -0.032940588891506195, 0.03588171303272247, -0.0063087111338973045, -0.015051202848553658, 0.025455428287386894, 0.030028877779841423, 0.03488173335790634, -0.027323042973876, -0.02019081637263298, -0.045734480023384094, 0.020220227539539337, -0.012948298826813698, -0.05588135868310928, 0.012132137082517147, -0.039793409407138824, 0.0070219337940216064, -0.015426196157932281, 0.025705425068736076, -0.03323470056056976, 0.0015073261456564069, 0.018690843135118484, -0.04094044864177704, -0.019440829753875732, 0.019205540418624878, -0.01680852472782135, -0.009316010400652885, 0.0698222890496254, 0.03170531615614891, 0.017690861597657204, 0.0027995824348181486, 0.04158749431371689, -0.00895572267472744, -0.037058163434267044, -0.02322017401456833, 0.02522013895213604, 0.021234916523098946, -0.0231025293469429, 0.04961676523089409, -0.0007063293596729636, 0.0030514162499457598, 0.019337890669703484, 0.009573359042406082, 0.00021897588158026338, -0.0002449404855724424, 0.03391116112470627, 0.022087842226028442, -0.04394039511680603, -0.027117164805531502, 0.016146771609783173, 0.01064686942845583, -0.010624811053276062, 0.0008400585502386093, -0.022587833926081657, -0.0035955242346972227, -0.004926383029669523, 0.024176040664315224, 0.01219095941632986, 0.008845430798828602, 0.009668945334851742, -0.02641129493713379, 0.022043725475668907, 0.04211689531803131, -0.0338229276239872, 0.014470330439507961, -0.011124801822006702, 0.005959452595561743, 0.011639498174190521, -0.031470026820898056, -0.001660816022194922, 0.013235058635473251, -0.01147038396447897, 0.015396784991025925, -0.054675497114658356, 0.04485214129090309, -0.010360109619796276, 0.010889511555433273, -0.07323399186134338, 0.019161423668265343, -0.007580747362226248, 0.00041014893213286996, -0.026381883770227432, 0.01197037473320961, 0.02248489297926426, 0.0036139062140136957, 0.0033124410547316074, 0.022146664559841156, -0.06394004076719284, -0.017117341980338097, 0.04585212469100952, 0.021823139861226082, 0.001150714815594256, 0.029822997748851776, -0.014146806672215462, 0.008588082157075405, 0.023528993129730225, 0.01311741303652525, -0.0156173687428236, -0.036234647035598755, -0.03279353305697441, 0.028278907760977745, -0.026720112189650536, -0.019779060035943985, 0.044263917952775955, 0.021308444440364838, -0.033028822392225266, -0.008926311507821083, 0.03655817359685898, -0.03994046524167061, -0.04220513254404068, -0.04679328575730324, -0.031028859317302704, 0.002766494872048497, -0.03399939462542534, 0.03435232862830162, 0.0071138436906039715, 0.00781603716313839, 0.019073190167546272, 0.001996288076043129, 0.012779184617102146, 0.018396731466054916, -0.02347017079591751, -0.02411721833050251, 0.009713062085211277, 0.049293238669633865, -0.07141049206256866, 0.012970357201993465, 0.032028842717409134, 0.008668962866067886, 0.035969946533441544, -0.012146842665970325, -0.030117111280560493, 0.035587601363658905, 0.03602876886725426, 0.025278961285948753, -0.04761679843068123, 0.009124837815761566, -0.009646886959671974, 0.028367141261696815, 0.01416151225566864, -0.007771920412778854, 0.0392640084028244, 0.01563207432627678, 0.0015257081249728799, 0.00803662184625864, -0.05482255294919014, -0.011485089547932148, -0.022690773010253906, -0.031293559819459915, -0.04008752107620239, -0.07988093048334122, -0.07470455020666122, -0.004584477283060551, 0.004779326729476452, -0.0015367373125627637, -0.004003605339676142, 0.01717616431415081, -0.07811625301837921, -0.022602539509534836, -0.015323256142437458, 0.033293526619672775, 0.002064301399514079, 0.009551300667226315, -0.03132297098636627, 0.03702875226736069, 0.03464644029736519, 0.03052886761724949, -0.03999928757548332, -0.032293543219566345, -0.01964670978486538, 0.01889672316610813, 0.013808577321469784, 0.011073332279920578, 0.030293578281998634, -0.001751807052642107, -0.036969929933547974, 0.00525358272716403, 0.03217589855194092, -0.025720130652189255, 0.002490764483809471, -0.027073048055171967, -0.029955347999930382, 0.0641753301024437, 0.008705727756023407, 0.04064633324742317, 0.013712991029024124, 0.03496996685862541, 0.027558332309126854, -0.041058093309402466, 0.005260935518890619, 0.0010431800037622452, -0.03517584502696991, 0.022176075726747513, 0.0041837492026388645, 0.03179354965686798, -0.0016644924180582166 ], "result": "--- 结果 1 (相似度: 1.000) ---\n文件路径: C:\\Steam\\steamapps\\common\\RimWorld\\Data\\dll1.6\\Verse\\Game.txt\n\npublic class Game : IExposable, IDisposable\n{\n\tprivate GameInitData initData;\n\n\tprivate Gravship gravshipInt;\n\n\tpublic sbyte currentMapIndex = -1;\n\n\tprivate GameInfo info = new GameInfo();\n\n\tpublic List components = new List();\n\n\tprivate GameRules rules = new GameRules();\n\n\tprivate Scenario scenarioInt;\n\n\tprivate World worldInt;\n\n\tprivate List maps = new List();\n\n\tpublic PlaySettings playSettings = new PlaySettings();\n\n\tpublic StoryWatcher storyWatcher = new StoryWatcher();\n\n\tpublic LetterStack letterStack = new LetterStack();\n\n\tpublic ResearchManager researchManager = new ResearchManager();\n\n\tpublic AnalysisManager analysisManager = new AnalysisManager();\n\n\tpublic GameEnder gameEnder = new GameEnder();\n\n\tpublic Storyteller storyteller = new Storyteller();\n\n\tpublic History history = new History();\n\n\tpublic TaleManager taleManager = new TaleManager();\n\n\tpublic PlayLog playLog = new PlayLog();\n\n\tpublic BattleLog battleLog = new BattleLog();\n\n\tpublic OutfitDatabase outfitDatabase = new OutfitDatabase();\n\n\tpublic DrugPolicyDatabase drugPolicyDatabase = new DrugPolicyDatabase();\n\n\tpublic ReadingPolicyDatabase readingPolicyDatabase = new ReadingPolicyDatabase();\n\n\tpublic FoodRestrictionDatabase foodRestrictionDatabase = new FoodRestrictionDatabase();\n\n\tpublic TickManager tickManager = new TickManager();\n\n\tpublic Tutor tutor = new Tutor();\n\n\tpublic Autosaver autosaver = new Autosaver();\n\n\tpublic DateNotifier dateNotifier = new DateNotifier();\n\n\tpublic SignalManager signalManager = new SignalManager();\n\n\tpublic UniqueIDsManager uniqueIDsManager = new UniqueIDsManager();\n\n\tpublic QuestManager questManager = new QuestManager();\n\n\tpublic TransportShipManager transportShipManager = new TransportShipManager();\n\n\tpublic StudyManager studyManager = new StudyManager();\n\n\tpublic CustomXenogermDatabase customXenogermDatabase = new CustomXenogermDatabase();\n\n\tpublic CustomXenotypeDatabase customXenotypeDatabase = new CustomXenotypeDatabase();\n\n\tpublic RelationshipRecords relationshipRecords = new RelationshipRecords();\n\n\tpublic HiddenItemsManager hiddenItemsManager = new HiddenItemsManager();\n\n\tpublic EntityCodex entityCodex = new EntityCodex();\n\n\tprivate static readonly List tmpPlayerHomeMaps = new List();\n\n\tpublic Scenario Scenario\n\t{\n\t\tget\n\t\t{\n\t\t\treturn scenarioInt;\n\t\t}\n\t\tset\n\t\t{\n\t\t\tscenarioInt = value;\n\t\t}\n\t}\n\n\tpublic World World\n\t{\n\t\tget\n\t\t{\n\t\t\treturn worldInt;\n\t\t}\n\t\tset\n\t\t{\n\t\t\tif (worldInt != value)\n\t\t\t{\n\t\t\t\tworldInt = value;\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic Map CurrentMap\n\t{\n\t\tget\n\t\t{\n\t\t\tif (currentMapIndex < 0)\n\t\t\t{\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\treturn maps[currentMapIndex];\n\t\t}\n\t\tset\n\t\t{\n\t\t\tint num;\n\t\t\tif (value == null)\n\t\t\t{\n\t\t\t\tnum = -1;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tnum = maps.IndexOf(value);\n\t\t\t\tif (num < 0)\n\t\t\t\t{\n\t\t\t\t\tLog.Error(\"Could not set current map because it does not exist.\");\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (currentMapIndex != num)\n\t\t\t{\n\t\t\t\tcurrentMapIndex = (sbyte)num;\n\t\t\t\tFind.MapUI.Notify_SwitchedMap();\n\t\t\t\tAmbientSoundManager.Notify_SwitchedMap();\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic Map AnyPlayerHomeMap\n\t{\n\t\tget\n\t\t{\n\t\t\tif (Faction.OfPlayerSilentFail == null)\n\t\t\t{\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tfor (int i = 0; i < maps.Count; i++)\n\t\t\t{\n\t\t\t\tif (maps[i].IsPlayerHome)\n\t\t\t\t{\n\t\t\t\t\treturn maps[i];\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (ModsConfig.OdysseyActive)\n\t\t\t{\n\t\t\t\tfor (int j = 0; j < maps.Count; j++)\n\t\t\t\t{\n\t\t\t\t\tif (GravshipUtility.PlayerHasGravEngine(maps[j]))\n\t\t\t\t\t{\n\t\t\t\t\t\treturn maps[j];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn null;\n\t\t}\n\t}\n\n\tpublic bool PlayerHasControl\n\t{\n\t\tget\n\t\t{\n\t\t\tif (ScreenFader.IsFading())\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tif (WorldComponent_GravshipController.CutsceneInProgress && !Find.CameraDriver.config.gravshipFreeCam)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t}\n\n\tpublic IReadOnlyList PlayerHomeMaps\n\t{\n\t\tget\n\t\t{\n\t\t\tif (Faction.OfPlayerSilentFail == null)\n\t\t\t{\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\ttmpPlayerHomeMaps.Clear();\n\t\t\tfor (int i = 0; i < maps.Count; i++)\n\t\t\t{\n\t\t\t\tMap map = maps[i];\n\t\t\t\tif (map.IsPlayerHome)\n\t\t\t\t{\n\t\t\t\t\ttmpPlayerHomeMaps.Add(map);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn tmpPlayerHomeMaps;\n\t\t}\n\t}\n\n\tpublic Map RandomPlayerHomeMap\n\t{\n\t\tget\n\t\t{\n\t\t\tif (Faction.OfPlayerSilentFail == null)\n\t\t\t{\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\ttmpPlayerHomeMaps.Clear();\n\t\t\tfor (int i = 0; i < maps.Count; i++)\n\t\t\t{\n\t\t\t\tMap map = maps[i];\n\t\t\t\tif (map.IsPlayerHome)\n\t\t\t\t{\n\t\t\t\t\ttmpPlayerHomeMaps.Add(map);\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (tmpPlayerHomeMaps.Any())\n\t\t\t{\n\t\t\t\tMap result = tmpPlayerHomeMaps.RandomElement();\n\t\t\t\ttmpPlayerHomeMaps.Clear();\n\t\t\t\treturn result;\n\t\t\t}\n\t\t\treturn null;\n\t\t}\n\t}\n\n\tpublic Map RandomRootSurfacePlayerHomeMap\n\t{\n\t\tget\n\t\t{\n\t\t\tif (Faction.OfPlayerSilentFail == null)\n\t\t\t{\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\ttmpPlayerHomeMaps.Clear();\n\t\t\tfor (int i = 0; i < maps.Count; i++)\n\t\t\t{\n\t\t\t\tMap map = maps[i];\n\t\t\t\tif (map.IsPlayerHome && map.Tile.Layer.IsRootSurface)\n\t\t\t\t{\n\t\t\t\t\ttmpPlayerHomeMaps.Add(map);\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (tmpPlayerHomeMaps.Any())\n\t\t\t{\n\t\t\t\tMap result = tmpPlayerHomeMaps.RandomElement();\n\t\t\t\ttmpPlayerHomeMaps.Clear();\n\t\t\t\treturn result;\n\t\t\t}\n\t\t\treturn null;\n\t\t}\n\t}\n\n\tpublic Map RandomSurfacePlayerHomeMap\n\t{\n\t\tget\n\t\t{\n\t\t\tif (Faction.OfPlayerSilentFail == null)\n\t\t\t{\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\ttmpPlayerHomeMaps.Clear();\n\t\t\tfor (int i = 0; i < maps.Count; i++)\n\t\t\t{\n\t\t\t\tMap map = maps[i];\n\t\t\t\tif (map.IsPlayerHome && map.Tile.LayerDef.SurfaceTiles)\n\t\t\t\t{\n\t\t\t\t\ttmpPlayerHomeMaps.Add(map);\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (tmpPlayerHomeMaps.Any())\n\t\t\t{\n\t\t\t\tMap result = tmpPlayerHomeMaps.RandomElement();\n\t\t\t\ttmpPlayerHomeMaps.Clear();\n\t\t\t\treturn result;\n\t\t\t}\n\t\t\treturn null;\n\t\t}\n\t}\n\n\tpublic List Maps => maps;\n\n\tpublic GameInitData InitData\n\t{\n\t\tget\n\t\t{\n\t\t\treturn initData;\n\t\t}\n\t\tset\n\t\t{\n\t\t\tinitData = value;\n\t\t}\n\t}\n\n\tpublic GameInfo Info => info;\n\n\tpublic GameRules Rules => rules;\n\n\tpublic Gravship Gravship\n\t{\n\t\tget\n\t\t{\n\t\t\treturn gravshipInt;\n\t\t}\n\t\tset\n\t\t{\n\t\t\tgravshipInt = value;\n\t\t}\n\t}\n\n\tpublic bool IsPlayerTile(PlanetTile tile)\n\t{\n\t\tfor (int i = 0; i < maps.Count; i++)\n\t\t{\n\t\t\tMap map = maps[i];\n\t\t\tif (map.Tile == tile && map.IsPlayerHome)\n\t\t\t{\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic Game()\n\t{\n\t\tFillComponents();\n\t}\n\n\tpublic void AddMap(Map map)\n\t{\n\t\tif (map == null)\n\t\t{\n\t\t\tLog.Error(\"Tried to add null map.\");\n\t\t\treturn;\n\t\t}\n\t\tif (maps.Contains(map))\n\t\t{\n\t\t\tLog.Error(\"Tried to add map but it's already here.\");\n\t\t\treturn;\n\t\t}\n\t\tif (maps.Count > 127)\n\t\t{\n\t\t\tLog.Error(\"Can't add map. Reached maps count limit (\" + sbyte.MaxValue + \").\");\n\t\t\treturn;\n\t\t}\n\t\tmaps.Add(map);\n\t\tFind.ColonistBar.MarkColonistsDirty();\n\t}\n\n\tpublic Map FindMap(MapParent mapParent)\n\t{\n\t\tfor (int i = 0; i < maps.Count; i++)\n\t\t{\n\t\t\tif (maps[i].info.parent == mapParent)\n\t\t\t{\n\t\t\t\treturn maps[i];\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tpublic Map FindMap(PlanetTile tile)\n\t{\n\t\tfor (int i = 0; i < maps.Count; i++)\n\t\t{\n\t\t\tif (maps[i].Tile == tile)\n\t\t\t{\n\t\t\t\treturn maps[i];\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tpublic void ExposeData()\n\t{\n\t\tif (Scribe.mode == LoadSaveMode.LoadingVars)\n\t\t{\n\t\t\tLog.Error(\"You must use special LoadData method to load Game.\");\n\t\t\treturn;\n\t\t}\n\t\tScribe_Values.Look(ref currentMapIndex, \"currentMapIndex\", -1);\n\t\tExposeSmallComponents();\n\t\tScribe_Deep.Look(ref worldInt, \"world\");\n\t\tScribe_Collections.Look(ref maps, \"maps\", LookMode.Deep);\n\t\tFind.CameraDriver.Expose();\n\t}\n\n\tprivate void ExposeSmallComponents()\n\t{\n\t\tScribe_Deep.Look(ref info, \"info\");\n\t\tScribe_Deep.Look(ref rules, \"rules\");\n\t\tScribe_Deep.Look(ref scenarioInt, \"scenario\");\n\t\tScribe_Deep.Look(ref tickManager, \"tickManager\");\n\t\tScribe_Deep.Look(ref playSettings, \"playSettings\");\n\t\tScribe_Deep.Look(ref storyWatcher, \"storyWatcher\");\n\t\tScribe_Deep.Look(ref gameEnder, \"gameEnder\");\n\t\tScribe_Deep.Look(ref letterStack, \"letterStack\");\n\t\tScribe_Deep.Look(ref researchManager, \"researchManager\");\n\t\tScribe_Deep.Look(ref analysisManager, \"analysisManager\");\n\t\tif (Scribe.mode == LoadSaveMode.LoadingVars && analysisManager == null)\n\t\t{\n\t\t\tanalysisManager = new AnalysisManager();\n\t\t}\n\t\tScribe_Deep.Look(ref storyteller, \"storyteller\");\n\t\tScribe_Deep.Look(ref history, \"history\");\n\t\tScribe_Deep.Look(ref taleManager, \"taleManager\");\n\t\tScribe_Deep.Look(ref playLog, \"playLog\");\n\t\tScribe_Deep.Look(ref battleLog, \"battleLog\");\n\t\tScribe_Deep.Look(ref outfitDatabase, \"outfitDatabase\");\n\t\tScribe_Deep.Look(ref drugPolicyDatabase, \"drugPolicyDatabase\");\n\t\tScribe_Deep.Look(ref foodRestrictionDatabase, \"foodRestrictionDatabase\");\n\t\tScribe_Deep.Look(ref readingPolicyDatabase, \"readingPolicyDatabase\");\n\t\tScribe_Deep.Look(ref tutor, \"tutor\");\n\t\tScribe_Deep.Look(ref dateNotifier, \"dateNotifier\");\n\t\tScribe_Deep.Look(ref uniqueIDsManager, \"uniqueIDsManager\");\n\t\tScribe_Deep.Look(ref questManager, \"questManager\");\n\t\tScribe_Deep.Look(ref transportShipManager, \"transportShipManager\");\n\t\tScribe_Deep.Look(ref studyManager, \"studyManager\");\n\t\tScribe_Deep.Look(ref customXenogermDatabase, \"customXenogermDatabase\");\n\t\tScribe_Deep.Look(ref customXenotypeDatabase, \"customXenotypeDatabase\");\n\t\tScribe_Deep.Look(ref relationshipRecords, \"relationshipRecords\");\n\t\tScribe_Deep.Look(ref hiddenItemsManager, \"hiddenItemsManager\");\n\t\tScribe_Deep.Look(ref entityCodex, \"entityCodex\");\n\t\tScribe_Collections.Look(ref components, \"components\", LookMode.Deep, this);\n\t\tif (Scribe.mode == LoadSaveMode.LoadingVars)\n\t\t{\n\t\t\tFillComponents();\n\t\t\tif (rules == null)\n\t\t\t{\n\t\t\t\tLog.Warning(\"Save game was missing rules. Replacing with a blank GameRules.\");\n\t\t\t\trules = new GameRules();\n\t\t\t}\n\t\t\tif (relationshipRecords == null)\n\t\t\t{\n\t\t\t\trelationshipRecords = new RelationshipRecords();\n\t\t\t}\n\t\t\tif (readingPolicyDatabase == null)\n\t\t\t{\n\t\t\t\treadingPolicyDatabase = new ReadingPolicyDatabase();\n\t\t\t}\n\t\t\tif (hiddenItemsManager == null)\n\t\t\t{\n\t\t\t\thiddenItemsManager = new HiddenItemsManager();\n\t\t\t}\n\t\t\tif (entityCodex == null)\n\t\t\t{\n\t\t\t\tentityCodex = new EntityCodex();\n\t\t\t}\n\t\t}\n\t\tBackCompatibility.PostExposeData(this);\n\t}\n\n\tprivate void FillComponents()\n\t{\n\t\tcomponents.RemoveAll((GameComponent component) => component == null);\n\t\tforeach (Type item2 in typeof(GameComponent).AllSubclassesNonAbstract())\n\t\t{\n\t\t\tif (GetComponent(item2) == null)\n\t\t\t{\n\t\t\t\ttry\n\t\t\t\t{\n\t\t\t\t\tGameComponent item = (GameComponent)Activator.CreateInstance(item2, this);\n\t\t\t\t\tcomponents.Add(item);\n\t\t\t\t}\n\t\t\t\tcatch (Exception ex)\n\t\t\t\t{\n\t\t\t\t\tLog.Error(\"Could not instantiate a GameComponent of type \" + item2?.ToString() + \": \" + ex);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic void InitNewGame()\n\t{\n\t\tstring text = LoadedModManager.RunningMods.Select((ModContentPack mod) => mod.PackageIdPlayerFacing + ((!mod.ModMetaData.VersionCompatible) ? \" (incompatible version)\" : \"\")).ToLineList(\" - \");\n\t\tLog.Message(\"Initializing new game with mods:\\n\" + text);\n\t\tif (maps.Any())\n\t\t{\n\t\t\tLog.Error(\"Called InitNewGame() but there already is a map. There should be 0 maps...\");\n\t\t\treturn;\n\t\t}\n\t\tif (initData == null)\n\t\t{\n\t\t\tLog.Error(\"Called InitNewGame() but init data is null. Create it first.\");\n\t\t\treturn;\n\t\t}\n\t\tClearCaches();\n\t\tMemoryUtility.UnloadUnusedUnityAssets();\n\t\ttry\n\t\t{\n\t\t\tCurrent.ProgramState = ProgramState.MapInitializing;\n\t\t\tIntVec3 intVec = new IntVec3(initData.mapSize, 1, initData.mapSize);\n\t\t\tSettlement settlement = null;\n\t\t\tList settlements = Find.WorldObjects.Settlements;\n\t\t\tfor (int i = 0; i < settlements.Count; i++)\n\t\t\t{\n\t\t\t\tif (settlements[i].Faction == Faction.OfPlayer)\n\t\t\t\t{\n\t\t\t\t\tsettlement = settlements[i];\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (settlement == null)\n\t\t\t{\n\t\t\t\tLog.Error(\"Could not generate starting map because there is no any player faction base.\");\n\t\t\t}\n\t\t\ttickManager.gameStartAbsTick = GenTicks.ConfiguredTicksAbsAtGameStart;\n\t\t\tinfo.startingTile = initData.startingTile;\n\t\t\tinfo.startingAndOptionalPawns = initData.startingAndOptionalPawns;\n\t\t\tMap currentMap = MapGenerator.GenerateMap(intVec, settlement, initData.mapGeneratorDef ?? settlement.MapGeneratorDef, settlement.ExtraGenStepDefs);\n\t\t\tworldInt.info.initialMapSize = intVec;\n\t\t\tif (initData.permadeath)\n\t\t\t{\n\t\t\t\tinfo.permadeathMode = true;\n\t\t\t\tinfo.permadeathModeUniqueName = PermadeathModeUtility.GeneratePermadeathSaveName();\n\t\t\t}\n\t\t\tPawnUtility.GiveAllStartingPlayerPawnsThought(ThoughtDefOf.NewColonyOptimism);\n\t\t\tFinalizeInit();\n\t\t\tCurrent.Game.CurrentMap = currentMap;\n\t\t\tFind.CameraDriver.JumpToCurrentMapLoc(MapGenerator.PlayerStartSpot);\n\t\t\tFind.CameraDriver.ResetSize();\n\t\t\tif (Prefs.PauseOnLoad && initData.startedFromEntry)\n\t\t\t{\n\t\t\t\tLongEventHandler.ExecuteWhenFinished(delegate\n\t\t\t\t{\n\t\t\t\t\ttickManager.DoSingleTick();\n\t\t\t\t\ttickManager.CurTimeSpeed = TimeSpeed.Paused;\n\t\t\t\t});\n\t\t\t}\n\t\t\tFind.Scenario.PostGameStart();\n\t\t\thistory.FinalizeInit();\n\t\t\tResearchUtility.ApplyPlayerStartingResearch();\n\t\t\tGameComponentUtility.StartedNewGame();\n\t\t\tinitData = null;\n\t\t}\n\t\tfinally\n\t\t{\n\t\t}\n\t}\n\n\tpublic void LoadGame()\n\t{\n\t\tif (maps.Any())\n\t\t{\n\t\t\tLog.Error(\"Called LoadGame() but there already is a map. There should be 0 maps...\");\n\t\t\treturn;\n\t\t}\n\t\tClearCaches();\n\t\tMemoryUtility.UnloadUnusedUnityAssets();\n\t\tBackCompatibility.PreLoadSavegame(ScribeMetaHeaderUtility.loadedGameVersion);\n\t\tCurrent.ProgramState = ProgramState.MapInitializing;\n\t\tExposeSmallComponents();\n\t\tLongEventHandler.SetCurrentEventText(\"LoadingWorld\".Translate());\n\t\tif (Scribe.EnterNode(\"world\"))\n\t\t{\n\t\t\ttry\n\t\t\t{\n\t\t\t\tWorld = new World();\n\t\t\t\tWorld.ExposeData();\n\t\t\t}\n\t\t\tfinally\n\t\t\t{\n\t\t\t\tScribe.ExitNode();\n\t\t\t}\n\t\t\tDeepProfiler.Start(\"World.FinalizeInit\");\n\t\t\tWorld.FinalizeInit(fromLoad: true);\n\t\t\tDeepProfiler.End();\n\t\t\tLongEventHandler.SetCurrentEventText(\"LoadingMap\".Translate());\n\t\t\tScribe_Collections.Look(ref maps, \"maps\", LookMode.Deep);\n\t\t\tif (maps.RemoveAll((Map x) => x == null) != 0)\n\t\t\t{\n\t\t\t\tLog.Warning(\"Some maps were null after loading.\");\n\t\t\t}\n\t\t\tint value = -1;\n\t\t\tScribe_Values.Look(ref value, \"currentMapIndex\", -1);\n\t\t\tif (value < 0 && maps.Any())\n\t\t\t{\n\t\t\t\tLog.Error(\"Current map is null after loading but there are maps available. Setting current map to [0].\");\n\t\t\t\tvalue = 0;\n\t\t\t}\n\t\t\tif (value >= maps.Count)\n\t\t\t{\n\t\t\t\tLog.Error(\"Current map index out of bounds after loading.\");\n\t\t\t\tvalue = ((!maps.Any()) ? (-1) : 0);\n\t\t\t}\n\t\t\tcurrentMapIndex = sbyte.MinValue;\n\t\t\tCurrentMap = ((value >= 0) ? maps[value] : null);\n\t\t\tLongEventHandler.SetCurrentEventText(\"InitializingGame\".Translate());\n\t\t\tFind.CameraDriver.Expose();\n\t\t\tDeepProfiler.Start(\"Scribe.loader.FinalizeLoading\");\n\t\t\tScribe.loader.FinalizeLoading();\n\t\t\tDeepProfiler.End();\n\t\t\tLongEventHandler.SetCurrentEventText(\"SpawningAllThings\".Translate());\n\t\t\tDeepProfiler.Start(\"maps.FinalizeLoading\");\n\t\t\tfor (int i = 0; i < maps.Count; i++)\n\t\t\t{\n\t\t\t\ttry\n\t\t\t\t{\n\t\t\t\t\tmaps[i].FinalizeLoading();\n\t\t\t\t}\n\t\t\t\tcatch (Exception ex)\n\t\t\t\t{\n\t\t\t\t\tLog.Error(\"Error in Map.FinalizeLoading(): \" + ex);\n\t\t\t\t}\n\t\t\t\ttry\n\t\t\t\t{\n\t\t\t\t\tmaps[i].Parent?.FinalizeLoading();\n\t\t\t\t}\n\t\t\t\tcatch (Exception ex2)\n\t\t\t\t{\n\t\t\t\t\tLog.Error(\"Error in MapParent.FinalizeLoading(): \" + ex2);\n\t\t\t\t}\n\t\t\t}\n\t\t\tDeepProfiler.End();\n\t\t\tDeepProfiler.Start(\"Game.FinalizeInit\");\n\t\t\tFinalizeInit();\n\t\t\tDeepProfiler.End();\n\t\t\tif (Prefs.PauseOnLoad)\n\t\t\t{\n\t\t\t\tLongEventHandler.ExecuteWhenFinished(delegate\n\t\t\t\t{\n\t\t\t\t\tFind.TickManager.DoSingleTick();\n\t\t\t\t\tFind.TickManager.CurTimeSpeed = TimeSpeed.Paused;\n\t\t\t\t});\n\t\t\t}\n\t\t\tGameComponentUtility.LoadedGame();\n\t\t\tBackCompatibility.PostLoadSavegame(ScribeMetaHeaderUtility.loadedGameVersion);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tLog.Error(\"Could not find world XML node.\");\n\t\t}\n\t}\n\n\tpublic void UpdateEntry()\n\t{\n\t\tGameComponentUtility.GameComponentUpdate();\n\t}\n\n\tpublic void UpdatePlay()\n\t{\n\t\ttry\n\t\t{\n\t\t\tFind.LetterStack.OpenAutomaticLetters();\n\t\t}\n\t\tcatch (Exception ex)\n\t\t{\n\t\t\tLog.Error(ex.ToString());\n\t\t}\n\t\ttickManager.TickManagerUpdate();\n\t\tletterStack.LetterStackUpdate();\n\t\tWorld.WorldUpdate();\n\t\tfor (int i = 0; i < maps.Count; i++)\n\t\t{\n\t\t\tmaps[i].MapUpdate();\n\t\t}\n\t\tInfo.GameInfoUpdate();\n\t\tGameComponentUtility.GameComponentUpdate();\n\t\tsignalManager.SignalManagerUpdate();\n\t\tGlobalTextureAtlasManager.GlobalTextureAtlasManagerUpdate();\n\t}\n\n\tpublic T GetComponent() where T : GameComponent\n\t{\n\t\tfor (int i = 0; i < components.Count; i++)\n\t\t{\n\t\t\tif (components[i] is T result)\n\t\t\t{\n\t\t\t\treturn result;\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tpublic GameComponent GetComponent(Type type)\n\t{\n\t\tfor (int i = 0; i < components.Count; i++)\n\t\t{\n\t\t\tif (type.IsInstanceOfType(components[i]))\n\t\t\t{\n\t\t\t\treturn components[i];\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tpublic void FinalizeInit()\n\t{\n\t\tLogSimple.FlushToFileAndOpen();\n\t\tresearchManager.ReapplyAllMods();\n\t\tMessagesRepeatAvoider.Reset();\n\t\tGameComponentUtility.FinalizeInit();\n\t\tCurrent.ProgramState = ProgramState.Playing;\n\t\tCurrent.Game.World.ideoManager.Notify_GameStarted();\n\t\tRecipeDefGenerator.ResetRecipeIngredientsForDifficulty();\n\t\tLongEventHandler.ExecuteWhenFinished(delegate\n\t\t{\n\t\t\tDebugSettings.devPalette = Prefs.StartDevPaletteOn;\n\t\t\tFind.UIRoot.debugWindowOpener.TryOpenOrClosePalette();\n\t\t});\n\t}\n\n\tpublic void DeinitAndRemoveMap(Map map, bool notifyPlayer)\n\t{\n\t\tif (map == null)\n\t\t{\n\t\t\tLog.Error(\"Tried to remove null map.\");\n\t\t\treturn;\n\t\t}\n\t\tif (!maps.Contains(map))\n\t\t{\n\t\t\tLog.Error(\"Tried to remove map \" + map?.ToString() + \" but it's not here.\");\n\t\t\treturn;\n\t\t}\n\t\tif (map.Parent != null)\n\t\t{\n\t\t\tmap.Parent.Notify_MyMapAboutToBeRemoved();\n\t\t}\n\t\tMap currentMap = CurrentMap;\n\t\tMapDeiniter.Deinit(map, notifyPlayer);\n\t\tmaps.Remove(map);\n\t\tif (currentMap != null)\n\t\t{\n\t\t\tsbyte b = (sbyte)maps.IndexOf(currentMap);\n\t\t\tif (b < 0)\n\t\t\t{\n\t\t\t\tif (maps.Any())\n\t\t\t\t{\n\t\t\t\t\tCurrentMap = maps[0];\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tCurrentMap = null;\n\t\t\t\t}\n\t\t\t\tFind.World.renderer.wantedMode = WorldRenderMode.Planet;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tcurrentMapIndex = b;\n\t\t\t}\n\t\t}\n\t\tif (Current.ProgramState == ProgramState.Playing)\n\t\t{\n\t\t\tFind.ColonistBar.MarkColonistsDirty();\n\t\t}\n\t\tMapComponentUtility.MapRemoved(map);\n\t\tFind.Scenario.MapRemoved(map);\n\t\tif (map.Parent != null)\n\t\t{\n\t\t\tmap.Parent.Notify_MyMapRemoved(map);\n\t\t}\n\t\tforeach (PocketMapParent item in Find.World.pocketMaps.ToList())\n\t\t{\n\t\t\tif (item.sourceMap == map && item.Map.generatorDef.pocketMapProperties.destroyOnParentMapAbandoned)\n\t\t\t{\n\t\t\t\tPocketMapUtility.DestroyPocketMap(item.Map);\n\t\t\t}\n\t\t}\n\t\tmap.Dispose();\n\t}\n\n\tpublic string DebugString()\n\t{\n\t\tStringBuilder stringBuilder = new StringBuilder();\n\t\tstringBuilder.AppendLine(\"Game debug data:\");\n\t\tstringBuilder.AppendLine(\"initData:\");\n\t\tif (initData == null)\n\t\t{\n\t\t\tstringBuilder.AppendLine(\" null\");\n\t\t}\n\t\telse\n\t\t{\n\t\t\tstringBuilder.AppendLine(initData.ToString());\n\t\t}\n\t\tstringBuilder.AppendLine(\"Scenario:\");\n\t\tif (scenarioInt == null)\n\t\t{\n\t\t\tstringBuilder.AppendLine(\" null\");\n\t\t}\n\t\telse\n\t\t{\n\t\t\tstringBuilder.AppendLine(\" \" + scenarioInt);\n\t\t}\n\t\tstringBuilder.AppendLine(\"World:\");\n\t\tif (worldInt == null)\n\t\t{\n\t\t\tstringBuilder.AppendLine(\" null\");\n\t\t}\n\t\telse\n\t\t{\n\t\t\tstringBuilder.AppendLine(\" name: \" + worldInt.info.name);\n\t\t}\n\t\tstringBuilder.AppendLine(\"Maps count: \" + maps.Count);\n\t\tfor (int i = 0; i < maps.Count; i++)\n\t\t{\n\t\t\tstringBuilder.AppendLine(\" Map \" + maps[i].Index + \":\");\n\t\t\tstringBuilder.AppendLine(\" tile: \" + maps[i].TileInfo);\n\t\t}\n\t\tstringBuilder.AppendLine(\"Game components:\");\n\t\tfor (int j = 0; j < components.Count; j++)\n\t\t{\n\t\t\tcomponents[j].AppendDebugString(stringBuilder);\n\t\t}\n\t\treturn stringBuilder.ToString();\n\t}\n\n\tpublic void Dispose()\n\t{\n\t\tfor (int i = 0; i < maps.Count; i++)\n\t\t{\n\t\t\tmaps[i].Dispose();\n\t\t}\n\t\tworldInt?.Dispose();\n\t\tSteadyEnvironmentEffects.Reset();\n\t\tUnityData.DisposeStaticResources();\n\t}\n\n\tpublic static void ClearCaches()\n\t{\n\t\tFind.ClearCache();\n\t\tChildcareUtility.ClearCache();\n\t\tSlaveRebellionUtility.ClearCache();\n\t\tAlert_NeedMeditationSpot.ClearCache();\n\t\tBuildCopyCommandUtility.ClearCache();\n\t\tMechanitorUtility.ClearCache();\n\t\tSocialCardUtility.ClearCaches();\n\t\tforeach (StatDef item in DefDatabase.AllDefsListForReading)\n\t\t{\n\t\t\titem.Worker.TryClearCache();\n\t\t}\n\t}\n}\n\n--- 结果 2 (相似度: 1.000) ---\n文件路径: C:\\Steam\\steamapps\\common\\RimWorld\\Data\\dll1.6\\Verse\\Map.txt\n\npublic sealed class Map : IIncidentTarget, ILoadReferenceable, IThingHolder, IExposable, IDisposable\n{\n\tpublic MapFileCompressor compressor;\n\n\tprivate List loadedFullThings;\n\n\tpublic MapGeneratorDef generatorDef;\n\n\tpublic int uniqueID = -1;\n\n\tpublic int generationTick;\n\n\tpublic bool wasSpawnedViaGravShipLanding;\n\n\tprivate Color? fogOfWarColor;\n\n\tprivate OrbitalDebrisDef orbitalDebris;\n\n\tprivate int generatedId;\n\n\tpublic MapInfo info = new MapInfo();\n\n\tpublic MapEvents events;\n\n\tpublic List components = new List();\n\n\tpublic ThingOwner spawnedThings;\n\n\tpublic CellIndices cellIndices;\n\n\tpublic ListerThings listerThings;\n\n\tpublic ListerBuildings listerBuildings;\n\n\tpublic MapPawns mapPawns;\n\n\tpublic DynamicDrawManager dynamicDrawManager;\n\n\tpublic MapDrawer mapDrawer;\n\n\tpublic PawnDestinationReservationManager pawnDestinationReservationManager;\n\n\tpublic TooltipGiverList tooltipGiverList;\n\n\tpublic ReservationManager reservationManager;\n\n\tpublic EnrouteManager enrouteManager;\n\n\tpublic PhysicalInteractionReservationManager physicalInteractionReservationManager;\n\n\tpublic DesignationManager designationManager;\n\n\tpublic LordManager lordManager;\n\n\tpublic PassingShipManager passingShipManager;\n\n\tpublic HaulDestinationManager haulDestinationManager;\n\n\tpublic DebugCellDrawer debugDrawer;\n\n\tpublic GameConditionManager gameConditionManager;\n\n\tpublic WeatherManager weatherManager;\n\n\tpublic ZoneManager zoneManager;\n\n\tpublic PlanManager planManager;\n\n\tpublic ResourceCounter resourceCounter;\n\n\tpublic MapTemperature mapTemperature;\n\n\tpublic TemperatureVacuumCache TemperatureVacuumCache;\n\n\tpublic AreaManager areaManager;\n\n\tpublic AttackTargetsCache attackTargetsCache;\n\n\tpublic AttackTargetReservationManager attackTargetReservationManager;\n\n\tpublic VoluntarilyJoinableLordsStarter lordsStarter;\n\n\tpublic FleckManager flecks;\n\n\tpublic DeferredSpawner deferredSpawner;\n\n\tpublic ThingGrid thingGrid;\n\n\tpublic CoverGrid coverGrid;\n\n\tpublic EdificeGrid edificeGrid;\n\n\tpublic BlueprintGrid blueprintGrid;\n\n\tpublic FogGrid fogGrid;\n\n\tpublic RegionGrid regionGrid;\n\n\tpublic GlowGrid glowGrid;\n\n\tpublic TerrainGrid terrainGrid;\n\n\tpublic Pathing pathing;\n\n\tpublic RoofGrid roofGrid;\n\n\tpublic FertilityGrid fertilityGrid;\n\n\tpublic SnowGrid snowGrid;\n\n\tpublic DeepResourceGrid deepResourceGrid;\n\n\tpublic ExitMapGrid exitMapGrid;\n\n\tpublic AvoidGrid avoidGrid;\n\n\tpublic GasGrid gasGrid;\n\n\tpublic PollutionGrid pollutionGrid;\n\n\tpublic SubstructureGrid substructureGrid;\n\n\tpublic WaterBodyTracker waterBodyTracker;\n\n\tpublic SandGrid sandGrid;\n\n\tpublic LinkGrid linkGrid;\n\n\tpublic PowerNetManager powerNetManager;\n\n\tpublic PowerNetGrid powerNetGrid;\n\n\tpublic RegionMaker regionMaker;\n\n\tpublic PathFinder pathFinder;\n\n\tpublic PawnPathPool pawnPathPool;\n\n\tpublic RegionAndRoomUpdater regionAndRoomUpdater;\n\n\tpublic RegionLinkDatabase regionLinkDatabase;\n\n\tpublic MoteCounter moteCounter;\n\n\tpublic GatherSpotLister gatherSpotLister;\n\n\tpublic WindManager windManager;\n\n\tpublic ListerBuildingsRepairable listerBuildingsRepairable;\n\n\tpublic ListerHaulables listerHaulables;\n\n\tpublic ListerMergeables listerMergeables;\n\n\tpublic ListerArtificialBuildingsForMeditation listerArtificialBuildingsForMeditation;\n\n\tpublic ListerBuldingOfDefInProximity listerBuldingOfDefInProximity;\n\n\tpublic ListerBuildingWithTagInProximity listerBuildingWithTagInProximity;\n\n\tpublic ListerFilthInHomeArea listerFilthInHomeArea;\n\n\tpublic Reachability reachability;\n\n\tpublic ItemAvailability itemAvailability;\n\n\tpublic AutoBuildRoofAreaSetter autoBuildRoofAreaSetter;\n\n\tpublic RoofCollapseBufferResolver roofCollapseBufferResolver;\n\n\tpublic RoofCollapseBuffer roofCollapseBuffer;\n\n\tpublic WildAnimalSpawner wildAnimalSpawner;\n\n\tpublic WildPlantSpawner wildPlantSpawner;\n\n\tpublic SteadyEnvironmentEffects steadyEnvironmentEffects;\n\n\tpublic TempTerrainManager tempTerrain;\n\n\tpublic FreezeManager freezeManager;\n\n\tpublic SkyManager skyManager;\n\n\tpublic OverlayDrawer overlayDrawer;\n\n\tpublic FloodFiller floodFiller;\n\n\tpublic WeatherDecider weatherDecider;\n\n\tpublic FireWatcher fireWatcher;\n\n\tpublic DangerWatcher dangerWatcher;\n\n\tpublic DamageWatcher damageWatcher;\n\n\tpublic StrengthWatcher strengthWatcher;\n\n\tpublic WealthWatcher wealthWatcher;\n\n\tpublic RegionDirtyer regionDirtyer;\n\n\tpublic MapCellsInRandomOrder cellsInRandomOrder;\n\n\tpublic RememberedCameraPos rememberedCameraPos;\n\n\tpublic MineStrikeManager mineStrikeManager;\n\n\tpublic StoryState storyState;\n\n\tpublic RoadInfo roadInfo;\n\n\tpublic WaterInfo waterInfo;\n\n\tpublic RetainedCaravanData retainedCaravanData;\n\n\tpublic TemporaryThingDrawer temporaryThingDrawer;\n\n\tpublic AnimalPenManager animalPenManager;\n\n\tpublic MapPlantGrowthRateCalculator plantGrowthRateCalculator;\n\n\tpublic AutoSlaughterManager autoSlaughterManager;\n\n\tpublic TreeDestructionTracker treeDestructionTracker;\n\n\tpublic StorageGroupManager storageGroups;\n\n\tpublic EffecterMaintainer effecterMaintainer;\n\n\tpublic PostTickVisuals postTickVisuals;\n\n\tpublic List layoutStructureSketches = new List();\n\n\tpublic ThingListChangedCallbacks thingListChangedCallbacks = new ThingListChangedCallbacks();\n\n\tpublic List landingBlockers = new List();\n\n\tpublic Tile pocketTileInfo;\n\n\tpublic const string ThingSaveKey = \"thing\";\n\n\t[TweakValue(\"Graphics_Shadow\", 0f, 100f)]\n\tprivate static bool AlwaysRedrawShadows;\n\n\tprivate MixedBiomeMapComponent mixedBiomeComp;\n\n\tpublic int Index => Find.Maps.IndexOf(this);\n\n\tpublic IntVec3 Size => info.Size;\n\n\tpublic IntVec3 Center => new IntVec3(Size.x / 2, 0, Size.z / 2);\n\n\tpublic Faction ParentFaction => info.parent?.Faction;\n\n\tpublic int Area => Size.x * Size.z;\n\n\tpublic IThingHolder ParentHolder => info.parent;\n\n\tpublic bool DrawMapClippers => !generatorDef.disableMapClippers;\n\n\tpublic bool CanEverExit\n\t{\n\t\tget\n\t\t{\n\t\t\tif (!info.isPocketMap)\n\t\t\t{\n\t\t\t\treturn Biome.canExitMap;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic Color? FogOfWarColor\n\t{\n\t\tget\n\t\t{\n\t\t\treturn fogOfWarColor ?? Biome.fogOfWarColor;\n\t\t}\n\t\tset\n\t\t{\n\t\t\tfogOfWarColor = value;\n\t\t}\n\t}\n\n\tpublic OrbitalDebrisDef OrbitalDebris\n\t{\n\t\tget\n\t\t{\n\t\t\treturn orbitalDebris ?? Biome.orbitalDebris;\n\t\t}\n\t\tset\n\t\t{\n\t\t\torbitalDebris = value;\n\t\t}\n\t}\n\n\tpublic Material MapEdgeMaterial\n\t{\n\t\tget\n\t\t{\n\t\t\tif (ModsConfig.AnomalyActive && generatorDef == MapGeneratorDefOf.MetalHell)\n\t\t\t{\n\t\t\t\treturn MapEdgeClipDrawer.ClipMatMetalhell;\n\t\t\t}\n\t\t\tWorldObject parent = Parent;\n\t\t\tif (parent != null && parent.def.MapEdgeMaterial != null)\n\t\t\t{\n\t\t\t\treturn parent.def.MapEdgeMaterial;\n\t\t\t}\n\t\t\treturn MapEdgeClipDrawer.ClipMat;\n\t\t}\n\t}\n\n\tpublic bool Disposed { get; private set; }\n\n\tpublic IEnumerable AllCells\n\t{\n\t\tget\n\t\t{\n\t\t\tfor (int z = 0; z < Size.z; z++)\n\t\t\t{\n\t\t\t\tfor (int y = 0; y < Size.y; y++)\n\t\t\t\t{\n\t\t\t\t\tfor (int x = 0; x < Size.x; x++)\n\t\t\t\t\t{\n\t\t\t\t\t\tyield return new IntVec3(x, y, z);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic bool IsPlayerHome\n\t{\n\t\tget\n\t\t{\n\t\t\tif (!wasSpawnedViaGravShipLanding)\n\t\t\t{\n\t\t\t\tif (info?.parent != null && info.parent.Faction == Faction.OfPlayer)\n\t\t\t\t{\n\t\t\t\t\treturn info.parent.def.canBePlayerHome;\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t}\n\n\tpublic bool TreatAsPlayerHomeForThreatPoints\n\t{\n\t\tget\n\t\t{\n\t\t\tif (IsPlayerHome)\n\t\t\t{\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tif (info.parent != null && info.parent.def.treatAsPlayerHome)\n\t\t\t{\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic bool IsTempIncidentMap => info.parent.def.isTempIncidentMapOwner;\n\n\tpublic PlanetTile Tile => info.Tile;\n\n\tpublic Tile TileInfo\n\t{\n\t\tget\n\t\t{\n\t\t\tif (!IsPocketMap)\n\t\t\t{\n\t\t\t\treturn Find.WorldGrid[Tile];\n\t\t\t}\n\t\t\treturn pocketTileInfo;\n\t\t}\n\t}\n\n\tpublic BiomeDef Biome => TileInfo.PrimaryBiome;\n\n\tpublic IEnumerable Biomes => TileInfo.Biomes;\n\n\tpublic MixedBiomeMapComponent MixedBiomeComp => mixedBiomeComp ?? (mixedBiomeComp = GetComponent());\n\n\tpublic bool IsStartingMap => Find.GameInfo.startingTile == Tile;\n\n\tpublic bool IsPocketMap => info.isPocketMap;\n\n\tpublic StoryState StoryState => storyState;\n\n\tpublic GameConditionManager GameConditionManager => gameConditionManager;\n\n\tpublic float PlayerWealthForStoryteller\n\t{\n\t\tget\n\t\t{\n\t\t\tif (TreatAsPlayerHomeForThreatPoints)\n\t\t\t{\n\t\t\t\tif (Find.Storyteller.difficulty.fixedWealthMode)\n\t\t\t\t{\n\t\t\t\t\treturn StorytellerUtility.FixedWealthModeMapWealthFromTimeCurve.Evaluate(AgeInDays * Find.Storyteller.difficulty.fixedWealthTimeFactor);\n\t\t\t\t}\n\t\t\t\treturn wealthWatcher.WealthItems + wealthWatcher.WealthBuildings * 0.5f + wealthWatcher.WealthPawns;\n\t\t\t}\n\t\t\tfloat num = 0f;\n\t\t\tforeach (Pawn item in mapPawns.PawnsInFaction(Faction.OfPlayer))\n\t\t\t{\n\t\t\t\tif (item.IsFreeColonist)\n\t\t\t\t{\n\t\t\t\t\tnum += WealthWatcher.GetEquipmentApparelAndInventoryWealth(item);\n\t\t\t\t}\n\t\t\t\tif (item.IsAnimal)\n\t\t\t\t{\n\t\t\t\t\tnum += item.MarketValue;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn num;\n\t\t}\n\t}\n\n\tpublic IEnumerable PlayerPawnsForStoryteller => mapPawns.PawnsInFaction(Faction.OfPlayer);\n\n\tpublic FloatRange IncidentPointsRandomFactorRange => FloatRange.One;\n\n\tpublic MapParent Parent => info.parent;\n\n\tpublic PocketMapParent PocketMapParent\n\t{\n\t\tget\n\t\t{\n\t\t\tif (!IsPocketMap)\n\t\t\t{\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\treturn Parent as PocketMapParent;\n\t\t}\n\t}\n\n\tpublic IEnumerable ChildPocketMaps\n\t{\n\t\tget\n\t\t{\n\t\t\tforeach (PocketMapParent pocketMap in Find.World.pocketMaps)\n\t\t\t{\n\t\t\t\tif (pocketMap.sourceMap == this)\n\t\t\t\t{\n\t\t\t\t\tyield return pocketMap.Map;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic float AgeInDays => (float)(Find.TickManager.TicksGame - generationTick) / 60000f;\n\n\tpublic int NextGenSeed => HashCode.Combine(TileInfo.tile.Valid ? TileInfo.tile.GetHashCode() : uniqueID, generatedId++, Find.World.info.Seed);\n\n\tpublic int ConstantRandSeed => uniqueID ^ 0xFDA252;\n\n\tpublic IEnumerator GetEnumerator()\n\t{\n\t\tforeach (IntVec3 allCell in AllCells)\n\t\t{\n\t\t\tyield return allCell;\n\t\t}\n\t}\n\n\tpublic IEnumerable IncidentTargetTags()\n\t{\n\t\treturn info.parent?.IncidentTargetTags() ?? Enumerable.Empty();\n\t}\n\n\tpublic void ConstructComponents()\n\t{\n\t\tspawnedThings = new ThingOwner(this);\n\t\tcellIndices = new CellIndices(this);\n\t\tlisterThings = new ListerThings(ListerThingsUse.Global, thingListChangedCallbacks);\n\t\tlisterBuildings = new ListerBuildings();\n\t\tmapPawns = new MapPawns(this);\n\t\tdynamicDrawManager = new DynamicDrawManager(this);\n\t\tmapDrawer = new MapDrawer(this);\n\t\ttooltipGiverList = new TooltipGiverList();\n\t\tpawnDestinationReservationManager = new PawnDestinationReservationManager();\n\t\treservationManager = new ReservationManager(this);\n\t\tenrouteManager = new EnrouteManager(this);\n\t\tphysicalInteractionReservationManager = new PhysicalInteractionReservationManager();\n\t\tdesignationManager = new DesignationManager(this);\n\t\tlordManager = new LordManager(this);\n\t\tdebugDrawer = new DebugCellDrawer();\n\t\tpassingShipManager = new PassingShipManager(this);\n\t\thaulDestinationManager = new HaulDestinationManager(this);\n\t\tgameConditionManager = new GameConditionManager(this);\n\t\tweatherManager = new WeatherManager(this);\n\t\tzoneManager = new ZoneManager(this);\n\t\tplanManager = new PlanManager(this);\n\t\tresourceCounter = new ResourceCounter(this);\n\t\tmapTemperature = new MapTemperature(this);\n\t\tTemperatureVacuumCache = new TemperatureVacuumCache(this);\n\t\tareaManager = new AreaManager(this);\n\t\tattackTargetsCache = new AttackTargetsCache(this);\n\t\tattackTargetReservationManager = new AttackTargetReservationManager(this);\n\t\tlordsStarter = new VoluntarilyJoinableLordsStarter(this);\n\t\tflecks = new FleckManager(this);\n\t\tdeferredSpawner = new DeferredSpawner(this);\n\t\tthingGrid = new ThingGrid(this);\n\t\tcoverGrid = new CoverGrid(this);\n\t\tedificeGrid = new EdificeGrid(this);\n\t\tblueprintGrid = new BlueprintGrid(this);\n\t\tfogGrid = new FogGrid(this);\n\t\tglowGrid = new GlowGrid(this);\n\t\tregionGrid = new RegionGrid(this);\n\t\tterrainGrid = new TerrainGrid(this);\n\t\tpathing = new Pathing(this);\n\t\troofGrid = new RoofGrid(this);\n\t\tfertilityGrid = new FertilityGrid(this);\n\t\tsnowGrid = new SnowGrid(this);\n\t\tgasGrid = new GasGrid(this);\n\t\tpollutionGrid = new PollutionGrid(this);\n\t\tdeepResourceGrid = new DeepResourceGrid(this);\n\t\texitMapGrid = new ExitMapGrid(this);\n\t\tavoidGrid = new AvoidGrid(this);\n\t\tlinkGrid = new LinkGrid(this);\n\t\tpowerNetManager = new PowerNetManager(this);\n\t\tpowerNetGrid = new PowerNetGrid(this);\n\t\tregionMaker = new RegionMaker(this);\n\t\tpathFinder = new PathFinder(this);\n\t\tpawnPathPool = new PawnPathPool(this);\n\t\tregionAndRoomUpdater = new RegionAndRoomUpdater(this);\n\t\tregionLinkDatabase = new RegionLinkDatabase();\n\t\tmoteCounter = new MoteCounter();\n\t\tgatherSpotLister = new GatherSpotLister();\n\t\twindManager = new WindManager(this);\n\t\tlisterBuildingsRepairable = new ListerBuildingsRepairable();\n\t\tlisterHaulables = new ListerHaulables(this);\n\t\tlisterMergeables = new ListerMergeables(this);\n\t\tlisterFilthInHomeArea = new ListerFilthInHomeArea(this);\n\t\tlisterArtificialBuildingsForMeditation = new ListerArtificialBuildingsForMeditation(this);\n\t\tlisterBuldingOfDefInProximity = new ListerBuldingOfDefInProximity(this);\n\t\tlisterBuildingWithTagInProximity = new ListerBuildingWithTagInProximity(this);\n\t\treachability = new Reachability(this);\n\t\titemAvailability = new ItemAvailability(this);\n\t\tautoBuildRoofAreaSetter = new AutoBuildRoofAreaSetter(this);\n\t\troofCollapseBufferResolver = new RoofCollapseBufferResolver(this);\n\t\troofCollapseBuffer = new RoofCollapseBuffer();\n\t\twildAnimalSpawner = new WildAnimalSpawner(this);\n\t\twildPlantSpawner = new WildPlantSpawner(this);\n\t\tsteadyEnvironmentEffects = new SteadyEnvironmentEffects(this);\n\t\ttempTerrain = new TempTerrainManager(this);\n\t\tskyManager = new SkyManager(this);\n\t\toverlayDrawer = new OverlayDrawer();\n\t\tfloodFiller = new FloodFiller(this);\n\t\tweatherDecider = new WeatherDecider(this);\n\t\tfireWatcher = new FireWatcher(this);\n\t\tdangerWatcher = new DangerWatcher(this);\n\t\tdamageWatcher = new DamageWatcher();\n\t\tstrengthWatcher = new StrengthWatcher(this);\n\t\twealthWatcher = new WealthWatcher(this);\n\t\tregionDirtyer = new RegionDirtyer(this);\n\t\tcellsInRandomOrder = new MapCellsInRandomOrder(this);\n\t\trememberedCameraPos = new RememberedCameraPos(this);\n\t\tmineStrikeManager = new MineStrikeManager();\n\t\tstoryState = new StoryState(this);\n\t\tretainedCaravanData = new RetainedCaravanData(this);\n\t\ttemporaryThingDrawer = new TemporaryThingDrawer();\n\t\tanimalPenManager = new AnimalPenManager(this);\n\t\tplantGrowthRateCalculator = new MapPlantGrowthRateCalculator();\n\t\tautoSlaughterManager = new AutoSlaughterManager(this);\n\t\ttreeDestructionTracker = new TreeDestructionTracker(this);\n\t\tstorageGroups = new StorageGroupManager(this);\n\t\teffecterMaintainer = new EffecterMaintainer(this);\n\t\tpostTickVisuals = new PostTickVisuals(this);\n\t\tif (ModsConfig.OdysseyActive)\n\t\t{\n\t\t\tsubstructureGrid = new SubstructureGrid(this);\n\t\t\twaterBodyTracker = new WaterBodyTracker(this);\n\t\t\tfreezeManager = new FreezeManager(this);\n\t\t\tsandGrid = new SandGrid(this);\n\t\t}\n\t\tcomponents.Clear();\n\t\tFillComponents();\n\t}\n\n\tpublic void ExposeData()\n\t{\n\t\tif (Scribe.mode == LoadSaveMode.LoadingVars)\n\t\t{\n\t\t\tevents = new MapEvents(this);\n\t\t}\n\t\tScribe_Values.Look(ref uniqueID, \"uniqueID\", -1);\n\t\tScribe_Values.Look(ref generationTick, \"generationTick\", 0);\n\t\tScribe_Values.Look(ref wasSpawnedViaGravShipLanding, \"wasSpawnedViaGravShipLanding\", defaultValue: false);\n\t\tScribe_Values.Look(ref fogOfWarColor, \"fogOfWarColor\");\n\t\tScribe_Values.Look(ref generatedId, \"generatedId\", 0);\n\t\tScribe_Defs.Look(ref orbitalDebris, \"orbitalDebris\");\n\t\tScribe_Defs.Look(ref generatorDef, \"generatorDef\");\n\t\tScribe_Deep.Look(ref pocketTileInfo, \"pocketTileInfo\");\n\t\tScribe_Deep.Look(ref info, \"mapInfo\");\n\t\tScribe_Collections.Look(ref layoutStructureSketches, \"layoutStructureSketches\", LookMode.Deep);\n\t\tScribe_Collections.Look(ref landingBlockers, \"landingBlockers\", LookMode.Undefined);\n\t\tif (Scribe.mode == LoadSaveMode.Saving)\n\t\t{\n\t\t\tcompressor = new MapFileCompressor(this);\n\t\t\tcompressor.BuildCompressedString();\n\t\t\tExposeComponents();\n\t\t\tcompressor.ExposeData();\n\t\t\tHashSet hashSet = new HashSet();\n\t\t\tif (Scribe.EnterNode(\"things\"))\n\t\t\t{\n\t\t\t\ttry\n\t\t\t\t{\n\t\t\t\t\tforeach (Thing allThing in listerThings.AllThings)\n\t\t\t\t\t{\n\t\t\t\t\t\ttry\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif (allThing.def.isSaveable && !allThing.IsSaveCompressible())\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tif (!hashSet.Add(allThing.ThingID))\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tLog.Error(\"Saving Thing with already-used ID \" + allThing.ThingID);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\thashSet.Add(allThing.ThingID);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tThing target = allThing;\n\t\t\t\t\t\t\t\tScribe_Deep.Look(ref target, \"thing\");\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcatch (OutOfMemoryException)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tthrow;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcatch (Exception arg)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tLog.Error($\"Exception saving {allThing}: {arg}\");\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tfinally\n\t\t\t\t{\n\t\t\t\t\tScribe.ExitNode();\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tLog.Error(\"Could not enter the things node while saving.\");\n\t\t\t}\n\t\t\tcompressor = null;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tif (Scribe.mode == LoadSaveMode.LoadingVars)\n\t\t\t{\n\t\t\t\tConstructComponents();\n\t\t\t\tregionAndRoomUpdater.Enabled = false;\n\t\t\t\tcompressor = new MapFileCompressor(this);\n\t\t\t}\n\t\t\telse if (Scribe.mode == LoadSaveMode.PostLoadInit && landingBlockers == null)\n\t\t\t{\n\t\t\t\tlandingBlockers = new List();\n\t\t\t}\n\t\t\tExposeComponents();\n\t\t\tDeepProfiler.Start(\"Load compressed things\");\n\t\t\tcompressor.ExposeData();\n\t\t\tDeepProfiler.End();\n\t\t\tDeepProfiler.Start(\"Load non-compressed things\");\n\t\t\tScribe_Collections.Look(ref loadedFullThings, \"things\", LookMode.Deep);\n\t\t\tDeepProfiler.End();\n\t\t}\n\t\tBackCompatibility.PostExposeData(this);\n\t}\n\n\tprivate void FillComponents()\n\t{\n\t\tcomponents.RemoveAll((MapComponent component) => component == null);\n\t\tforeach (Type item3 in typeof(MapComponent).AllSubclassesNonAbstract())\n\t\t{\n\t\t\tif (!typeof(CustomMapComponent).IsAssignableFrom(item3) && GetComponent(item3) == null)\n\t\t\t{\n\t\t\t\ttry\n\t\t\t\t{\n\t\t\t\t\tMapComponent item = (MapComponent)Activator.CreateInstance(item3, this);\n\t\t\t\t\tcomponents.Add(item);\n\t\t\t\t}\n\t\t\t\tcatch (Exception ex)\n\t\t\t\t{\n\t\t\t\t\tLog.Error(\"Could not instantiate a MapComponent of type \" + item3?.ToString() + \": \" + ex);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (generatorDef?.customMapComponents != null)\n\t\t{\n\t\t\tforeach (Type customMapComponent in generatorDef.customMapComponents)\n\t\t\t{\n\t\t\t\tif (GetComponent(customMapComponent) == null)\n\t\t\t\t{\n\t\t\t\t\ttry\n\t\t\t\t\t{\n\t\t\t\t\t\tMapComponent item2 = (MapComponent)Activator.CreateInstance(customMapComponent, this);\n\t\t\t\t\t\tcomponents.Add(item2);\n\t\t\t\t\t}\n\t\t\t\t\tcatch (Exception ex2)\n\t\t\t\t\t{\n\t\t\t\t\t\tLog.Error(\"Could not instantiate a MapComponent of type \" + customMapComponent?.ToString() + \": \" + ex2);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\troadInfo = GetComponent();\n\t\twaterInfo = GetComponent();\n\t}\n\n\tpublic void FinalizeLoading()\n\t{\n\t\tregionAndRoomUpdater.Enabled = true;\n\t\tList list = compressor.ThingsToSpawnAfterLoad().ToList();\n\t\tcompressor = null;\n\t\tDeepProfiler.Start(\"Merge compressed and non-compressed thing lists\");\n\t\tList list2 = new List(loadedFullThings.Count + list.Count);\n\t\tforeach (Thing item in loadedFullThings.Concat(list))\n\t\t{\n\t\t\tlist2.Add(item);\n\t\t}\n\t\tloadedFullThings.Clear();\n\t\tDeepProfiler.End();\n\t\tDeepProfiler.Start(\"Spawn everything into the map\");\n\t\tBackCompatibility.PreCheckSpawnBackCompatibleThingAfterLoading(this);\n\t\tforeach (Thing item2 in list2)\n\t\t{\n\t\t\tif (item2 is Building)\n\t\t\t{\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\ttry\n\t\t\t{\n\t\t\t\tif (!BackCompatibility.CheckSpawnBackCompatibleThingAfterLoading(item2, this))\n\t\t\t\t{\n\t\t\t\t\tGenSpawn.Spawn(item2, item2.Position, this, item2.Rotation, WipeMode.FullRefund, respawningAfterLoad: true);\n\t\t\t\t}\n\t\t\t}\n\t\t\tcatch (Exception ex)\n\t\t\t{\n\t\t\t\tLog.Error(\"Exception spawning loaded thing \" + item2.ToStringSafe() + \": \" + ex);\n\t\t\t}\n\t\t}\n\t\tforeach (Building item3 in from t in list2.OfType()\n\t\t\torderby t.def.size.Magnitude\n\t\t\tselect t)\n\t\t{\n\t\t\ttry\n\t\t\t{\n\t\t\t\tGenSpawn.SpawnBuildingAsPossible(item3, this, respawningAfterLoad: true);\n\t\t\t}\n\t\t\tcatch (Exception ex2)\n\t\t\t{\n\t\t\t\tLog.Error(\"Exception spawning loaded thing \" + item3.ToStringSafe() + \": \" + ex2);\n\t\t\t}\n\t\t}\n\t\tBackCompatibility.PostCheckSpawnBackCompatibleThingAfterLoading(this);\n\t\tDeepProfiler.End();\n\t\tFinalizeInit();\n\t}\n\n\tpublic void FinalizeInit()\n\t{\n\t\tDeepProfiler.Start(\"Finalize geometry\");\n\t\tpathing.RecalculateAllPerceivedPathCosts();\n\t\tregionAndRoomUpdater.Enabled = true;\n\t\tregionAndRoomUpdater.RebuildAllRegionsAndRooms();\n\t\tpowerNetManager.UpdatePowerNetsAndConnections_First();\n\t\tTemperatureVacuumCache.TemperatureVacuumSaveLoad.ApplyLoadedDataToRegions();\n\t\tavoidGrid.Regenerate();\n\t\tanimalPenManager.RebuildAllPens();\n\t\tplantGrowthRateCalculator.BuildFor(this);\n\t\tgasGrid.RecalculateEverHadGas();\n\t\tDeepProfiler.End();\n\t\tDeepProfiler.Start(\"Thing.PostMapInit()\");\n\t\tforeach (Thing item in listerThings.AllThings.ToList())\n\t\t{\n\t\t\ttry\n\t\t\t{\n\t\t\t\titem.PostMapInit();\n\t\t\t}\n\t\t\tcatch (Exception ex)\n\t\t\t{\n\t\t\t\tLog.Error(\"Error in PostMapInit() for \" + item.ToStringSafe() + \": \" + ex);\n\t\t\t}\n\t\t}\n\t\tDeepProfiler.End();\n\t\tDeepProfiler.Start(\"listerFilthInHomeArea.RebuildAll()\");\n\t\tlisterFilthInHomeArea.RebuildAll();\n\t\tDeepProfiler.End();\n\t\tif (ModsConfig.OdysseyActive)\n\t\t{\n\t\t\tGetComponent().SetDrawerDirty();\n\t\t}\n\t\tLongEventHandler.ExecuteWhenFinished(delegate\n\t\t{\n\t\t\tmapDrawer.RegenerateEverythingNow();\n\t\t});\n\t\tDeepProfiler.Start(\"resourceCounter.UpdateResourceCounts()\");\n\t\tresourceCounter.UpdateResourceCounts();\n\t\tDeepProfiler.End();\n\t\tDeepProfiler.Start(\"wealthWatcher.ForceRecount()\");\n\t\twealthWatcher.ForceRecount(allowDuringInit: true);\n\t\tDeepProfiler.End();\n\t\tif (ModsConfig.OdysseyActive)\n\t\t{\n\t\t\tusing (new ProfilerBlock(\"WaterBodyTracker.ConstructBodies()\"))\n\t\t\t{\n\t\t\t\twaterBodyTracker?.ConstructBodies();\n\t\t\t}\n\t\t}\n\t\tMapComponentUtility.FinalizeInit(this);\n\t\tLongEventHandler.ExecuteWhenFinished(delegate\n\t\t{\n\t\t\tFind.MusicManagerPlay.CheckTransitions();\n\t\t});\n\t}\n\n\tprivate void ExposeComponents()\n\t{\n\t\tScribe_Deep.Look(ref weatherManager, \"weatherManager\", this);\n\t\tScribe_Deep.Look(ref reservationManager, \"reservationManager\", this);\n\t\tScribe_Deep.Look(ref enrouteManager, \"enrouteManager\", this);\n\t\tScribe_Deep.Look(ref physicalInteractionReservationManager, \"physicalInteractionReservationManager\");\n\t\tScribe_Deep.Look(ref planManager, \"planManager\", this);\n\t\tScribe_Deep.Look(ref designationManager, \"designationManager\", this);\n\t\tScribe_Deep.Look(ref pawnDestinationReservationManager, \"pawnDestinationReservationManager\");\n\t\tScribe_Deep.Look(ref lordManager, \"lordManager\", this);\n\t\tScribe_Deep.Look(ref passingShipManager, \"visitorManager\", this);\n\t\tScribe_Deep.Look(ref gameConditionManager, \"gameConditionManager\", this);\n\t\tScribe_Deep.Look(ref fogGrid, \"fogGrid\", this);\n\t\tScribe_Deep.Look(ref roofGrid, \"roofGrid\", this);\n\t\tScribe_Deep.Look(ref terrainGrid, \"terrainGrid\", this);\n\t\tScribe_Deep.Look(ref zoneManager, \"zoneManager\", this);\n\t\tScribe_Deep.Look(ref TemperatureVacuumCache, \"temperatureCache\", this);\n\t\tScribe_Deep.Look(ref snowGrid, \"snowGrid\", this);\n\t\tScribe_Deep.Look(ref gasGrid, \"gasGrid\", this);\n\t\tScribe_Deep.Look(ref pollutionGrid, \"pollutionGrid\", this);\n\t\tScribe_Deep.Look(ref waterBodyTracker, \"waterBodyTracker\", this);\n\t\tScribe_Deep.Look(ref areaManager, \"areaManager\", this);\n\t\tScribe_Deep.Look(ref lordsStarter, \"lordsStarter\", this);\n\t\tScribe_Deep.Look(ref attackTargetReservationManager, \"attackTargetReservationManager\", this);\n\t\tScribe_Deep.Look(ref deepResourceGrid, \"deepResourceGrid\", this);\n\t\tScribe_Deep.Look(ref weatherDecider, \"weatherDecider\", this);\n\t\tScribe_Deep.Look(ref damageWatcher, \"damageWatcher\");\n\t\tScribe_Deep.Look(ref rememberedCameraPos, \"rememberedCameraPos\", this);\n\t\tScribe_Deep.Look(ref mineStrikeManager, \"mineStrikeManager\");\n\t\tScribe_Deep.Look(ref retainedCaravanData, \"retainedCaravanData\", this);\n\t\tScribe_Deep.Look(ref storyState, \"storyState\", this);\n\t\tScribe_Deep.Look(ref tempTerrain, \"tempTerrain\", this);\n\t\tScribe_Deep.Look(ref wildPlantSpawner, \"wildPlantSpawner\", this);\n\t\tScribe_Deep.Look(ref temporaryThingDrawer, \"temporaryThingDrawer\");\n\t\tScribe_Deep.Look(ref flecks, \"flecks\", this);\n\t\tScribe_Deep.Look(ref deferredSpawner, \"deferredSpawner\", this);\n\t\tScribe_Deep.Look(ref autoSlaughterManager, \"autoSlaughterManager\", this);\n\t\tScribe_Deep.Look(ref treeDestructionTracker, \"treeDestructionTracker\", this);\n\t\tScribe_Deep.Look(ref storageGroups, \"storageGroups\", this);\n\t\tScribe_Deep.Look(ref sandGrid, \"sandGrid\", this);\n\t\tScribe_Collections.Look(ref components, \"components\", LookMode.Deep, this);\n\t\tif (Scribe.mode == LoadSaveMode.PostLoadInit)\n\t\t{\n\t\t\tif (planManager == null)\n\t\t\t{\n\t\t\t\tplanManager = new PlanManager(this);\n\t\t\t}\n\t\t\tif (ModsConfig.BiotechActive && pollutionGrid == null)\n\t\t\t{\n\t\t\t\tpollutionGrid = new PollutionGrid(this);\n\t\t\t}\n\t\t\tif (ModsConfig.OdysseyActive)\n\t\t\t{\n\t\t\t\tif (sandGrid == null)\n\t\t\t\t{\n\t\t\t\t\tsandGrid = new SandGrid(this);\n\t\t\t\t}\n\t\t\t\tif (substructureGrid == null)\n\t\t\t\t{\n\t\t\t\t\tsubstructureGrid = new SubstructureGrid(this);\n\t\t\t\t}\n\t\t\t\tif (waterBodyTracker == null)\n\t\t\t\t{\n\t\t\t\t\twaterBodyTracker = new WaterBodyTracker(this);\n\t\t\t\t}\n\t\t\t\tif (freezeManager == null)\n\t\t\t\t{\n\t\t\t\t\tfreezeManager = new FreezeManager(this);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tFillComponents();\n\t\tBackCompatibility.PostExposeData(this);\n\t}\n\n\tpublic void MapPreTick()\n\t{\n\t\titemAvailability.Tick();\n\t\tlisterHaulables.ListerHaulablesTick();\n\t\ttry\n\t\t{\n\t\t\tautoBuildRoofAreaSetter.AutoBuildRoofAreaSetterTick_First();\n\t\t}\n\t\tcatch (Exception ex)\n\t\t{\n\t\t\tLog.Error(ex.ToString());\n\t\t}\n\t\troofCollapseBufferResolver.CollapseRoofsMarkedToCollapse();\n\t\twindManager.WindManagerTick();\n\t\ttry\n\t\t{\n\t\t\tmapTemperature.MapTemperatureTick();\n\t\t}\n\t\tcatch (Exception ex2)\n\t\t{\n\t\t\tLog.Error(ex2.ToString());\n\t\t}\n\t\ttemporaryThingDrawer.Tick();\n\t\ttry\n\t\t{\n\t\t\tpathFinder.PathFinderTick();\n\t\t}\n\t\tcatch (Exception ex3)\n\t\t{\n\t\t\tLog.Error(ex3.ToString());\n\t\t}\n\t}\n\n\tpublic void MapPostTick()\n\t{\n\t\ttry\n\t\t{\n\t\t\twildAnimalSpawner.WildAnimalSpawnerTick();\n\t\t}\n\t\tcatch (Exception ex)\n\t\t{\n\t\t\tLog.Error(ex.ToString());\n\t\t}\n\t\ttry\n\t\t{\n\t\t\twildPlantSpawner.WildPlantSpawnerTick();\n\t\t}\n\t\tcatch (Exception ex2)\n\t\t{\n\t\t\tLog.Error(ex2.ToString());\n\t\t}\n\t\ttry\n\t\t{\n\t\t\tpowerNetManager.PowerNetsTick();\n\t\t}\n\t\tcatch (Exception ex3)\n\t\t{\n\t\t\tLog.Error(ex3.ToString());\n\t\t}\n\t\ttry\n\t\t{\n\t\t\tsteadyEnvironmentEffects.SteadyEnvironmentEffectsTick();\n\t\t}\n\t\tcatch (Exception ex4)\n\t\t{\n\t\t\tLog.Error(ex4.ToString());\n\t\t}\n\t\ttry\n\t\t{\n\t\t\ttempTerrain.Tick();\n\t\t}\n\t\tcatch (Exception ex5)\n\t\t{\n\t\t\tLog.Error(ex5.ToString());\n\t\t}\n\t\ttry\n\t\t{\n\t\t\tgasGrid.Tick();\n\t\t}\n\t\tcatch (Exception ex6)\n\t\t{\n\t\t\tLog.Error(ex6.ToString());\n\t\t}\n\t\tif (ModsConfig.BiotechActive)\n\t\t{\n\t\t\ttry\n\t\t\t{\n\t\t\t\tpollutionGrid.PollutionTick();\n\t\t\t}\n\t\t\tcatch (Exception ex7)\n\t\t\t{\n\t\t\t\tLog.Error(ex7.ToString());\n\t\t\t}\n\t\t}\n\t\ttry\n\t\t{\n\t\t\tdeferredSpawner.DeferredSpawnerTick();\n\t\t}\n\t\tcatch (Exception ex8)\n\t\t{\n\t\t\tLog.Error(ex8.ToString());\n\t\t}\n\t\ttry\n\t\t{\n\t\t\tlordManager.LordManagerTick();\n\t\t}\n\t\tcatch (Exception ex9)\n\t\t{\n\t\t\tLog.Error(ex9.ToString());\n\t\t}\n\t\ttry\n\t\t{\n\t\t\tpassingShipManager.PassingShipManagerTick();\n\t\t}\n\t\tcatch (Exception ex10)\n\t\t{\n\t\t\tLog.Error(ex10.ToString());\n\t\t}\n\t\ttry\n\t\t{\n\t\t\tdebugDrawer.DebugDrawerTick();\n\t\t}\n\t\tcatch (Exception ex11)\n\t\t{\n\t\t\tLog.Error(ex11.ToString());\n\t\t}\n\t\ttry\n\t\t{\n\t\t\tlordsStarter.VoluntarilyJoinableLordsStarterTick();\n\t\t}\n\t\tcatch (Exception ex12)\n\t\t{\n\t\t\tLog.Error(ex12.ToString());\n\t\t}\n\t\ttry\n\t\t{\n\t\t\tgameConditionManager.GameConditionManagerTick();\n\t\t}\n\t\tcatch (Exception ex13)\n\t\t{\n\t\t\tLog.Error(ex13.ToString());\n\t\t}\n\t\ttry\n\t\t{\n\t\t\tweatherManager.WeatherManagerTick();\n\t\t}\n\t\tcatch (Exception ex14)\n\t\t{\n\t\t\tLog.Error(ex14.ToString());\n\t\t}\n\t\ttry\n\t\t{\n\t\t\tresourceCounter.ResourceCounterTick();\n\t\t}\n\t\tcatch (Exception ex15)\n\t\t{\n\t\t\tLog.Error(ex15.ToString());\n\t\t}\n\t\ttry\n\t\t{\n\t\t\tweatherDecider.WeatherDeciderTick();\n\t\t}\n\t\tcatch (Exception ex16)\n\t\t{\n\t\t\tLog.Error(ex16.ToString());\n\t\t}\n\t\ttry\n\t\t{\n\t\t\tfireWatcher.FireWatcherTick();\n\t\t}\n\t\tcatch (Exception ex17)\n\t\t{\n\t\t\tLog.Error(ex17.ToString());\n\t\t}\n\t\tif (ModsConfig.OdysseyActive)\n\t\t{\n\t\t\ttry\n\t\t\t{\n\t\t\t\twaterBodyTracker?.Tick();\n\t\t\t}\n\t\t\tcatch (Exception ex18)\n\t\t\t{\n\t\t\t\tLog.Error(ex18.ToString());\n\t\t\t}\n\t\t}\n\t\ttry\n\t\t{\n\t\t\tflecks.FleckManagerTick();\n\t\t}\n\t\tcatch (Exception ex19)\n\t\t{\n\t\t\tLog.Error(ex19.ToString());\n\t\t}\n\t\ttry\n\t\t{\n\t\t\teffecterMaintainer.EffecterMaintainerTick();\n\t\t}\n\t\tcatch (Exception ex20)\n\t\t{\n\t\t\tLog.Error(ex20.ToString());\n\t\t}\n\t\tMapComponentUtility.MapComponentTick(this);\n\t\ttry\n\t\t{\n\t\t\tforeach (TileMutatorDef mutator in TileInfo.Mutators)\n\t\t\t{\n\t\t\t\tmutator.Worker?.Tick(this);\n\t\t\t}\n\t\t}\n\t\tcatch (Exception ex21)\n\t\t{\n\t\t\tLog.Error(ex21.ToString());\n\t\t}\n\t}\n\n\tpublic void MapUpdate()\n\t{\n\t\tif (Disposed)\n\t\t{\n\t\t\treturn;\n\t\t}\n\t\tbool drawingMap = WorldRendererUtility.DrawingMap;\n\t\tskyManager.SkyManagerUpdate();\n\t\tpowerNetManager.UpdatePowerNetsAndConnections_First();\n\t\tregionGrid.UpdateClean();\n\t\tregionAndRoomUpdater.TryRebuildDirtyRegionsAndRooms();\n\t\tglowGrid.GlowGridUpdate_First();\n\t\tlordManager.LordManagerUpdate();\n\t\tpostTickVisuals.ProcessPostTickVisuals();\n\t\tif (drawingMap && Find.CurrentMap == this)\n\t\t{\n\t\t\tif (AlwaysRedrawShadows)\n\t\t\t{\n\t\t\t\tmapDrawer.WholeMapChanged(MapMeshFlagDefOf.Things);\n\t\t\t}\n\t\t\tGlobalRendererUtility.UpdateGlobalShadersParams();\n\t\t\tPlantFallColors.SetFallShaderGlobals(this);\n\t\t\twaterInfo.SetTextures();\n\t\t\tavoidGrid.DebugDrawOnMap();\n\t\t\tBreachingGridDebug.DebugDrawAllOnMap(this);\n\t\t\tmapDrawer.MapMeshDrawerUpdate_First();\n\t\t\tpowerNetGrid.DrawDebugPowerNetGrid();\n\t\t\tDoorsDebugDrawer.DrawDebug();\n\t\t\tmapDrawer.DrawMapMesh();\n\t\t\tdynamicDrawManager.DrawDynamicThings();\n\t\t\tgameConditionManager.GameConditionManagerDraw(this);\n\t\t\tMapEdgeClipDrawer.DrawClippers(this);\n\t\t\tdesignationManager.DrawDesignations();\n\t\t\toverlayDrawer.DrawAllOverlays();\n\t\t\ttemporaryThingDrawer.Draw();\n\t\t\tflecks.FleckManagerDraw();\n\t\t}\n\t\ttry\n\t\t{\n\t\t\tareaManager.AreaManagerUpdate();\n\t\t}\n\t\tcatch (Exception ex)\n\t\t{\n\t\t\tLog.Error(ex.ToString());\n\t\t}\n\t\tweatherManager.WeatherManagerUpdate();\n\t\ttry\n\t\t{\n\t\t\tflecks.FleckManagerUpdate();\n\t\t}\n\t\tcatch (Exception ex2)\n\t\t{\n\t\t\tLog.Error(ex2.ToString());\n\t\t}\n\t\tMapComponentUtility.MapComponentUpdate(this);\n\t}\n\n\tpublic T GetComponent() where T : MapComponent\n\t{\n\t\tfor (int i = 0; i < components.Count; i++)\n\t\t{\n\t\t\tif (components[i] is T result)\n\t\t\t{\n\t\t\t\treturn result;\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tpublic MapComponent GetComponent(Type type)\n\t{\n\t\tfor (int i = 0; i < components.Count; i++)\n\t\t{\n\t\t\tif (type.IsInstanceOfType(components[i]))\n\t\t\t{\n\t\t\t\treturn components[i];\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tpublic void MapOnGUI()\n\t{\n\t\tDevGUISketches();\n\t\tDevRoadPaths();\n\t\tpathFinder.OnGUI();\n\t}\n\n\tprivate static void DevRoadPaths()\n\t{\n\t\tif (!DebugViewSettings.drawRoadPaths)\n\t\t{\n\t\t\treturn;\n\t\t}\n\t\tfor (int i = 0; i < GenStep_Roads.paths.Count; i++)\n\t\t{\n\t\t\tforeach (IntVec3 item in GenStep_Roads.paths[i])\n\t\t\t{\n\t\t\t\tVector2 vector = item.ToVector3Shifted().MapToUIPosition();\n\t\t\t\tDevGUI.DrawRect(new Rect(vector.x, vector.y, 5f, 5f), (i % 2 == 0) ? Color.yellow : Color.blue);\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate void DevGUISketches()\n\t{\n\t\tif ((!DebugViewSettings.drawMapGraphs && !DebugViewSettings.drawMapRooms) || layoutStructureSketches.NullOrEmpty())\n\t\t{\n\t\t\treturn;\n\t\t}\n\t\tforeach (LayoutStructureSketch layoutStructureSketch in layoutStructureSketches)\n\t\t{\n\t\t\tDebugGUILayoutStructure(layoutStructureSketch);\n\t\t}\n\t}\n\n\tprivate void DebugGUILayoutStructure(LayoutStructureSketch layoutStructureSketch)\n\t{\n\t\tDevDrawOutline(layoutStructureSketch.structureLayout.container, Color.yellow);\n\t\tVector2 pos = (layoutStructureSketch.structureLayout.container.Min - IntVec3.South).ToVector3().MapToUIPosition();\n\t\tDevDrawLabel(layoutStructureSketch.layoutDef.defName, pos);\n\t\tif (DebugViewSettings.drawMapGraphs && layoutStructureSketch.structureLayout?.neighbours != null)\n\t\t{\n\t\t\tforeach (KeyValuePair> connection in layoutStructureSketch.structureLayout.neighbours.connections)\n\t\t\t{\n\t\t\t\tforeach (Vector2 item in connection.Value)\n\t\t\t\t{\n\t\t\t\t\tVector2 vector = layoutStructureSketch.center.ToVector2();\n\t\t\t\t\tVector2 vector2 = vector + connection.Key;\n\t\t\t\t\tVector2 vector3 = vector + item;\n\t\t\t\t\tVector2 start = new Vector3(vector2.x, 0f, vector2.y).MapToUIPosition();\n\t\t\t\t\tVector2 end = new Vector3(vector3.x, 0f, vector3.y).MapToUIPosition();\n\t\t\t\t\tDevGUI.DrawLine(start, end, Color.green, 2f);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (!DebugViewSettings.drawMapRooms || layoutStructureSketch.structureLayout?.Rooms == null)\n\t\t{\n\t\t\treturn;\n\t\t}\n\t\tforeach (LayoutRoom room in layoutStructureSketch.structureLayout.Rooms)\n\t\t{\n\t\t\tstring name = \"NA\";\n\t\t\tif (!room.defs.NullOrEmpty())\n\t\t\t{\n\t\t\t\tname = room.defs.Select((LayoutRoomDef x) => x.defName).ToCommaList();\n\t\t\t}\n\t\t\tDevDrawLabel(name, room.rects[0].CenterVector3.MapToUIPosition());\n\t\t\tforeach (CellRect rect in room.rects)\n\t\t\t{\n\t\t\t\tDevDrawOutline(rect, Color.blue);\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate static void DevDrawLabel(string name, Vector2 pos)\n\t{\n\t\tfloat widthCached = name.GetWidthCached();\n\t\tDevGUI.Label(new Rect(pos.x - widthCached / 2f, pos.y, widthCached, 20f), name);\n\t}\n\n\tprivate static void DevDrawOutline(CellRect r, Color color)\n\t{\n\t\tIntVec3 min = r.Min;\n\t\tIntVec3 intVec = r.Max + new IntVec3(1, 0, 1);\n\t\tIntVec3 a = new IntVec3(min.x, 0, min.z);\n\t\tIntVec3 intVec2 = new IntVec3(intVec.x, 0, min.z);\n\t\tIntVec3 intVec3 = new IntVec3(min.x, 0, intVec.z);\n\t\tIntVec3 b = new IntVec3(intVec.x, 0, intVec.z);\n\t\tDevDrawLine(a, intVec2, color);\n\t\tDevDrawLine(a, intVec3, color);\n\t\tDevDrawLine(intVec3, b, color);\n\t\tDevDrawLine(intVec2, b, color);\n\t}\n\n\tprivate static void DevDrawLine(IntVec3 a, IntVec3 b, Color color)\n\t{\n\t\tVector2 start = a.ToVector3().MapToUIPosition();\n\t\tVector2 end = b.ToVector3().MapToUIPosition();\n\t\tDevGUI.DrawLine(start, end, color, 2f);\n\t}\n\n\tpublic string GetUniqueLoadID()\n\t{\n\t\treturn \"Map_\" + uniqueID;\n\t}\n\n\tpublic override string ToString()\n\t{\n\t\tstring text = \"Map-\" + uniqueID;\n\t\tif (IsPlayerHome)\n\t\t{\n\t\t\ttext += \"-PlayerHome\";\n\t\t}\n\t\treturn text;\n\t}\n\n\tpublic ThingOwner GetDirectlyHeldThings()\n\t{\n\t\treturn spawnedThings;\n\t}\n\n\tpublic void GetChildHolders(List outChildren)\n\t{\n\t\tThingOwnerUtility.AppendThingHoldersFromThings(outChildren, listerThings.ThingsInGroup(ThingRequestGroup.ThingHolder));\n\t\tList passingShips = passingShipManager.passingShips;\n\t\tfor (int i = 0; i < passingShips.Count; i++)\n\t\t{\n\t\t\tif (passingShips[i] is IThingHolder item)\n\t\t\t{\n\t\t\t\toutChildren.Add(item);\n\t\t\t}\n\t\t}\n\t\tfor (int j = 0; j < components.Count; j++)\n\t\t{\n\t\t\tif (components[j] is IThingHolder item2)\n\t\t\t{\n\t\t\t\toutChildren.Add(item2);\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic void Dispose()\n\t{\n\t\tif (Disposed)\n\t\t{\n\t\t\treturn;\n\t\t}\n\t\tDisposed = true;\n\t\tforeach (MapComponent component in components)\n\t\t{\n\t\t\tif (component is IDisposable disposable)\n\t\t\t{\n\t\t\t\tdisposable.Dispose();\n\t\t\t}\n\t\t}\n\t\tif (regionAndRoomUpdater != null)\n\t\t{\n\t\t\tregionAndRoomUpdater.Enabled = false;\n\t\t}\n\t\tpathFinder?.Dispose();\n\t\tlordManager?.Dispose();\n\t\tfogGrid?.Dispose();\n\t\tsnowGrid?.Dispose();\n\t\tglowGrid?.Dispose();\n\t\tsandGrid?.Dispose();\n\t\tavoidGrid?.Dispose();\n\t\tlisterBuildings?.Dispose();\n\t\tlisterThings?.Clear();\n\t\tregionDirtyer?.SetAllDirty();\n\t\tregionGrid?.Dispose();\n\t\tpathing?.Dispose();\n\t\tmapDrawer?.Dispose();\n\t\tResources.UnloadUnusedAssets();\n\t\tMapGenerator.ClearDebugMode();\n\t}\n}\n\n", "timestamp": "2025-08-25 11:39:06,772" }, "MapGenerator": { "keywords": [ "MapGenerator" ], "question": "MapGenerator class definition", "embedding": [ -0.013261166401207447, 0.05949479714035988, -0.028810594230890274, -0.06628279387950897, 0.02472550980746746, 0.019918624311685562, 0.0394686721265316, 0.050618186593055725, 0.032496385276317596, 0.10823937505483627, 0.0031751547940075397, -0.01603318750858307, -0.06695852428674698, 0.0024917477276176214, -0.014029039070010185, 0.04696311056613922, -0.016048545017838478, -0.08286885172128677, -0.02228367328643799, -0.018981819972395897, 0.020486850291490555, -0.026537690311670303, -0.0036013242788612843, -0.02455657720565796, -0.024372287094593048, -0.001914883148856461, 0.04994245618581772, 0.0457652285695076, 0.006469329819083214, -0.022790469229221344, 0.016539983451366425, -0.04103513062000275, 0.036704327911138535, -0.056054726243019104, 0.03538358584046364, 0.01372956857085228, -0.0358135960996151, 0.05639259144663811, -0.0018294573528692126, 0.02119329385459423, -0.06529991328716278, -0.005578597076237202, 0.008177846670150757, 0.010850044898688793, -0.025524096563458443, 0.0369807630777359, 0.0025051855482161045, -0.06170627102255821, -0.0668356642127037, -0.020302562043070793, -0.010151281021535397, 0.011579524725675583, -0.00759042426943779, -0.001471436582505703, 0.04177228733897209, 0.0238808486610651, 0.03495357558131218, -0.038332220166921616, 0.019073965027928352, 0.012086320668458939, 0.02371191792190075, 0.0058934250846505165, -0.03323354199528694, -0.021930452436208725, 0.09742771834135056, -0.05470326915383339, 0.04214086756110191, 0.0017065976280719042, -0.03350997716188431, -0.026860196143388748, -0.012447220273315907, -0.02475622482597828, 0.013529921881854534, 0.025048015639185905, 0.015679966658353806, 0.002136606490239501, 0.006346470210701227, -0.08673892915248871, -0.02266760915517807, 0.004215622786432505, 0.02245260588824749, -0.024894440546631813, -0.020732570439577103, 0.01424404326826334, 0.03188208490610123, 0.037103623151779175, 0.0519082136452198, 0.054764699190855026, -0.040666550397872925, -0.01704677939414978, 0.026291970163583755, -0.021561872214078903, 0.019012534990906715, 0.01578746736049652, 0.028104150667786598, -0.03185136988759041, -0.0848960354924202, -0.018444309011101723, 0.0015223080990836024, 0.0066958521492779255, 0.026553047820925713, -0.030484557151794434, -0.06462419033050537, 0.020287204533815384, -0.035475730895996094, 0.08336029201745987, -0.027090558782219887, -0.034830719232559204, -0.011111121624708176, -0.006918535567820072, 0.015641571953892708, -0.051693208515644073, 0.045611653476953506, 0.06763424724340439, 0.006899338681250811, 0.05961765721440315, 0.0336635522544384, 0.016386408358812332, -0.0033709623385220766, 0.014796911738812923, 0.03384783864021301, 0.021761519834399223, -0.019273610785603523, -0.020502207800745964, 0.012700619176030159, 0.00733318692073226, 0.031697794795036316, 0.049174584448337555, -0.03360212221741676, -0.0037760152481496334, -0.00028555275639519095, -0.008062666282057762, -0.035230010747909546, 0.018812887370586395, -0.025877319276332855, -0.01558782160282135, 0.011456664651632309, -0.03762577474117279, -0.006638261955231428, 0.03550644591450691, -0.09110044687986374, -0.013076876290142536, 0.05261465534567833, 0.008323743008077145, 0.06787996739149094, -0.019396470859646797, -0.011456664651632309, -0.02206866815686226, 0.004507414065301418, 0.019027892500162125, -0.032987821847200394, 0.019857194274663925, -0.029839543625712395, 0.03817864507436752, -0.04530450329184532, -0.019857194274663925, -0.0030292589217424393, -0.049174584448337555, -0.003891196334734559, -0.07273292541503906, -0.029225245118141174, 0.0044191088527441025, -0.003585966769605875, -0.004511253442615271, 0.03802506998181343, 0.03642789274454117, 0.01681641861796379, 0.0444444864988327, 0.00020624588069040328, -0.034984290599823, -0.008561783470213413, -0.007072110194712877, 9.082497126655653e-05, 0.01081165112555027, 0.046072378754615784, 0.001038548187352717, -0.02183830738067627, 0.05866549536585808, -0.007717123255133629, -0.06084625422954559, 0.01516549102962017, 0.026445545256137848, 0.059187646955251694, -0.02580053173005581, -0.010420036502182484, -0.019181465730071068, -0.019826479256153107, 0.020686497911810875, 0.00340743619017303, -0.04263230785727501, 0.018213946372270584, -0.006262003909796476, 0.019488615915179253, 0.006231288891285658, -0.07666444033384323, -0.010788614861667156, 0.003015821101143956, -0.022314388304948807, 0.0027278687339276075, -0.04100441560149193, 0.002616527024656534, 0.0034055165015161037, 0.02165401726961136, 0.012393469922244549, -8.188645006157458e-05, -0.02727484703063965, -0.03148278966546059, -0.060416243970394135, 0.04892886430025101, -0.015941042453050613, 0.017522860318422318, 0.0017008385621011257, -0.01432850956916809, -0.009644484147429466, -0.005033407360315323, -0.03206637501716614, -0.0033920789137482643, -0.032127805054187775, 0.007859179750084877, 0.046686675399541855, -0.03971438854932785, 0.02037934772670269, 0.017737865447998047, 0.013076876290142536, 0.033786408603191376, -0.006899338681250811, 0.029977761209011078, 0.010658076964318752, -0.0022575464099645615, -0.010834687389433384, -0.002606928814202547, -0.002998543903231621, -0.03738005459308624, 0.024879084900021553, 0.022145455703139305, -0.04558093845844269, -0.019166110083460808, -0.02538588084280491, -0.0032058695796877146, -0.011195587925612926, -0.02598482184112072, 0.013622066006064415, -0.03535287082195282, 0.05857335031032562, 0.000992475776001811, -0.04684025049209595, -0.010020742192864418, -0.013015447184443474, 0.08243884146213531, 0.00670353090390563, 0.03122171387076378, -0.012715976685285568, 0.020486850291490555, -0.017092851921916008, 0.03704219311475754, 0.030100619420409203, 0.010343248955905437, -0.010412357747554779, -0.01350688561797142, 0.013030803762376308, -0.007210327312350273, 0.018398236483335495, -0.025263020768761635, 0.07132004201412201, -0.011364519596099854, 0.010189673863351345, -0.029424892738461494, 0.05841977521777153, -0.07881448417901993, -0.04131156578660011, -0.013130627572536469, -0.007528994232416153, 0.02722877450287342, 0.0005917421076446772, -0.015034952200949192, 0.010266461409628391, -0.02991633117198944, -0.022713681682944298, -0.013583673164248466, -0.032742101699113846, 0.003820168087258935, 0.04389161989092827, -0.04152657091617584, 0.009168403223156929, 0.010573610663414001, 0.05175463855266571, 0.0070375557988882065, 0.009406443685293198, -0.004346161149442196, -0.004983495455235243, 0.05467255413532257, 0.026783408597111702, -0.012001854367554188, -0.02431085892021656, -0.042509447783231735, 0.010980583727359772, 0.014904414303600788, -0.0017267543589696288, -0.03529144078493118, -0.004326964262872934, -0.00324810273014009, 0.0008211441454477608, -0.06139912083745003, 0.005739850457757711, 0.06189056113362312, -0.01893574744462967, -0.0034842235036194324, -0.11020512878894806, 0.01830609142780304, -0.07261006534099579, 0.052276790142059326, 0.009897882118821144, -0.008607855997979641, 0.014236364513635635, 0.02991633117198944, -0.015457282774150372, -0.032527100294828415, 0.007717123255133629, -0.02143901400268078, 0.059586942195892334, -0.08250027149915695, -0.016739631071686745, 0.01402136031538248, 0.007521315477788448, 0.0749443992972374, -0.021300796419382095, 0.02306690439581871, 0.03633574768900871, 0.013775641098618507, -0.008776787668466568, 0.056239016354084015, 0.00789373368024826, -0.020824715495109558, 0.043983764946460724, -0.06232057139277458, 0.019811121746897697, 0.021454371511936188, -0.022206885740160942, 0.006500044837594032, -0.0391308069229126, -0.037072908133268356, 0.043369464576244354, -0.04782312735915184, 0.030607417225837708, 0.017108209431171417, 0.03476928919553757, -0.036489322781562805, 0.013107591308653355, 0.07248720526695251, 0.015894969925284386, -0.017922155559062958, 0.009176081977784634, 0.045611653476953506, 0.04653310030698776, 0.015603178180754185, -0.05012674629688263, 0.00026515612262301147, -0.02349691279232502, -0.023235835134983063, 0.003966063726693392, 0.00048423989210277796, 0.027090558782219887, -0.016985349357128143, 0.035015005618333817, 0.054365403950214386, -0.017384644597768784, -0.023235835134983063, -0.0007961882511153817, -0.01994933933019638, 0.03206637501716614, 0.03848579153418541, -0.009106973186135292, -0.0006205373210832477, 0.015027273446321487, -0.08194740116596222, 0.09890203922986984, 0.01810644380748272, -0.027489852160215378, -0.026675906032323837, 0.02824236825108528, -0.014727803878486156, 0.019473258405923843, -0.03258853033185005, -0.04309302940964699, -0.00997466966509819, -0.007206487935036421, -0.02616911008954048, 0.04235587269067764, 0.001843854901380837, -0.043369464576244354, 0.08538747578859329, 0.012063284404575825, 0.004829920828342438, -0.011640953831374645, 0.0027413065545260906, 0.01621747761964798, -0.005693777929991484, -0.0172464270144701, 0.004434466361999512, -0.004499735776335001, -0.019703621044754982, -0.004373036324977875, 0.019242895767092705, 0.010934511199593544, -0.023420125246047974, -0.034400708973407745, 0.04100441560149193, -0.018981819972395897, 0.007033716421574354, 0.012593116611242294, -0.010550574399530888, -0.04800741747021675, 0.07414581626653671, -0.0007688328041695058, -0.02616911008954048, -0.019242895767092705, 0.032496385276317596, 0.011456664651632309, 0.03682718798518181, 0.03612074255943298, -0.026107680052518845, -0.004181068390607834, -0.06253557652235031, -0.0305920597165823, -0.010988262481987476, 0.04551950842142105, 0.02123936638236046, -0.020947573706507683, -0.034984290599823, -0.01029717642813921, 0.0378100648522377, -0.03956081345677376, -0.09048614650964737, 0.037318624556064606, -0.0007889894768595695, -0.013552958145737648, -0.0383015051484108, -0.05181606858968735, 0.002290181117132306, -0.015242278575897217, -0.03725719451904297, 0.008116417564451694, 0.000974718714132905, -0.0031482791528105736, -0.0004909588024020195, -0.02721341699361801, 0.028795236721634865, 0.008661607280373573, 0.020824715495109558, 0.017292499542236328, -0.016263550147414207, -0.023374052718281746, -0.016893204301595688, -0.0033805607818067074, 0.02100900374352932, 0.04131156578660011, 0.0017325134249404073, -0.03243495523929596, 0.015042630955576897, -0.03329497203230858, 0.03160564973950386, 0.017799295485019684, -0.0424480177462101, 0.004050530027598143, -0.002862246474251151, 0.022974759340286255, 0.026783408597111702, -0.00588190695270896, -0.046502385288476944, -0.022713681682944298, -0.025539454072713852, 0.045611653476953506, 0.020962931215763092, -0.035076435655355453, 0.03036169707775116, -0.0295170359313488, 0.002159642754122615, 0.02494051307439804, 0.016278907656669617, -0.020241132006049156, -0.03301853686571121, 0.0034151149448007345, -0.002242189133539796, -0.050003886222839355, -0.07304007560014725, -0.03873151168227196, 0.020840073004364967, -0.05943336710333824, -0.019411828368902206, -0.013030803762376308, -0.03384783864021301, -0.0064462935552001, 0.010466108098626137, 0.015426567755639553, -0.023834776133298874, 0.0055632395669817924, 0.03258853033185005, 0.007985878735780716, 0.023020831868052483, 0.019012534990906715, 0.007406134624034166, 0.009529303759336472, -0.022084025666117668, -0.031697794795036316, -0.019273610785603523, 0.012209179811179638, -0.018582526594400406, 0.014159577898681164, -0.0336635522544384, -0.004326964262872934, 0.028825951740145683, -0.038147930055856705, 0.035629305988550186, -0.040605124086141586, -0.00649620546028018, 0.008116417564451694, 0.04766955226659775, 0.04929744452238083, -0.027090558782219887, 0.030853135511279106, -0.009429479949176311, -0.004131156485527754, -0.01869002729654312, 0.03787149488925934, -0.05525613948702812, 0.038117215037345886, -0.01603318750858307, 0.04238658770918846, 0.02266760915517807, -0.0070260376669466496, 0.003388239536434412, -0.011372198350727558, -0.0424480177462101, -0.004192586522549391, 0.017783937975764275, 0.02266760915517807, -0.024602649733424187, 1.862691897258628e-05, 0.03185136988759041, 0.08170168101787567, 0.013990645296871662, -0.006104589905589819, 0.0008197043789550662, -0.01681641861796379, 0.023558342829346657, 0.0017901038518175483, 0.015319065190851688, 0.015772109851241112, -0.0027950576040893793, -0.039007946848869324, 0.007747838273644447, -0.023128334432840347, 0.035445015877485275, -0.05135534331202507, 0.004042851272970438, -0.04994245618581772, 0.024664079770445824, 0.04696311056613922, -0.017154281958937645, 0.02976275607943535, -0.014205649495124817, -0.028027363121509552, -0.017599647864699364, -0.020517565310001373, 0.006269682664424181, 0.027597354725003242, -0.060231953859329224, 0.012800442054867744, -0.02641483023762703, -0.0016854811692610383, -0.05633116140961647, 0.011802207678556442, -0.03704219311475754, -0.00023864052491262555, 0.05114033818244934, 0.07261006534099579, -1.3355290320760105e-05, -0.013875464908778667, 0.026153752580285072, 0.023604415357112885, -0.02953239344060421, -0.041280850768089294, -0.007160415407270193, -0.03873151168227196, 0.03203565999865532, -0.016309620812535286, -0.003443910274654627, -0.0033786410931497812, 0.03486143425107002, -0.04963530972599983, 0.044383056461811066, 0.037963639944791794, -0.04263230785727501, -0.010335570201277733, 0.02225295826792717, 0.026445545256137848, -0.01381403487175703, -0.011802207678556442, 9.556418808642775e-05, 0.019058607518672943, -0.003246183041483164, -0.040635835379362106, 0.020118271932005882, -0.0010635040234774351, -0.007694086991250515, 0.05912621691823006, -0.008438924327492714, 0.010435394011437893, 0.02472550980746746, -0.013476170599460602, 0.03372498229146004, -0.00044296670239418745, -0.012355076149106026, 0.0008009874727576971, 0.004119638353586197, -0.03639717772603035, 0.04008296877145767, 0.003737621707841754, -0.06219771131873131, -0.025739101693034172, 0.01578746736049652, -0.025247663259506226, 0.027704857289791107, -0.024203356355428696, -0.011802207678556442, 0.052276790142059326, -0.00790909118950367, 0.01999541185796261, -0.0021538836881518364, -0.01163327507674694, 0.022944044321775436, -0.012938659638166428, -0.03056134469807148, 0.028994882479310036, 0.052491795271635056, 0.0029121581465005875, 0.003459267783910036, 0.004392233211547136, 0.023635130375623703, 0.04723954573273659, 0.06744996458292007, -0.012216858565807343, -0.02451050467789173, 0.02454121969640255, 0.017522860318422318, 0.01415189914405346, -0.03264995664358139, -0.024003708735108376, -0.029839543625712395, -0.013092233799397945, 0.028227010741829872, 0.05095604807138443, 0.039192236959934235, 0.028810594230890274, -0.002418799791485071, -0.029148457571864128, -0.02429550141096115, -0.0016173324547708035, -0.00042592952377162874, -0.03701147809624672, -0.018229303881525993, 0.005175463855266571, -0.01266990415751934, 0.04539664834737778, -0.042509447783231735, -0.006611386314034462, 0.003927670419216156, 0.02268296666443348, 0.005409664940088987, 0.03824007511138916, 0.0030350179877132177, -0.019181465730071068, -0.0024360769893974066, 0.06738853454589844, -0.014789232984185219, 0.025708386674523354, -0.029624538496136665, -0.031298503279685974, 0.06075410917401314, 0.001051026163622737, 0.013545279391109943, 0.044383056461811066, -0.03350997716188431, 0.02309761941432953, -0.07580441981554031, -0.016939276829361916, 0.02512480318546295, 0.013476170599460602, -0.07193434238433838, 0.01895110495388508, 0.01319973636418581, -0.021285438910126686, 0.053751107305288315, 0.0021462049335241318, -0.03372498229146004, -0.024372287094593048, 0.015288351103663445, -0.038608651608228683, 0.01620212011039257, 0.0441066212952137, -0.0209782887250185, -0.01789144054055214, -0.006588350050151348, -0.013476170599460602, -0.0006416538381017745, -0.02369656041264534, -0.006361827719956636, 0.012232216075062752, 0.007678729481995106, -0.0007280395366251469, 0.030730275437235832, 0.01603318750858307, 0.012907944619655609, -0.002426478546112776, 0.01744607463479042, -0.006177538074553013, 0.010573610663414001, -0.013076876290142536, -0.03470785915851593, 0.010343248955905437, 0.0032154680229723454, -0.016493910923600197, -0.04017511382699013, 0.0003649796126410365, -0.02059435285627842, 0.005590115208178759, 0.05175463855266571, -0.02205331064760685, 0.02911774255335331, 0.02973204106092453, -0.005117873195558786, -0.02560088410973549, -0.011410592123866081, -0.043369464576244354, -0.033172111958265305, -0.0014330429257825017, -0.024080496281385422, -0.0005379909998737276, -0.016171405091881752, -0.015703001990914345, -0.03225066512823105, -0.0201489869505167, 0.036090027540922165, -0.023865491151809692, 0.05181606858968735, -0.012639189139008522, -0.005225375294685364, 0.02059435285627842, 0.054334692656993866, -0.032742101699113846, 0.02933274768292904, 0.030699560418725014, 0.01506566721946001, -0.014658695086836815, -0.04548879340291023, -0.004557325970381498, 0.05719117820262909, 0.03455428406596184, -0.012063284404575825, 0.028641661629080772, 0.013959930278360844, -0.002791218226775527, -0.014251722022891045, 0.03790220990777016, -0.02180759236216545, 0.02601553685963154, -0.020532922819256783, 0.009721271693706512, -0.04238658770918846, -0.004776170011609793, -0.03013133443892002, -0.01640176586806774, 0.053321097046136856, 0.012024890631437302, 0.049143869429826736, 0.01424404326826334, -0.009821095503866673, 0.03134457394480705, -0.0073715802282094955, -0.03320282697677612, 0.0837288647890091, -0.0005091957864351571, 0.006603707559406757, 0.00572065357118845, 0.018843602389097214, 0.01847502402961254, -0.01789144054055214, -0.005536363925784826, -0.024786939844489098, -0.042079437524080276, -0.026353400200605392, -0.040420833975076675, 0.035076435655355453, -0.01681641861796379, -0.04340017959475517, 0.010266461409628391, 0.005774404853582382, -0.014374582096934319, 0.011925066821277142, 0.0519082136452198, 0.010043778456747532, -0.09349621087312698, 0.008362136781215668, -0.02517087571322918, 0.03329497203230858, 0.03323354199528694, -0.020717212930321693, -0.00048423989210277796, 0.02165401726961136, -0.05135534331202507, 0.031943514943122864, 0.014604943804442883, 0.02891809493303299, 0.01644783839583397, -0.028595589101314545, -0.02494051307439804, -0.0411272756755352, -0.006849426776170731, -0.047730982303619385, 0.020440777763724327, 0.015518712811172009, 0.07476010918617249, 0.006419417914003134, 0.03695004805922508, 0.027812357991933823, -0.022560108453035355, 5.225135464570485e-05, -0.004753133747726679, 0.012500971555709839, -0.005440379958599806, 0.03286496177315712, -0.031283143907785416, -0.012531686574220657, 0.01197113934904337, 0.029348105192184448, 0.02205331064760685, -0.008454280905425549, -0.0020732569973915815, -0.027766285464167595, 0.00303885736502707, 0.003361363895237446, 0.0005701456684619188, -0.02931739017367363, -0.04822242259979248, -0.017400002107024193, 0.010612004436552525, -0.0058934250846505165, -0.04072798043489456, -0.009229833260178566, -0.008246955461800098, -0.019166110083460808, 0.004334643017500639, -0.028994882479310036, -0.006968447007238865, -0.01746143028140068, 0.04671739041805267, 0.023650487884879112, -0.018582526594400406, 0.0261998251080513, -0.024848369881510735, -0.01506566721946001, -0.04785384237766266, 0.0062888795509934425, 0.006565313786268234, 0.01038164272904396, 0.015726039186120033, 0.0761115700006485, 0.015272993594408035, -0.042970169335603714, 0.019703621044754982, 0.009905560873448849, -0.022114740684628487, 0.004184907767921686, -0.029793471097946167, 0.00954466126859188, 0.01540353149175644, -0.02974739857017994, 0.03206637501716614, 0.003225066466256976, 0.022176170721650124, -0.009275905787944794, -0.05350538715720177, -0.036520037800073624, -0.023189762607216835, 0.04432162642478943, 0.007052913308143616, 0.03116028569638729, 0.033571407198905945, -0.020625067874789238, -0.005927979480475187, -0.001962875248864293, 0.02682948112487793, 0.01664748601615429, -0.028564874082803726, -0.001681641791947186, 0.034400708973407745, -0.010665755718946457, 0.011287732981145382, -0.026030894368886948, -0.0036934688687324524, 0.026061607524752617, -0.08753751963376999, -0.02122400887310505, 0.009260548278689384, -0.04413733631372452, -0.08508032560348511, -0.05900335684418678, -0.013990645296871662, 0.01888967491686344, -0.001401368179358542, -0.029409535229206085, 0.019304325804114342, 0.0402979739010334, 0.01217846479266882, -0.041895147413015366, -0.043768759816884995, -0.05359753221273422, 0.05132462829351425, 0.013069197535514832, 0.002848808653652668, 0.021546514704823494, -0.018152516335248947, -0.004350000526756048, 0.032772816717624664, 0.02160794474184513, -0.005943336524069309, -0.04782312735915184, -0.03999082371592522, 0.0018428950570523739, 0.03882365673780441, -0.035660021007061005, 0.016063902527093887, 0.012431863695383072, -0.01340706180781126, -0.010742542333900928, 0.028733806684613228, -0.043123744428157806, -0.02326655015349388, -0.014604943804442883, -0.053351812064647675, -0.010143602266907692, -0.01598711498081684, 0.03759505972266197, -0.0023996029049158096, 0.03658146783709526, 0.03486143425107002, 0.0053751105442643166, -0.027397707104682922, -0.018045013770461082, 0.04118870571255684, -0.05504113435745239, 0.013169021345674992, 0.027581997215747833, 0.012923302128911018, -0.0020713373087346554, 0.022974759340286255, 0.003977581858634949, -0.018382878974080086, -0.004019815009087324, -0.013652781024575233, 0.053136810660362244, 0.06480848044157028, 0.018213946372270584, -0.0898718535900116, 0.01583353988826275, -0.0407894104719162, -0.0021692411974072456, 0.04349232465028763, 0.0394686721265316, 0.016493910923600197, 0.021976524963974953, 0.01321509387344122, 0.007601942401379347, -0.028994882479310036, 0.04631809890270233, 0.011203266680240631, -0.031283143907785416, -0.010481465607881546, 0.04429091140627861, -0.005851191934198141, 0.029056312516331673, 0.03433927893638611, -0.008285349234938622, -0.002034863457083702, -0.006615225691348314, -0.0060086059384047985, 0.027382349595427513, -0.013453134335577488, -0.02888738177716732, -0.035260725766420364, 0.027704857289791107, -0.008615534752607346, 0.0011047772131860256, 0.03271138668060303, 0.00452661095187068, -0.05344395712018013, -0.017522860318422318, -0.05362824723124504, -0.009291263297200203, -0.026261255145072937, 0.02328190766274929, 0.031728509813547134, 0.033755697309970856, 0.03017740696668625, -0.012608474120497704, 0.01297705341130495, 0.01183292269706726, 0.0023535306099802256, 0.0006243766983971, -0.0844045951962471, -0.037533629685640335, -0.009222154505550861, 0.009506267495453358, 0.009337334893643856, -0.007628818042576313, 0.011402913369238377, -0.06542277336120605, -0.013591350987553596, -0.046041663736104965, 0.019043250009417534, 0.02163865976035595, -0.0009823974687606096, 0.050003886222839355, 0.050741046667099 ], "result": "--- 结果 1 (相似度: 1.000) ---\n文件路径: C:\\Steam\\steamapps\\common\\RimWorld\\Data\\dll1.6\\Verse\\MapGenerator.txt\n\npublic static class MapGenerator\n{\n\tpublic static Map mapBeingGenerated;\n\n\tprivate static IntVec3 playerStartSpotInt = IntVec3.Invalid;\n\n\tprivate static Gravship gravship;\n\n\tpublic static List rootsToUnfog = new List();\n\n\tprivate static Dictionary data = new Dictionary();\n\n\tprivate static List tmpGenSteps = new List();\n\n\tprivate static int debugSeed;\n\n\tpublic static bool debugMode = false;\n\n\tprivate static int debugGenStepIndex = 0;\n\n\tprivate static List cachedUsedRects = new List();\n\n\tpublic const string ElevationName = \"Elevation\";\n\n\tpublic const string FertilityName = \"Fertility\";\n\n\tpublic const string CavesName = \"Caves\";\n\n\tpublic const string RectOfInterestName = \"RectOfInterest\";\n\n\tpublic const string UsedRectsName = \"UsedRects\";\n\n\tpublic const string RectOfInterestTurretsGenStepsCount = \"RectOfInterestTurretsGenStepsCount\";\n\n\tpublic const string DontGenerateClearedGravShipTerrain = \"DontGenerateClearedGravShipTerrain\";\n\n\tpublic const string GravshipSpawnSet = \"GravshipSpawnSet\";\n\n\tpublic const string SpawnRectName = \"SpawnRect\";\n\n\tpublic static List tmpDataDump = new List();\n\n\tpublic static MapGenFloatGrid Elevation => FloatGridNamed(\"Elevation\");\n\n\tpublic static MapGenFloatGrid Fertility => FloatGridNamed(\"Fertility\");\n\n\tpublic static MapGenFloatGrid Caves => FloatGridNamed(\"Caves\");\n\n\tpublic static List UsedRects => GetOrGenerateVar>(\"UsedRects\");\n\n\tpublic static IntVec3 PlayerStartSpot\n\t{\n\t\tget\n\t\t{\n\t\t\tif (!PlayerStartSpotValid)\n\t\t\t{\n\t\t\t\tLog.Error(\"Accessing player start spot before setting it.\");\n\t\t\t\treturn IntVec3.Invalid;\n\t\t\t}\n\t\t\treturn playerStartSpotInt;\n\t\t}\n\t\tset\n\t\t{\n\t\t\tplayerStartSpotInt = value;\n\t\t}\n\t}\n\n\tpublic static bool PlayerStartSpotValid => playerStartSpotInt.IsValid;\n\n\tpublic static Map GenerateMap(IntVec3 mapSize, MapParent parent, MapGeneratorDef mapGenerator, IEnumerable extraGenStepDefs = null, Action extraInitBeforeContentGen = null, bool isPocketMap = false, bool stepDebugger = false)\n\t{\n\t\tProgramState programState = Current.ProgramState;\n\t\tCurrent.ProgramState = ProgramState.MapInitializing;\n\t\tClearWorkingData();\n\t\tplayerStartSpotInt = IntVec3.Invalid;\n\t\trootsToUnfog.Clear();\n\t\tmapBeingGenerated = null;\n\t\tgravship = null;\n\t\tDeepProfiler.Start(\"InitNewGeneratedMap\");\n\t\tRand.PushState();\n\t\tint seed = Gen.HashCombineInt(Find.World.info.Seed, parent?.Tile.GetHashCode() ?? 0);\n\t\tif (isPocketMap)\n\t\t{\n\t\t\tseed = Gen.HashCombineInt(Find.World.info.Seed, parent?.ID ?? Rand.Int);\n\t\t}\n\t\tRand.Seed = seed;\n\t\tif (stepDebugger)\n\t\t{\n\t\t\tdebugMode = true;\n\t\t\tdebugSeed = seed;\n\t\t\tdebugGenStepIndex = 0;\n\t\t}\n\t\ttry\n\t\t{\n\t\t\tif (parent != null && parent.HasMap)\n\t\t\t{\n\t\t\t\tLog.Error($\"Tried to generate a new map and set {parent} as its parent, but this world object already has a map. One world object can't have more than 1 map.\");\n\t\t\t\tparent = null;\n\t\t\t}\n\t\t\tDeepProfiler.Start(\"Set up map\");\n\t\t\tMap map = new Map();\n\t\t\tmap.uniqueID = Find.UniqueIDsManager.GetNextMapID();\n\t\t\tmap.generationTick = GenTicks.TicksGame;\n\t\t\tmap.events = new MapEvents(map);\n\t\t\tmapBeingGenerated = map;\n\t\t\tmap.info.Size = mapSize;\n\t\t\tmap.info.parent = parent;\n\t\t\tif (mapGenerator == null)\n\t\t\t{\n\t\t\t\tLog.Error(\"Attempted to generate map without generator; falling back on encounter map\");\n\t\t\t\tmapGenerator = MapGeneratorDefOf.Encounter;\n\t\t\t}\n\t\t\tmap.generatorDef = mapGenerator;\n\t\t\tmap.info.disableSunShadows = mapGenerator.disableShadows;\n\t\t\tif (isPocketMap)\n\t\t\t{\n\t\t\t\tmap.info.isPocketMap = true;\n\t\t\t\tmap.pocketTileInfo = new Tile\n\t\t\t\t{\n\t\t\t\t\tPrimaryBiome = mapGenerator.pocketMapProperties.biome\n\t\t\t\t};\n\t\t\t\tforeach (TileMutatorDef tileMutator in mapGenerator.pocketMapProperties.tileMutators)\n\t\t\t\t{\n\t\t\t\t\tmap.TileInfo.AddMutator(tileMutator);\n\t\t\t\t}\n\t\t\t}\n\t\t\tmap.ConstructComponents();\n\t\t\tforeach (TileMutatorDef mutator in map.TileInfo.Mutators)\n\t\t\t{\n\t\t\t\tmutator.Worker?.Init(map);\n\t\t\t}\n\t\t\tDeepProfiler.End();\n\t\t\tCurrent.Game.AddMap(map);\n\t\t\tif (mapGenerator.isUnderground)\n\t\t\t{\n\t\t\t\tforeach (IntVec3 allCell in map.AllCells)\n\t\t\t\t{\n\t\t\t\t\tmap.roofGrid.SetRoof(allCell, mapGenerator.roofDef ?? RoofDefOf.RoofRockThick);\n\t\t\t\t}\n\t\t\t}\n\t\t\textraInitBeforeContentGen?.Invoke(map);\n\t\t\tIEnumerable enumerable = mapGenerator.genSteps.Where(IsValidBiome).Select(GetGenStepParms);\n\t\t\tforeach (TileMutatorDef mutator2 in map.TileInfo.Mutators)\n\t\t\t{\n\t\t\t\tif (mutator2.extraGenSteps.Any())\n\t\t\t\t{\n\t\t\t\t\tenumerable = enumerable.Concat(mutator2.extraGenSteps.Select(GetGenStepParms));\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (map.Biome.extraGenSteps.Any())\n\t\t\t{\n\t\t\t\tenumerable = enumerable.Concat(map.Biome.extraGenSteps.Where(IsValidBiome).Select(GetGenStepParms));\n\t\t\t}\n\t\t\tif (map.Biome.preventGenSteps.Any())\n\t\t\t{\n\t\t\t\tenumerable = enumerable.Where((GenStepWithParams step) => !map.Biome.preventGenSteps.Contains(step.def));\n\t\t\t}\n\t\t\tforeach (TileMutatorDef mut in map.TileInfo.Mutators)\n\t\t\t{\n\t\t\t\tif (mut.preventGenSteps.Any())\n\t\t\t\t{\n\t\t\t\t\tenumerable = enumerable.Where((GenStepWithParams step) => !mut.preventGenSteps.Contains(step.def));\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (extraGenStepDefs != null)\n\t\t\t{\n\t\t\t\tenumerable = enumerable.Concat(extraGenStepDefs);\n\t\t\t}\n\t\t\tenumerable = enumerable.Distinct();\n\t\t\tmap.areaManager.AddStartingAreas();\n\t\t\tmap.weatherDecider.StartInitialWeather();\n\t\t\tDeepProfiler.Start(\"Generate contents into map\");\n\t\t\tGenerateContentsIntoMap(enumerable, map, seed, stepDebugger);\n\t\t\tDeepProfiler.End();\n\t\t\tFind.Scenario.PostMapGenerate(map);\n\t\t\tDeepProfiler.Start(\"Finalize map init\");\n\t\t\tmap.FinalizeInit();\n\t\t\tDeepProfiler.End();\n\t\t\tDeepProfiler.Start(\"MapComponent.MapGenerated()\");\n\t\t\tMapComponentUtility.MapGenerated(map);\n\t\t\tDeepProfiler.End();\n\t\t\tparent?.PostMapGenerate();\n\t\t\tDeepProfiler.Start(\"Map generator post init\");\n\t\t\tif (!stepDebugger)\n\t\t\t{\n\t\t\t\tMapGeneratorPostInit(enumerable, map);\n\t\t\t}\n\t\t\tDeepProfiler.End();\n\t\t\tif (gravship != null && !stepDebugger && (bool)map.Parent.CanBeSettled)\n\t\t\t{\n\t\t\t\tGravshipUtility.SettleTile(map);\n\t\t\t}\n\t\t\tif (map.TileInfo.Layer.Def.isSpace)\n\t\t\t{\n\t\t\t\tLessonAutoActivator.TeachOpportunity(ConceptDefOf.Orbit, OpportunityType.Critical);\n\t\t\t}\n\t\t\treturn map;\n\t\t}\n\t\tfinally\n\t\t{\n\t\t\tDeepProfiler.End();\n\t\t\tif (!stepDebugger)\n\t\t\t{\n\t\t\t\tClearWorkingData();\n\t\t\t\tmapBeingGenerated = null;\n\t\t\t\tgravship = null;\n\t\t\t}\n\t\t\tCurrent.ProgramState = programState;\n\t\t\tRand.PopState();\n\t\t}\n\t\tstatic GenStepWithParams GetGenStepParms(GenStepDef x)\n\t\t{\n\t\t\treturn new GenStepWithParams(x, default(GenStepParams));\n\t\t}\n\t\tstatic bool IsValidBiome(GenStepDef g)\n\t\t{\n\t\t\treturn !Find.Scenario.parts.Any((ScenPart p) => typeof(ScenPart_DisableMapGen).IsAssignableFrom(p.def.scenPartClass) && p.def.genStep == g);\n\t\t}\n\t}\n\n\tpublic static bool DebugDoNextGenStep(Map map)\n\t{\n\t\tif (debugGenStepIndex >= tmpGenSteps.Count)\n\t\t{\n\t\t\tClearDebugMode();\n\t\t\treturn false;\n\t\t}\n\t\tGenStepWithParams genStepWithParams = tmpGenSteps[debugGenStepIndex];\n\t\tLog.Message(\"Doing gen step \" + genStepWithParams.def.defName);\n\t\tRand.PushState(Gen.HashCombineInt(debugSeed, GetSeedPart(tmpGenSteps, debugGenStepIndex)));\n\t\ttry\n\t\t{\n\t\t\tGenStepParams parms = genStepWithParams.parms;\n\t\t\tif (gravship != null)\n\t\t\t{\n\t\t\t\tparms.gravship = gravship;\n\t\t\t}\n\t\t\tgenStepWithParams.def.genStep.Generate(map, parms);\n\t\t\tgenStepWithParams.def.genStep.PostMapInitialized(map, parms);\n\t\t}\n\t\tcatch (Exception arg)\n\t\t{\n\t\t\tLog.Error($\"Error stepping GenStep {genStepWithParams.def.defName}: {arg}\");\n\t\t}\n\t\tRand.PopState();\n\t\tmap.FinalizeInit();\n\t\tdebugGenStepIndex++;\n\t\treturn true;\n\t}\n\n\tpublic static void ClearDebugMode()\n\t{\n\t\tdebugMode = false;\n\t\tdebugSeed = 0;\n\t\tdebugGenStepIndex = 0;\n\t}\n\n\tpublic static void MapGeneratorPostInit(IEnumerable genStepDefs, Map map)\n\t{\n\t\ttmpGenSteps.Clear();\n\t\ttmpGenSteps.AddRange(from x in genStepDefs\n\t\t\torderby x.def.order, x.def.index\n\t\t\tselect x);\n\t\ttmpGenSteps.RemoveWhere((GenStepWithParams a) => tmpGenSteps.Any((GenStepWithParams b) => b.def.preventsGenSteps != null && b.def.preventsGenSteps.Contains(a.def)));\n\t\tfor (int i = 0; i < tmpGenSteps.Count; i++)\n\t\t{\n\t\t\tGenStepParams parms = tmpGenSteps[i].parms;\n\t\t\tif (gravship != null)\n\t\t\t{\n\t\t\t\tparms.gravship = gravship;\n\t\t\t}\n\t\t\ttmpGenSteps[i].def.genStep.PostMapInitialized(map, parms);\n\t\t}\n\t}\n\n\tpublic static void GenerateContentsIntoMap(IEnumerable genStepDefs, Map map, int seed, bool stepDebugger = false)\n\t{\n\t\tClearWorkingData();\n\t\tif (ModsConfig.OdysseyActive)\n\t\t{\n\t\t\tforeach (GenStepWithParams genStepDef in genStepDefs)\n\t\t\t{\n\t\t\t\tif (genStepDef.def == GenStepDefOf.GravshipMarker)\n\t\t\t\t{\n\t\t\t\t\tgravship = genStepDef.parms.gravship;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tRand.PushState();\n\t\ttry\n\t\t{\n\t\t\tRand.Seed = seed;\n\t\t\tRockNoises.Init(map);\n\t\t\ttmpGenSteps.Clear();\n\t\t\ttmpGenSteps.AddRange(from x in genStepDefs\n\t\t\t\torderby x.def.order, x.def.index\n\t\t\t\tselect x);\n\t\t\ttmpGenSteps.RemoveWhere((GenStepWithParams a) => tmpGenSteps.Any((GenStepWithParams b) => b.def.preventsGenSteps != null && b.def.preventsGenSteps.Contains(a.def)));\n\t\t\tif (stepDebugger)\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tfor (int i = 0; i < tmpGenSteps.Count; i++)\n\t\t\t{\n\t\t\t\tDeepProfiler.Start(\"GenStep - \" + tmpGenSteps[i].def);\n\t\t\t\ttry\n\t\t\t\t{\n\t\t\t\t\tGenStepParams parms = tmpGenSteps[i].parms;\n\t\t\t\t\tif (gravship != null)\n\t\t\t\t\t{\n\t\t\t\t\t\tparms.gravship = gravship;\n\t\t\t\t\t}\n\t\t\t\t\tRand.PushState();\n\t\t\t\t\tRand.Seed = Gen.HashCombineInt(seed, GetSeedPart(tmpGenSteps, i));\n\t\t\t\t\ttmpGenSteps[i].def.genStep.Generate(map, parms);\n\t\t\t\t\tif (map.pathing.IncrementalDirtyingDisabled)\n\t\t\t\t\t{\n\t\t\t\t\t\tLog.Error($\"Genstep [{i}] {tmpGenSteps[i].def} ended with path incremental dirtying disabled, for safety reasons it must be reenabled before returning.\");\n\t\t\t\t\t\tmap.pathing.ReEnableIncrementalDirtying();\n\t\t\t\t\t}\n\t\t\t\t\tRand.PopState();\n\t\t\t\t}\n\t\t\t\tcatch (Exception arg)\n\t\t\t\t{\n\t\t\t\t\tLog.Error($\"Error in GenStep: {arg}\");\n\t\t\t\t}\n\t\t\t\tfinally\n\t\t\t\t{\n\t\t\t\t\tDeepProfiler.End();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tfinally\n\t\t{\n\t\t\tif (!stepDebugger)\n\t\t\t{\n\t\t\t\tRand.PopState();\n\t\t\t\tRockNoises.Reset();\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate static void ClearWorkingData()\n\t{\n\t\tif (Prefs.DevMode && TryGetVar>(\"UsedRects\", out var var))\n\t\t{\n\t\t\tcachedUsedRects = var.ToList();\n\t\t}\n\t\tforeach (KeyValuePair datum in data)\n\t\t{\n\t\t\tdatum.Deconstruct(out var _, out var value);\n\t\t\tif (value is IDisposable disposable)\n\t\t\t{\n\t\t\t\tdisposable.Dispose();\n\t\t\t}\n\t\t}\n\t\tdata.Clear();\n\t}\n\n\tpublic static void DebugDraw()\n\t{\n\t\tif (!DebugViewSettings.drawUsedRects)\n\t\t{\n\t\t\treturn;\n\t\t}\n\t\tfloat y = AltitudeLayer.MetaOverlays.AltitudeFor();\n\t\tforeach (CellRect cachedUsedRect in cachedUsedRects)\n\t\t{\n\t\t\tGenDraw.DrawLineBetween(new Vector3(cachedUsedRect.minX, y, cachedUsedRect.minZ), new Vector3(cachedUsedRect.minX, y, cachedUsedRect.maxZ + 1), SimpleColor.Red);\n\t\t\tGenDraw.DrawLineBetween(new Vector3(cachedUsedRect.maxX + 1, y, cachedUsedRect.minZ), new Vector3(cachedUsedRect.maxX + 1, y, cachedUsedRect.maxZ + 1), SimpleColor.Red);\n\t\t\tGenDraw.DrawLineBetween(new Vector3(cachedUsedRect.minX, y, cachedUsedRect.minZ), new Vector3(cachedUsedRect.maxX + 1, y, cachedUsedRect.minZ), SimpleColor.Red);\n\t\t\tGenDraw.DrawLineBetween(new Vector3(cachedUsedRect.minX, y, cachedUsedRect.maxZ + 1), new Vector3(cachedUsedRect.maxX + 1, y, cachedUsedRect.maxZ + 1), SimpleColor.Red);\n\t\t}\n\t}\n\n\tpublic static T GetVar(string name)\n\t{\n\t\tif (data.TryGetValue(name, out var value))\n\t\t{\n\t\t\treturn (T)value;\n\t\t}\n\t\treturn default(T);\n\t}\n\n\tpublic static bool TryGetVar(string name, out T var)\n\t{\n\t\tif (data.TryGetValue(name, out var value))\n\t\t{\n\t\t\tvar = (T)value;\n\t\t\treturn true;\n\t\t}\n\t\tvar = default(T);\n\t\treturn false;\n\t}\n\n\tpublic static T GetOrGenerateVar(string name)\n\t{\n\t\tT var = GetVar(name);\n\t\tif (var != null)\n\t\t{\n\t\t\treturn var;\n\t\t}\n\t\tvar = (T)Activator.CreateInstance(typeof(T));\n\t\tSetVar(name, var);\n\t\treturn var;\n\t}\n\n\tpublic static void SetVar(string name, T var)\n\t{\n\t\tdata[name] = var;\n\t}\n\n\tpublic static MapGenFloatGrid FloatGridNamed(string name)\n\t{\n\t\tMapGenFloatGrid var = GetVar(name);\n\t\tif (var != null)\n\t\t{\n\t\t\treturn var;\n\t\t}\n\t\tMapGenFloatGrid mapGenFloatGrid = new MapGenFloatGrid(mapBeingGenerated);\n\t\tSetVar(name, mapGenFloatGrid);\n\t\treturn mapGenFloatGrid;\n\t}\n\n\tprivate static int GetSeedPart(List genSteps, int index)\n\t{\n\t\tint seedPart = genSteps[index].def.genStep.SeedPart;\n\t\tint num = 0;\n\t\tfor (int i = 0; i < index; i++)\n\t\t{\n\t\t\tif (tmpGenSteps[i].def.genStep.SeedPart == seedPart)\n\t\t\t{\n\t\t\t\tnum++;\n\t\t\t}\n\t\t}\n\t\treturn seedPart + num;\n\t}\n}\n\n", "timestamp": "2025-08-25 11:39:55,702" }, "Map-destroyed-null": { "keywords": [ "Map", "destroyed", "null" ], "question": "Map check if destroyed or null methods", "embedding": [ -0.02629806287586689, 0.017614584416151047, 0.04774262011051178, -0.02765176072716713, -0.06454829126596451, 0.004985571373254061, 0.03275289013981819, 0.02378876879811287, -0.00615354860201478, 0.06979799270629883, 0.028411151841282845, -0.04450695216655731, -0.005068113561719656, -0.005806869827210903, -0.006520863156765699, 0.04354945942759514, -0.017614584416151047, -0.12216300517320633, -0.021972831338644028, 0.006743727717548609, -0.002952960319817066, 0.015361172147095203, 0.01943052001297474, 0.005736708641052246, -0.02185727283358574, 0.002154360990971327, 0.030953463166952133, 0.07508072257041931, -0.057383593171834946, 0.0034956778399646282, 0.004399518948048353, 0.016673598438501358, 0.03800259903073311, -0.05157259851694107, 0.04067697748541832, 0.01037560123950243, -0.03413960710167885, 0.02814701572060585, 0.030623292550444603, 0.013305862434208393, -0.04985571280121803, 0.004275705199688673, -0.0065910243429243565, 0.007313271518796682, 0.03394150361418724, 0.06695853173732758, 0.03595554456114769, -0.026314571499824524, -0.0497896783053875, 0.020388014614582062, -0.010581957176327705, 0.052166905254125595, 0.003889818675816059, -0.058242037892341614, 0.018951773643493652, 0.014964967966079712, -0.020685167983174324, -0.02514246664941311, -0.021725203841924667, 0.0003776322409976274, 0.015509748831391335, 0.029698817059397697, -0.017565058544278145, -0.019215909764170647, 0.07316572964191437, -0.03744130954146385, -0.04381359741091728, 0.020965812727808952, 0.009533667005598545, -0.03836578503251076, 0.03300051763653755, 0.012686792761087418, -0.033875469118356705, 0.0008321322966367006, -0.024548159912228584, -0.002750731073319912, 0.012075977399945259, 0.01618659868836403, 0.003906327299773693, -0.02177472971379757, 0.0221049003303051, -0.012967437505722046, 0.0015476731350645423, 0.010796568356454372, -0.025753282010555267, 0.026892369613051414, 0.005773852579295635, -0.07587312906980515, -0.04843597859144211, 0.1151633933186531, -0.0015311646275222301, 0.014857662841677666, 0.017482515424489975, -0.005831632297486067, 0.01967814937233925, -0.025406602770090103, -0.01934797875583172, 0.015641815960407257, 0.0108460932970047, 0.04972364380955696, -0.010573702864348888, 0.0012082168832421303, 0.008947614580392838, 0.06263329833745956, -0.01934797875583172, 0.11225789040327072, -0.06134563684463501, 0.009938125498592854, -0.024878330528736115, 0.00397648848593235, -0.017515532672405243, -0.06322760879993439, 0.01799428090453148, 0.023904327303171158, -0.001963481307029724, 0.03204302489757538, 0.023359546437859535, -0.011126738041639328, -0.008266638033092022, -0.0004067801055498421, 0.06603405624628067, -0.031498245894908905, -0.016954243183135986, -0.01025178749114275, -0.015394189395010471, -0.012546470388770103, 0.03275289013981819, -0.003995060455054045, -0.0045852395705878735, 0.004164272453635931, 0.018621603026986122, -0.014593525789678097, -0.014271610416471958, -0.00044779342715628445, -0.05513843521475792, -0.029203560203313828, 0.018605094403028488, 0.0033966267947107553, -0.018555570393800735, 0.031993500888347626, -0.0024865949526429176, 0.016326921060681343, 0.020189912989735603, -0.03440374135971069, 0.06979799270629883, -0.03562537208199501, -0.05021889880299568, -0.00994637981057167, 0.0014723531203344464, -0.011531196534633636, 0.017432991415262222, -0.013569998554885387, -0.010392109863460064, 0.046785127371549606, -0.020932795479893684, 0.0024081794545054436, 0.012018198147416115, -0.05900142714381218, 0.029962953180074692, -0.056227996945381165, 0.001328935381025076, 0.034172624349594116, -0.017779668793082237, -0.00576147111132741, 0.019744182005524635, 0.007379305548965931, -0.02094930410385132, 0.034007538110017776, -0.04952554032206535, -0.042096711695194244, -0.017763160169124603, 0.016937734559178352, -0.05256310850381851, -0.002891053445637226, 0.0442098006606102, -0.021510593593120575, 0.013388404622673988, 0.053520601242780685, -0.0253075510263443, -0.055567655712366104, 0.08340100944042206, 0.021295983344316483, 0.02950071357190609, -0.03082139603793621, 0.020553098991513252, -0.07494865357875824, 0.009409853257238865, 0.039092160761356354, 0.022781748324632645, 0.00514652905985713, 0.02922006882727146, -0.01758156716823578, 0.039884570986032486, -0.0018045869655907154, 0.0100454306229949, -0.02930261194705963, 0.009327310137450695, -0.014172558672726154, -0.06893955171108246, -0.0025485018268227577, 0.03866294026374817, 0.007812654599547386, 0.018440010026097298, -0.017862211912870407, -0.0034977414179593325, -0.01243091095238924, -0.007915832102298737, -0.011159755289554596, 0.0321255661547184, -0.017119329422712326, 0.07692967355251312, -0.014123033732175827, 0.032851941883563995, -8.45416434458457e-05, -0.018390484154224396, -0.04064396023750305, -0.022946834564208984, -0.015963733196258545, 0.006194819696247578, 0.026265045627951622, -0.023194462060928345, 0.037540361285209656, 0.027106979861855507, 0.0070780254900455475, -0.0019077651668339968, -0.051506564021110535, 0.023937344551086426, 0.007767255883663893, 0.03427167609333992, 0.01574086770415306, -0.03849785402417183, 0.001762283849529922, -0.0305737666785717, 0.029071493074297905, 0.0020831681322306395, -0.014263356104493141, -0.05431301146745682, -0.0011762316571548581, -0.0021770603489130735, 0.0010844030184671283, -0.050483036786317825, 0.04269101843237877, -0.013041726313531399, 0.05883634462952614, -0.007618679199367762, -0.0353282205760479, -0.018687637522816658, 0.03347926586866379, 0.01989275962114334, -0.015022747218608856, 0.03816768527030945, 0.0026062815450131893, -0.01873716339468956, -0.06088339909911156, -0.006747854873538017, -0.003144871909171343, 0.004267450887709856, -0.02218744345009327, 0.048832185566425323, -0.04572858288884163, -0.03767243027687073, 0.026199011132121086, -0.01926543563604355, 0.01436240691691637, -0.03288495913147926, 0.025654230266809464, 0.016838684678077698, 0.02704094536602497, -0.08280670642852783, -0.09238164126873016, -0.0134792011231184, 0.03681398555636406, 0.01754854992032051, -0.04153542220592499, 0.014090016484260559, -0.014618288725614548, 0.021593136712908745, 0.03843181952834129, 0.013215065002441406, -0.014676068909466267, 0.004073475953191519, 0.02177472971379757, 0.012901403941214085, 0.028130507096648216, 0.010400363244116306, 0.04909631982445717, 0.040577925741672516, 0.015319900587201118, 0.032901469618082047, -0.027800336480140686, 0.010524177923798561, 0.037408292293548584, 0.001700376975350082, 0.020371505990624428, 0.005010333843529224, -0.022385545074939728, -0.02022293023765087, 0.0074948654510080814, -0.01976069062948227, 0.019744182005524635, -0.010854347608983517, -0.01273631863296032, -0.005187800619751215, -0.00043799151899293065, 0.04163447022438049, -0.07078851014375687, -0.014040490612387657, -0.11456908285617828, 0.03516313433647156, -0.04605875536799431, 0.017515532672405243, 0.04034680873155594, -0.05078018829226494, 0.01771363615989685, -0.0015734677435830235, 0.035196151584386826, -0.04734641686081886, -0.0014331453712657094, 0.011242297478020191, -8.08014374342747e-05, 0.04655401036143303, -0.016615819185972214, -0.0007810590323060751, 0.0035493304021656513, 0.02753620035946369, 0.0013629841851070523, 0.0032047152053564787, 0.0006680788937956095, -0.020701676607131958, -0.005047478247433901, 0.0006969688110984862, 0.006025607697665691, -0.013388404622673988, -0.022501103579998016, -0.04051189124584198, -0.02403639629483223, -0.0019490363774821162, -0.012562979012727737, 0.056723251938819885, 0.008823800832033157, -0.012521707452833652, -0.026842843741178513, -0.04034680873155594, -0.024234497919678688, 0.012051215395331383, 0.0305737666785717, 0.021972831338644028, 0.03684700280427933, 0.014577018097043037, 0.002003720961511135, -0.050350967794656754, 0.010879110544919968, -0.018671128898859024, 0.039059143513441086, 0.03245573863387108, -0.0660010352730751, 0.03476693108677864, -0.013116014190018177, -0.020965812727808952, -0.0018850659253075719, 0.0027961295563727617, 0.02296334318816662, -0.024333549663424492, 0.04321929067373276, -0.013248082250356674, -0.011919147334992886, -0.0016322792507708073, 0.04298816993832588, -0.0061411671340465546, 0.02880735695362091, -0.004527459852397442, -0.022055374458432198, 0.04516729339957237, 0.010400363244116306, -0.05210087075829506, 0.07105264067649841, -0.006871669087558985, -0.026265045627951622, 0.03800259903073311, -0.010920382104814053, 0.046818144619464874, 0.03869595751166344, -0.033347196877002716, -0.061576757580041885, -0.0014228274812921882, -0.020767711102962494, -0.02855972945690155, 0.014329389669001102, -0.0022307129111140966, -0.07204315066337585, 0.05517145246267319, 0.0061741843819618225, -0.02198933996260166, -0.0029797868337482214, -0.06266631931066513, 0.019414011389017105, -0.007094533648341894, 0.0334627591073513, 0.008832055144011974, -0.016838684678077698, -0.006281489506363869, -0.008576173335313797, 0.04817184433341026, -0.03024359792470932, 0.03007851168513298, -0.015427205711603165, 0.045266345143318176, -0.02477927878499031, -0.02378876879811287, -0.021213440224528313, 0.00762280635535717, -0.04064396023750305, 0.0507141537964344, 0.07818432152271271, -0.04827089607715607, -0.0069913556799292564, 0.01139912847429514, -0.016170090064406395, 0.05124242603778839, -0.00315312622115016, -0.012818860821425915, -0.009319055825471878, -0.032241128385066986, -0.004354120697826147, 0.008217113092541695, 0.02707396261394024, 0.05124242603778839, 0.01581515558063984, -0.017862211912870407, 0.043087221682071686, -0.0024164337664842606, -0.03073885291814804, 0.001964513212442398, 0.05444507673382759, 0.002282302128151059, -0.011316586285829544, -0.03390848636627197, -0.014519237913191319, -0.02022293023765087, -0.013751591555774212, 0.021626153960824013, -0.005588131956756115, -0.025324059650301933, -0.02588534913957119, -0.04605875536799431, -0.0732317641377449, 0.052662160247564316, -0.01713583804666996, 0.023475106805562973, 0.040577925741672516, -0.022913817316293716, -0.0041539547964930534, 0.01401572860777378, 0.022567138075828552, -0.008906343020498753, 0.029467696323990822, -0.0185390617698431, -0.033347196877002716, -0.02707396261394024, 0.015501494519412518, 0.06111451983451843, 0.0055386065505445, -0.02884037420153618, 0.012629013508558273, -0.002034674398601055, 0.007940595038235188, -0.017482515424489975, -0.008126315660774708, -0.005435428116470575, -0.04094111546874046, 0.012992200441658497, 0.027585726231336594, 0.014048744924366474, -0.020041335374116898, 0.02568724751472473, -0.06629819422960281, -0.008592681027948856, 0.048468995839357376, 0.002496912609785795, 0.017350448295474052, 0.02403639629483223, 0.010656245984137058, -0.030177563428878784, 0.0031882068142294884, -0.05196880176663399, -0.06045417860150337, -0.02326049655675888, -0.03668191656470299, 0.025489145889878273, -0.05431301146745682, -0.04070999473333359, 0.0002311191929038614, 0.01741648279130459, 0.01721837930381298, -0.015716105699539185, 0.022286493331193924, 0.010780059732496738, -0.0008352276054210961, 0.008134569972753525, -0.07673157006502151, 0.002602154389023781, 0.023326529189944267, -0.01631866581737995, -0.040776029229164124, 0.06758585572242737, -0.004341739229857922, -0.07481658458709717, 0.031052514910697937, -0.052860260009765625, -0.031250618398189545, -0.001946972799487412, -0.020487066358327866, 0.03592252731323242, -0.019958794116973877, 0.015749122947454453, 0.024416092783212662, 0.0402807742357254, 0.07448641210794449, -0.0065414984710514545, 0.012257571332156658, 0.006871669087558985, -0.053025346249341965, -0.020899778231978416, -0.032191600650548935, -0.030540751293301582, 0.026859352365136147, 0.01444495003670454, -0.01374333817511797, -0.05262914299964905, -0.02177472971379757, -0.03929026424884796, 0.03126712515950203, 0.01943052001297474, -0.0074701025150716305, 0.07342986762523651, 0.01163024827837944, -0.019083842635154724, -0.011374366469681263, 0.032191600650548935, 0.016409462317824364, 0.0075402637012302876, -0.027338098734617233, -0.008345053531229496, -0.021840764209628105, 0.024647211655974388, -0.057416610419750214, 0.005249707493931055, 0.01931496150791645, -0.010771805420517921, -0.005179546307772398, 0.002234840067103505, 0.02704094536602497, 0.04936045780777931, -0.005617022048681974, 0.027998439967632294, -0.0033099569845944643, 0.029814375564455986, 0.043285321444272995, 0.00846061296761036, 0.0012897276319563389, -0.01749902404844761, -0.05292629450559616, -0.008898088708519936, -0.009112699888646603, 0.019248927012085915, -0.034337710589170456, 0.0035513939801603556, 0.009896853938698769, -0.050020795315504074, 0.01885272189974785, -0.07877862453460693, 0.007024372462183237, -0.026809826493263245, 0.028873391449451447, -0.01099466998130083, 0.03225763514637947, -0.018423501402139664, 0.030276615172624588, 0.04774262011051178, 0.010903873480856419, 0.0007206997834146023, 0.009294292889535427, -0.03232366964221001, -0.04318627342581749, 0.011374366469681263, -0.021345509216189384, -0.00038304910412989557, 0.022484594956040382, 0.049294423311948776, -0.02704094536602497, 0.06359079480171204, -0.032356686890125275, -0.06299649178981781, -0.009756531566381454, -0.0098638366907835, 0.05120940878987312, 0.017036786302924156, 0.04655401036143303, 0.017267905175685883, 0.0457616001367569, -0.029368646442890167, -0.03783751279115677, -0.006813888903707266, -0.009228259325027466, -0.018390484154224396, 0.026149485260248184, -0.00011884840205311775, -0.014370661228895187, 0.040743011981248856, 0.014048744924366474, -0.029071493074297905, 0.04034680873155594, -0.03579045832157135, -0.007626933511346579, -0.011002924293279648, 0.01569959707558155, 0.02855972945690155, -0.00483699468895793, -0.03068932704627514, 0.005216690246015787, 0.04199765995144844, -0.0060544973239302635, -0.003656635759398341, -0.022666189819574356, 0.005357012618333101, -0.011308331973850727, 0.05451111122965813, -0.002851845696568489, 0.025241518393158913, 0.0060462430119514465, -0.02136201597750187, -0.04962459206581116, 0.0082625113427639, 0.030623292550444603, 0.051869750022888184, -0.016211360692977905, 0.014073507860302925, 0.01374333817511797, 0.007705349009484053, -0.019100351259112358, -0.010367346927523613, -0.017119329422712326, -0.021345509216189384, 0.03278590738773346, -0.0007083184318616986, 0.004046649672091007, -0.0070697711780667305, 0.0012577424058690667, 0.033545300364494324, -0.008675224147737026, 0.024217989295721054, 0.04807279258966446, 0.004147764295339584, -0.018192382529377937, -0.00912095420062542, -0.0393562987446785, -0.0002057115634670481, -0.02400337904691696, 0.011745807714760303, -0.04886519908905029, -0.06217106431722641, -0.05325646698474884, -0.01659931056201458, 0.0016508513363078237, -0.008349181152880192, -0.03645079955458641, 0.004973189905285835, -0.014742102473974228, 0.035889510065317154, 0.025373585522174835, 0.014865917153656483, -0.0008223303593695164, -0.015435460023581982, -0.01684693805873394, 0.02149408496916294, 0.012298842892050743, -0.09944728761911392, -0.026809826493263245, 0.07283556461334229, 0.002156424568966031, 0.051671646535396576, 0.01565007120370865, -0.02489483915269375, -0.006570388562977314, -0.0013413167325779796, -0.003809339599683881, 0.02157662808895111, -0.002612472278997302, -0.009327310137450695, 0.034007538110017776, -0.014395424164831638, -0.01025178749114275, 0.0651756152510643, 0.02226998470723629, -0.038200702518224716, -0.030639801174402237, -0.014494474977254868, -0.011349603533744812, 0.010656245984137058, 0.058076951652765274, -0.06775093823671341, -0.05289327725768089, -0.0418325737118721, 0.016508514061570168, 0.048502013087272644, -0.03635174781084061, 0.008600935339927673, 0.0014661623863503337, 0.004952554125338793, 0.05276121199131012, -0.007296762894839048, 0.01574086770415306, -0.017482515424489975, -0.0293851550668478, -0.0032872578594833612, 0.053322501480579376, 0.023640191182494164, -0.004618256818503141, -0.008972377516329288, 0.00728438189253211, 0.012340114451944828, 0.009847328066825867, -0.035196151584386826, -0.014725594781339169, 0.007465975359082222, 0.02753620035946369, 0.01680566743016243, -0.013949694111943245, -0.021642660722136497, 0.027057453989982605, -0.019744182005524635, -0.05461016297340393, -0.011002924293279648, 0.01733393967151642, -0.032686855643987656, -0.03473391383886337, 0.02284778282046318, -0.02111438848078251, -0.04582763463258743, -0.02099882997572422, -0.043615493923425674, -0.025934875011444092, 0.05903444439172745, -0.02930261194705963, 0.07475055009126663, -0.0007789955125190318, -0.01845651865005493, 0.057911865413188934, -0.02099882997572422, -0.028014948591589928, 0.03172936290502548, -0.005947192199528217, 0.021642660722136497, -0.01959560625255108, 0.012579487636685371, 0.021956322714686394, 0.04087508097290993, 0.06398700177669525, 0.016417717561125755, 0.007503119297325611, 0.028163524344563484, 0.0035183769650757313, -0.006438320502638817, 0.01080482266843319, -0.04836994409561157, 0.03225763514637947, 0.007527882233262062, 0.02157662808895111, -0.0642511323094368, -0.037903547286987305, -0.014898933470249176, -0.00017953009228222072, 0.003702034242451191, 0.06814714521169662, -0.0016271204221993685, 0.023310022428631783, 0.026760300621390343, -0.023937344551086426, 0.0253570768982172, -0.013272845186293125, 0.050846222788095474, 0.019100351259112358, -0.02099882997572422, 0.019199401140213013, 0.014048744924366474, -0.027833353728055954, -0.036880020052194595, -0.007759001571685076, 0.020685167983174324, -0.007189457770437002, 0.02132900059223175, -0.033264655619859695, 0.03714415431022644, 0.02728857286274433, -0.044936176389455795, -0.011283569037914276, 0.006789126433432102, 0.021873781457543373, 0.013124268501996994, -0.0007093502208590508, 0.01615358144044876, -0.03496503084897995, 0.008799037896096706, 0.0, -0.01163024827837944, 0.017532041296362877, -0.008390451781451702, 0.03065630979835987, 0.02472975291311741, -0.030062003061175346, 0.007193584926426411, 0.02207188308238983, 0.04031379148364067, 0.04975666105747223, -0.015270375646650791, -0.0074701025150716305, -0.0010926572140306234, 0.016739632934331894, -0.008208858780562878, -0.008799037896096706, 0.004502696916460991, 0.0546431802213192, 0.025654230266809464, -0.0028704178985208273, 0.028378134593367577, 0.004370628856122494, -0.01148167159408331, 0.02342558093369007, 0.027106979861855507, -0.02309541031718254, 0.020024826750159264, -0.026083452627062798, -0.020932795479893684, 0.00916222482919693, -0.0050722407177090645, 0.007395814172923565, -0.013157285749912262, -0.026512673124670982, -0.0313991941511631, 0.057185493409633636, -0.05969478562474251, -0.007371051236987114, 0.006929448805749416, -0.0136607950553298, 0.004259196575731039, -0.013347133062779903, 0.007003737147897482, -0.004059030674397945, -0.011473417282104492, -0.013702066615223885, -0.034172624349594116, -0.03306655213236809, 0.014411932788789272, -0.0080313915386796, 0.014709086157381535, 0.07494865357875824, 0.0168882105499506, -0.010086702182888985, 0.006219582632184029, 0.020800726488232613, -0.004267450887709856, -0.01680566743016243, 0.011935655027627945, -0.01705329492688179, -0.0018355404026806355, -0.01503925584256649, 0.06418510526418686, 0.006289743818342686, 0.02966579981148243, 0.04037982597947121, 0.015394189395010471, 0.0237557515501976, 0.0031180456280708313, 0.05827505514025688, 0.008353307843208313, -0.03456882759928703, -0.012959183193743229, 0.011126738041639328, -0.01335538737475872, -0.03513011708855629, -0.05606291443109512, -0.053025346249341965, 0.009434615261852741, -0.02444910816848278, 0.005823378451168537, 0.02662823349237442, -0.011811841279268265, 0.02448212541639805, -0.017862211912870407, 0.019463537260890007, 0.06481242179870605, -0.046454958617687225, 0.0041209375485777855, 0.020784219726920128, 0.0014733849093317986, 0.04272403195500374, -0.035031065344810486, -0.004535714164376259, -0.02255062945187092, -0.008947614580392838, 0.02276523970067501, -0.08175016194581985, 0.02033848874270916, -0.04084206372499466, 0.006809761747717857, -0.08736305683851242, -0.02715650573372841, -0.009054919704794884, 0.0018582396442070603, 0.022402053698897362, -0.016838684678077698, 0.006322760600596666, 0.030837904661893845, -0.010606720112264156, -0.004787468817085028, -0.01175406202673912, -0.04648797586560249, 0.02831210196018219, 0.014535746537148952, -0.010887364856898785, 0.005319868680089712, 0.00011710727267200127, 0.004597621038556099, 0.012538216076791286, 0.0009342787088826299, -0.0014362407382577658, -0.03423865884542465, -0.06685948371887207, -0.012868386693298817, -0.04031379148364067, -9.402114665135741e-05, 0.05005381256341934, 0.0200908612459898, -0.03479994833469391, -0.0273711159825325, 0.024548159912228584, -0.04434186965227127, -0.07296763360500336, -0.011267060413956642, -0.02560470439493656, -0.0004441821947693825, -0.05735057592391968, 0.02834511734545231, 0.025489145889878273, 0.010458143427968025, 0.018506044521927834, 0.007602170575410128, -0.04054490849375725, -0.012934420257806778, -0.001360920607112348, -0.026479655876755714, -0.015435460023581982, 0.0273711159825325, -0.07012816518545151, -0.003594728885218501, 0.04810580983757973, -0.0032026516273617744, 0.007338034454733133, -0.012662029825150967, -0.018836215138435364, -0.015798646956682205, 0.05563369020819664, 0.021180422976613045, -0.06834524869918823, 0.03331417962908745, -0.04995476454496384, 0.01779617741703987, 0.05243103951215744, 0.005505589302629232, 0.039587415754795074, 0.030012477189302444, 0.023194462060928345, 0.01787872053682804, -0.02359066531062126, 0.02809748984873295, -0.06547276675701141, -0.04483712464570999, -0.03938931226730347, -0.0450352244079113, -0.04381359741091728, 0.004853502847254276, 0.00695421127602458, -0.008898088708519936, -0.0028559728525578976, 0.002255475614219904, -0.07844845950603485, 0.0027177140582352877, -0.013611269183456898, 0.037408292293548584, -0.009418107569217682, -0.0011741680791601539, -0.04288911819458008, -0.00010717636905610561, -0.011960417963564396, 0.06761886924505234, -0.04500220715999603, -0.024383075535297394, -0.028113998472690582, -0.018307941034436226, 0.006702456623315811, -0.00014793175796512514, -0.035724423825740814, 0.013999219983816147, -0.017036786302924156, 0.021642660722136497, 0.019034316763281822, -0.08023137599229813, -0.008526647463440895, -0.016260886564850807, -0.038035616278648376, 0.07204315066337585, -0.014139542356133461, 0.0325382798910141, -0.007915832102298737, 0.031415700912475586, 0.01738346554338932, -0.03065630979835987, 0.002313255565240979, -0.0005370425642468035, 0.0007944722310639918, 0.0011586913606151938, 0.023409072309732437, 0.00926953088492155, 0.02359066531062126 ], "result": "--- 结果 1 (相似度: 1.000) ---\n文件路径: C:\\Steam\\steamapps\\common\\RimWorld\\Data\\dll1.6\\Verse\\Map.txt\n\npublic sealed class Map : IIncidentTarget, ILoadReferenceable, IThingHolder, IExposable, IDisposable\n{\n\tpublic MapFileCompressor compressor;\n\n\tprivate List loadedFullThings;\n\n\tpublic MapGeneratorDef generatorDef;\n\n\tpublic int uniqueID = -1;\n\n\tpublic int generationTick;\n\n\tpublic bool wasSpawnedViaGravShipLanding;\n\n\tprivate Color? fogOfWarColor;\n\n\tprivate OrbitalDebrisDef orbitalDebris;\n\n\tprivate int generatedId;\n\n\tpublic MapInfo info = new MapInfo();\n\n\tpublic MapEvents events;\n\n\tpublic List components = new List();\n\n\tpublic ThingOwner spawnedThings;\n\n\tpublic CellIndices cellIndices;\n\n\tpublic ListerThings listerThings;\n\n\tpublic ListerBuildings listerBuildings;\n\n\tpublic MapPawns mapPawns;\n\n\tpublic DynamicDrawManager dynamicDrawManager;\n\n\tpublic MapDrawer mapDrawer;\n\n\tpublic PawnDestinationReservationManager pawnDestinationReservationManager;\n\n\tpublic TooltipGiverList tooltipGiverList;\n\n\tpublic ReservationManager reservationManager;\n\n\tpublic EnrouteManager enrouteManager;\n\n\tpublic PhysicalInteractionReservationManager physicalInteractionReservationManager;\n\n\tpublic DesignationManager designationManager;\n\n\tpublic LordManager lordManager;\n\n\tpublic PassingShipManager passingShipManager;\n\n\tpublic HaulDestinationManager haulDestinationManager;\n\n\tpublic DebugCellDrawer debugDrawer;\n\n\tpublic GameConditionManager gameConditionManager;\n\n\tpublic WeatherManager weatherManager;\n\n\tpublic ZoneManager zoneManager;\n\n\tpublic PlanManager planManager;\n\n\tpublic ResourceCounter resourceCounter;\n\n\tpublic MapTemperature mapTemperature;\n\n\tpublic TemperatureVacuumCache TemperatureVacuumCache;\n\n\tpublic AreaManager areaManager;\n\n\tpublic AttackTargetsCache attackTargetsCache;\n\n\tpublic AttackTargetReservationManager attackTargetReservationManager;\n\n\tpublic VoluntarilyJoinableLordsStarter lordsStarter;\n\n\tpublic FleckManager flecks;\n\n\tpublic DeferredSpawner deferredSpawner;\n\n\tpublic ThingGrid thingGrid;\n\n\tpublic CoverGrid coverGrid;\n\n\tpublic EdificeGrid edificeGrid;\n\n\tpublic BlueprintGrid blueprintGrid;\n\n\tpublic FogGrid fogGrid;\n\n\tpublic RegionGrid regionGrid;\n\n\tpublic GlowGrid glowGrid;\n\n\tpublic TerrainGrid terrainGrid;\n\n\tpublic Pathing pathing;\n\n\tpublic RoofGrid roofGrid;\n\n\tpublic FertilityGrid fertilityGrid;\n\n\tpublic SnowGrid snowGrid;\n\n\tpublic DeepResourceGrid deepResourceGrid;\n\n\tpublic ExitMapGrid exitMapGrid;\n\n\tpublic AvoidGrid avoidGrid;\n\n\tpublic GasGrid gasGrid;\n\n\tpublic PollutionGrid pollutionGrid;\n\n\tpublic SubstructureGrid substructureGrid;\n\n\tpublic WaterBodyTracker waterBodyTracker;\n\n\tpublic SandGrid sandGrid;\n\n\tpublic LinkGrid linkGrid;\n\n\tpublic PowerNetManager powerNetManager;\n\n\tpublic PowerNetGrid powerNetGrid;\n\n\tpublic RegionMaker regionMaker;\n\n\tpublic PathFinder pathFinder;\n\n\tpublic PawnPathPool pawnPathPool;\n\n\tpublic RegionAndRoomUpdater regionAndRoomUpdater;\n\n\tpublic RegionLinkDatabase regionLinkDatabase;\n\n\tpublic MoteCounter moteCounter;\n\n\tpublic GatherSpotLister gatherSpotLister;\n\n\tpublic WindManager windManager;\n\n\tpublic ListerBuildingsRepairable listerBuildingsRepairable;\n\n\tpublic ListerHaulables listerHaulables;\n\n\tpublic ListerMergeables listerMergeables;\n\n\tpublic ListerArtificialBuildingsForMeditation listerArtificialBuildingsForMeditation;\n\n\tpublic ListerBuldingOfDefInProximity listerBuldingOfDefInProximity;\n\n\tpublic ListerBuildingWithTagInProximity listerBuildingWithTagInProximity;\n\n\tpublic ListerFilthInHomeArea listerFilthInHomeArea;\n\n\tpublic Reachability reachability;\n\n\tpublic ItemAvailability itemAvailability;\n\n\tpublic AutoBuildRoofAreaSetter autoBuildRoofAreaSetter;\n\n\tpublic RoofCollapseBufferResolver roofCollapseBufferResolver;\n\n\tpublic RoofCollapseBuffer roofCollapseBuffer;\n\n\tpublic WildAnimalSpawner wildAnimalSpawner;\n\n\tpublic WildPlantSpawner wildPlantSpawner;\n\n\tpublic SteadyEnvironmentEffects steadyEnvironmentEffects;\n\n\tpublic TempTerrainManager tempTerrain;\n\n\tpublic FreezeManager freezeManager;\n\n\tpublic SkyManager skyManager;\n\n\tpublic OverlayDrawer overlayDrawer;\n\n\tpublic FloodFiller floodFiller;\n\n\tpublic WeatherDecider weatherDecider;\n\n\tpublic FireWatcher fireWatcher;\n\n\tpublic DangerWatcher dangerWatcher;\n\n\tpublic DamageWatcher damageWatcher;\n\n\tpublic StrengthWatcher strengthWatcher;\n\n\tpublic WealthWatcher wealthWatcher;\n\n\tpublic RegionDirtyer regionDirtyer;\n\n\tpublic MapCellsInRandomOrder cellsInRandomOrder;\n\n\tpublic RememberedCameraPos rememberedCameraPos;\n\n\tpublic MineStrikeManager mineStrikeManager;\n\n\tpublic StoryState storyState;\n\n\tpublic RoadInfo roadInfo;\n\n\tpublic WaterInfo waterInfo;\n\n\tpublic RetainedCaravanData retainedCaravanData;\n\n\tpublic TemporaryThingDrawer temporaryThingDrawer;\n\n\tpublic AnimalPenManager animalPenManager;\n\n\tpublic MapPlantGrowthRateCalculator plantGrowthRateCalculator;\n\n\tpublic AutoSlaughterManager autoSlaughterManager;\n\n\tpublic TreeDestructionTracker treeDestructionTracker;\n\n\tpublic StorageGroupManager storageGroups;\n\n\tpublic EffecterMaintainer effecterMaintainer;\n\n\tpublic PostTickVisuals postTickVisuals;\n\n\tpublic List layoutStructureSketches = new List();\n\n\tpublic ThingListChangedCallbacks thingListChangedCallbacks = new ThingListChangedCallbacks();\n\n\tpublic List landingBlockers = new List();\n\n\tpublic Tile pocketTileInfo;\n\n\tpublic const string ThingSaveKey = \"thing\";\n\n\t[TweakValue(\"Graphics_Shadow\", 0f, 100f)]\n\tprivate static bool AlwaysRedrawShadows;\n\n\tprivate MixedBiomeMapComponent mixedBiomeComp;\n\n\tpublic int Index => Find.Maps.IndexOf(this);\n\n\tpublic IntVec3 Size => info.Size;\n\n\tpublic IntVec3 Center => new IntVec3(Size.x / 2, 0, Size.z / 2);\n\n\tpublic Faction ParentFaction => info.parent?.Faction;\n\n\tpublic int Area => Size.x * Size.z;\n\n\tpublic IThingHolder ParentHolder => info.parent;\n\n\tpublic bool DrawMapClippers => !generatorDef.disableMapClippers;\n\n\tpublic bool CanEverExit\n\t{\n\t\tget\n\t\t{\n\t\t\tif (!info.isPocketMap)\n\t\t\t{\n\t\t\t\treturn Biome.canExitMap;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic Color? FogOfWarColor\n\t{\n\t\tget\n\t\t{\n\t\t\treturn fogOfWarColor ?? Biome.fogOfWarColor;\n\t\t}\n\t\tset\n\t\t{\n\t\t\tfogOfWarColor = value;\n\t\t}\n\t}\n\n\tpublic OrbitalDebrisDef OrbitalDebris\n\t{\n\t\tget\n\t\t{\n\t\t\treturn orbitalDebris ?? Biome.orbitalDebris;\n\t\t}\n\t\tset\n\t\t{\n\t\t\torbitalDebris = value;\n\t\t}\n\t}\n\n\tpublic Material MapEdgeMaterial\n\t{\n\t\tget\n\t\t{\n\t\t\tif (ModsConfig.AnomalyActive && generatorDef == MapGeneratorDefOf.MetalHell)\n\t\t\t{\n\t\t\t\treturn MapEdgeClipDrawer.ClipMatMetalhell;\n\t\t\t}\n\t\t\tWorldObject parent = Parent;\n\t\t\tif (parent != null && parent.def.MapEdgeMaterial != null)\n\t\t\t{\n\t\t\t\treturn parent.def.MapEdgeMaterial;\n\t\t\t}\n\t\t\treturn MapEdgeClipDrawer.ClipMat;\n\t\t}\n\t}\n\n\tpublic bool Disposed { get; private set; }\n\n\tpublic IEnumerable AllCells\n\t{\n\t\tget\n\t\t{\n\t\t\tfor (int z = 0; z < Size.z; z++)\n\t\t\t{\n\t\t\t\tfor (int y = 0; y < Size.y; y++)\n\t\t\t\t{\n\t\t\t\t\tfor (int x = 0; x < Size.x; x++)\n\t\t\t\t\t{\n\t\t\t\t\t\tyield return new IntVec3(x, y, z);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic bool IsPlayerHome\n\t{\n\t\tget\n\t\t{\n\t\t\tif (!wasSpawnedViaGravShipLanding)\n\t\t\t{\n\t\t\t\tif (info?.parent != null && info.parent.Faction == Faction.OfPlayer)\n\t\t\t\t{\n\t\t\t\t\treturn info.parent.def.canBePlayerHome;\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t}\n\n\tpublic bool TreatAsPlayerHomeForThreatPoints\n\t{\n\t\tget\n\t\t{\n\t\t\tif (IsPlayerHome)\n\t\t\t{\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tif (info.parent != null && info.parent.def.treatAsPlayerHome)\n\t\t\t{\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic bool IsTempIncidentMap => info.parent.def.isTempIncidentMapOwner;\n\n\tpublic PlanetTile Tile => info.Tile;\n\n\tpublic Tile TileInfo\n\t{\n\t\tget\n\t\t{\n\t\t\tif (!IsPocketMap)\n\t\t\t{\n\t\t\t\treturn Find.WorldGrid[Tile];\n\t\t\t}\n\t\t\treturn pocketTileInfo;\n\t\t}\n\t}\n\n\tpublic BiomeDef Biome => TileInfo.PrimaryBiome;\n\n\tpublic IEnumerable Biomes => TileInfo.Biomes;\n\n\tpublic MixedBiomeMapComponent MixedBiomeComp => mixedBiomeComp ?? (mixedBiomeComp = GetComponent());\n\n\tpublic bool IsStartingMap => Find.GameInfo.startingTile == Tile;\n\n\tpublic bool IsPocketMap => info.isPocketMap;\n\n\tpublic StoryState StoryState => storyState;\n\n\tpublic GameConditionManager GameConditionManager => gameConditionManager;\n\n\tpublic float PlayerWealthForStoryteller\n\t{\n\t\tget\n\t\t{\n\t\t\tif (TreatAsPlayerHomeForThreatPoints)\n\t\t\t{\n\t\t\t\tif (Find.Storyteller.difficulty.fixedWealthMode)\n\t\t\t\t{\n\t\t\t\t\treturn StorytellerUtility.FixedWealthModeMapWealthFromTimeCurve.Evaluate(AgeInDays * Find.Storyteller.difficulty.fixedWealthTimeFactor);\n\t\t\t\t}\n\t\t\t\treturn wealthWatcher.WealthItems + wealthWatcher.WealthBuildings * 0.5f + wealthWatcher.WealthPawns;\n\t\t\t}\n\t\t\tfloat num = 0f;\n\t\t\tforeach (Pawn item in mapPawns.PawnsInFaction(Faction.OfPlayer))\n\t\t\t{\n\t\t\t\tif (item.IsFreeColonist)\n\t\t\t\t{\n\t\t\t\t\tnum += WealthWatcher.GetEquipmentApparelAndInventoryWealth(item);\n\t\t\t\t}\n\t\t\t\tif (item.IsAnimal)\n\t\t\t\t{\n\t\t\t\t\tnum += item.MarketValue;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn num;\n\t\t}\n\t}\n\n\tpublic IEnumerable PlayerPawnsForStoryteller => mapPawns.PawnsInFaction(Faction.OfPlayer);\n\n\tpublic FloatRange IncidentPointsRandomFactorRange => FloatRange.One;\n\n\tpublic MapParent Parent => info.parent;\n\n\tpublic PocketMapParent PocketMapParent\n\t{\n\t\tget\n\t\t{\n\t\t\tif (!IsPocketMap)\n\t\t\t{\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\treturn Parent as PocketMapParent;\n\t\t}\n\t}\n\n\tpublic IEnumerable ChildPocketMaps\n\t{\n\t\tget\n\t\t{\n\t\t\tforeach (PocketMapParent pocketMap in Find.World.pocketMaps)\n\t\t\t{\n\t\t\t\tif (pocketMap.sourceMap == this)\n\t\t\t\t{\n\t\t\t\t\tyield return pocketMap.Map;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic float AgeInDays => (float)(Find.TickManager.TicksGame - generationTick) / 60000f;\n\n\tpublic int NextGenSeed => HashCode.Combine(TileInfo.tile.Valid ? TileInfo.tile.GetHashCode() : uniqueID, generatedId++, Find.World.info.Seed);\n\n\tpublic int ConstantRandSeed => uniqueID ^ 0xFDA252;\n\n\tpublic IEnumerator GetEnumerator()\n\t{\n\t\tforeach (IntVec3 allCell in AllCells)\n\t\t{\n\t\t\tyield return allCell;\n\t\t}\n\t}\n\n\tpublic IEnumerable IncidentTargetTags()\n\t{\n\t\treturn info.parent?.IncidentTargetTags() ?? Enumerable.Empty();\n\t}\n\n\tpublic void ConstructComponents()\n\t{\n\t\tspawnedThings = new ThingOwner(this);\n\t\tcellIndices = new CellIndices(this);\n\t\tlisterThings = new ListerThings(ListerThingsUse.Global, thingListChangedCallbacks);\n\t\tlisterBuildings = new ListerBuildings();\n\t\tmapPawns = new MapPawns(this);\n\t\tdynamicDrawManager = new DynamicDrawManager(this);\n\t\tmapDrawer = new MapDrawer(this);\n\t\ttooltipGiverList = new TooltipGiverList();\n\t\tpawnDestinationReservationManager = new PawnDestinationReservationManager();\n\t\treservationManager = new ReservationManager(this);\n\t\tenrouteManager = new EnrouteManager(this);\n\t\tphysicalInteractionReservationManager = new PhysicalInteractionReservationManager();\n\t\tdesignationManager = new DesignationManager(this);\n\t\tlordManager = new LordManager(this);\n\t\tdebugDrawer = new DebugCellDrawer();\n\t\tpassingShipManager = new PassingShipManager(this);\n\t\thaulDestinationManager = new HaulDestinationManager(this);\n\t\tgameConditionManager = new GameConditionManager(this);\n\t\tweatherManager = new WeatherManager(this);\n\t\tzoneManager = new ZoneManager(this);\n\t\tplanManager = new PlanManager(this);\n\t\tresourceCounter = new ResourceCounter(this);\n\t\tmapTemperature = new MapTemperature(this);\n\t\tTemperatureVacuumCache = new TemperatureVacuumCache(this);\n\t\tareaManager = new AreaManager(this);\n\t\tattackTargetsCache = new AttackTargetsCache(this);\n\t\tattackTargetReservationManager = new AttackTargetReservationManager(this);\n\t\tlordsStarter = new VoluntarilyJoinableLordsStarter(this);\n\t\tflecks = new FleckManager(this);\n\t\tdeferredSpawner = new DeferredSpawner(this);\n\t\tthingGrid = new ThingGrid(this);\n\t\tcoverGrid = new CoverGrid(this);\n\t\tedificeGrid = new EdificeGrid(this);\n\t\tblueprintGrid = new BlueprintGrid(this);\n\t\tfogGrid = new FogGrid(this);\n\t\tglowGrid = new GlowGrid(this);\n\t\tregionGrid = new RegionGrid(this);\n\t\tterrainGrid = new TerrainGrid(this);\n\t\tpathing = new Pathing(this);\n\t\troofGrid = new RoofGrid(this);\n\t\tfertilityGrid = new FertilityGrid(this);\n\t\tsnowGrid = new SnowGrid(this);\n\t\tgasGrid = new GasGrid(this);\n\t\tpollutionGrid = new PollutionGrid(this);\n\t\tdeepResourceGrid = new DeepResourceGrid(this);\n\t\texitMapGrid = new ExitMapGrid(this);\n\t\tavoidGrid = new AvoidGrid(this);\n\t\tlinkGrid = new LinkGrid(this);\n\t\tpowerNetManager = new PowerNetManager(this);\n\t\tpowerNetGrid = new PowerNetGrid(this);\n\t\tregionMaker = new RegionMaker(this);\n\t\tpathFinder = new PathFinder(this);\n\t\tpawnPathPool = new PawnPathPool(this);\n\t\tregionAndRoomUpdater = new RegionAndRoomUpdater(this);\n\t\tregionLinkDatabase = new RegionLinkDatabase();\n\t\tmoteCounter = new MoteCounter();\n\t\tgatherSpotLister = new GatherSpotLister();\n\t\twindManager = new WindManager(this);\n\t\tlisterBuildingsRepairable = new ListerBuildingsRepairable();\n\t\tlisterHaulables = new ListerHaulables(this);\n\t\tlisterMergeables = new ListerMergeables(this);\n\t\tlisterFilthInHomeArea = new ListerFilthInHomeArea(this);\n\t\tlisterArtificialBuildingsForMeditation = new ListerArtificialBuildingsForMeditation(this);\n\t\tlisterBuldingOfDefInProximity = new ListerBuldingOfDefInProximity(this);\n\t\tlisterBuildingWithTagInProximity = new ListerBuildingWithTagInProximity(this);\n\t\treachability = new Reachability(this);\n\t\titemAvailability = new ItemAvailability(this);\n\t\tautoBuildRoofAreaSetter = new AutoBuildRoofAreaSetter(this);\n\t\troofCollapseBufferResolver = new RoofCollapseBufferResolver(this);\n\t\troofCollapseBuffer = new RoofCollapseBuffer();\n\t\twildAnimalSpawner = new WildAnimalSpawner(this);\n\t\twildPlantSpawner = new WildPlantSpawner(this);\n\t\tsteadyEnvironmentEffects = new SteadyEnvironmentEffects(this);\n\t\ttempTerrain = new TempTerrainManager(this);\n\t\tskyManager = new SkyManager(this);\n\t\toverlayDrawer = new OverlayDrawer();\n\t\tfloodFiller = new FloodFiller(this);\n\t\tweatherDecider = new WeatherDecider(this);\n\t\tfireWatcher = new FireWatcher(this);\n\t\tdangerWatcher = new DangerWatcher(this);\n\t\tdamageWatcher = new DamageWatcher();\n\t\tstrengthWatcher = new StrengthWatcher(this);\n\t\twealthWatcher = new WealthWatcher(this);\n\t\tregionDirtyer = new RegionDirtyer(this);\n\t\tcellsInRandomOrder = new MapCellsInRandomOrder(this);\n\t\trememberedCameraPos = new RememberedCameraPos(this);\n\t\tmineStrikeManager = new MineStrikeManager();\n\t\tstoryState = new StoryState(this);\n\t\tretainedCaravanData = new RetainedCaravanData(this);\n\t\ttemporaryThingDrawer = new TemporaryThingDrawer();\n\t\tanimalPenManager = new AnimalPenManager(this);\n\t\tplantGrowthRateCalculator = new MapPlantGrowthRateCalculator();\n\t\tautoSlaughterManager = new AutoSlaughterManager(this);\n\t\ttreeDestructionTracker = new TreeDestructionTracker(this);\n\t\tstorageGroups = new StorageGroupManager(this);\n\t\teffecterMaintainer = new EffecterMaintainer(this);\n\t\tpostTickVisuals = new PostTickVisuals(this);\n\t\tif (ModsConfig.OdysseyActive)\n\t\t{\n\t\t\tsubstructureGrid = new SubstructureGrid(this);\n\t\t\twaterBodyTracker = new WaterBodyTracker(this);\n\t\t\tfreezeManager = new FreezeManager(this);\n\t\t\tsandGrid = new SandGrid(this);\n\t\t}\n\t\tcomponents.Clear();\n\t\tFillComponents();\n\t}\n\n\tpublic void ExposeData()\n\t{\n\t\tif (Scribe.mode == LoadSaveMode.LoadingVars)\n\t\t{\n\t\t\tevents = new MapEvents(this);\n\t\t}\n\t\tScribe_Values.Look(ref uniqueID, \"uniqueID\", -1);\n\t\tScribe_Values.Look(ref generationTick, \"generationTick\", 0);\n\t\tScribe_Values.Look(ref wasSpawnedViaGravShipLanding, \"wasSpawnedViaGravShipLanding\", defaultValue: false);\n\t\tScribe_Values.Look(ref fogOfWarColor, \"fogOfWarColor\");\n\t\tScribe_Values.Look(ref generatedId, \"generatedId\", 0);\n\t\tScribe_Defs.Look(ref orbitalDebris, \"orbitalDebris\");\n\t\tScribe_Defs.Look(ref generatorDef, \"generatorDef\");\n\t\tScribe_Deep.Look(ref pocketTileInfo, \"pocketTileInfo\");\n\t\tScribe_Deep.Look(ref info, \"mapInfo\");\n\t\tScribe_Collections.Look(ref layoutStructureSketches, \"layoutStructureSketches\", LookMode.Deep);\n\t\tScribe_Collections.Look(ref landingBlockers, \"landingBlockers\", LookMode.Undefined);\n\t\tif (Scribe.mode == LoadSaveMode.Saving)\n\t\t{\n\t\t\tcompressor = new MapFileCompressor(this);\n\t\t\tcompressor.BuildCompressedString();\n\t\t\tExposeComponents();\n\t\t\tcompressor.ExposeData();\n\t\t\tHashSet hashSet = new HashSet();\n\t\t\tif (Scribe.EnterNode(\"things\"))\n\t\t\t{\n\t\t\t\ttry\n\t\t\t\t{\n\t\t\t\t\tforeach (Thing allThing in listerThings.AllThings)\n\t\t\t\t\t{\n\t\t\t\t\t\ttry\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif (allThing.def.isSaveable && !allThing.IsSaveCompressible())\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tif (!hashSet.Add(allThing.ThingID))\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tLog.Error(\"Saving Thing with already-used ID \" + allThing.ThingID);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\thashSet.Add(allThing.ThingID);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tThing target = allThing;\n\t\t\t\t\t\t\t\tScribe_Deep.Look(ref target, \"thing\");\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcatch (OutOfMemoryException)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tthrow;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcatch (Exception arg)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tLog.Error($\"Exception saving {allThing}: {arg}\");\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tfinally\n\t\t\t\t{\n\t\t\t\t\tScribe.ExitNode();\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tLog.Error(\"Could not enter the things node while saving.\");\n\t\t\t}\n\t\t\tcompressor = null;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tif (Scribe.mode == LoadSaveMode.LoadingVars)\n\t\t\t{\n\t\t\t\tConstructComponents();\n\t\t\t\tregionAndRoomUpdater.Enabled = false;\n\t\t\t\tcompressor = new MapFileCompressor(this);\n\t\t\t}\n\t\t\telse if (Scribe.mode == LoadSaveMode.PostLoadInit && landingBlockers == null)\n\t\t\t{\n\t\t\t\tlandingBlockers = new List();\n\t\t\t}\n\t\t\tExposeComponents();\n\t\t\tDeepProfiler.Start(\"Load compressed things\");\n\t\t\tcompressor.ExposeData();\n\t\t\tDeepProfiler.End();\n\t\t\tDeepProfiler.Start(\"Load non-compressed things\");\n\t\t\tScribe_Collections.Look(ref loadedFullThings, \"things\", LookMode.Deep);\n\t\t\tDeepProfiler.End();\n\t\t}\n\t\tBackCompatibility.PostExposeData(this);\n\t}\n\n\tprivate void FillComponents()\n\t{\n\t\tcomponents.RemoveAll((MapComponent component) => component == null);\n\t\tforeach (Type item3 in typeof(MapComponent).AllSubclassesNonAbstract())\n\t\t{\n\t\t\tif (!typeof(CustomMapComponent).IsAssignableFrom(item3) && GetComponent(item3) == null)\n\t\t\t{\n\t\t\t\ttry\n\t\t\t\t{\n\t\t\t\t\tMapComponent item = (MapComponent)Activator.CreateInstance(item3, this);\n\t\t\t\t\tcomponents.Add(item);\n\t\t\t\t}\n\t\t\t\tcatch (Exception ex)\n\t\t\t\t{\n\t\t\t\t\tLog.Error(\"Could not instantiate a MapComponent of type \" + item3?.ToString() + \": \" + ex);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (generatorDef?.customMapComponents != null)\n\t\t{\n\t\t\tforeach (Type customMapComponent in generatorDef.customMapComponents)\n\t\t\t{\n\t\t\t\tif (GetComponent(customMapComponent) == null)\n\t\t\t\t{\n\t\t\t\t\ttry\n\t\t\t\t\t{\n\t\t\t\t\t\tMapComponent item2 = (MapComponent)Activator.CreateInstance(customMapComponent, this);\n\t\t\t\t\t\tcomponents.Add(item2);\n\t\t\t\t\t}\n\t\t\t\t\tcatch (Exception ex2)\n\t\t\t\t\t{\n\t\t\t\t\t\tLog.Error(\"Could not instantiate a MapComponent of type \" + customMapComponent?.ToString() + \": \" + ex2);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\troadInfo = GetComponent();\n\t\twaterInfo = GetComponent();\n\t}\n\n\tpublic void FinalizeLoading()\n\t{\n\t\tregionAndRoomUpdater.Enabled = true;\n\t\tList list = compressor.ThingsToSpawnAfterLoad().ToList();\n\t\tcompressor = null;\n\t\tDeepProfiler.Start(\"Merge compressed and non-compressed thing lists\");\n\t\tList list2 = new List(loadedFullThings.Count + list.Count);\n\t\tforeach (Thing item in loadedFullThings.Concat(list))\n\t\t{\n\t\t\tlist2.Add(item);\n\t\t}\n\t\tloadedFullThings.Clear();\n\t\tDeepProfiler.End();\n\t\tDeepProfiler.Start(\"Spawn everything into the map\");\n\t\tBackCompatibility.PreCheckSpawnBackCompatibleThingAfterLoading(this);\n\t\tforeach (Thing item2 in list2)\n\t\t{\n\t\t\tif (item2 is Building)\n\t\t\t{\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\ttry\n\t\t\t{\n\t\t\t\tif (!BackCompatibility.CheckSpawnBackCompatibleThingAfterLoading(item2, this))\n\t\t\t\t{\n\t\t\t\t\tGenSpawn.Spawn(item2, item2.Position, this, item2.Rotation, WipeMode.FullRefund, respawningAfterLoad: true);\n\t\t\t\t}\n\t\t\t}\n\t\t\tcatch (Exception ex)\n\t\t\t{\n\t\t\t\tLog.Error(\"Exception spawning loaded thing \" + item2.ToStringSafe() + \": \" + ex);\n\t\t\t}\n\t\t}\n\t\tforeach (Building item3 in from t in list2.OfType()\n\t\t\torderby t.def.size.Magnitude\n\t\t\tselect t)\n\t\t{\n\t\t\ttry\n\t\t\t{\n\t\t\t\tGenSpawn.SpawnBuildingAsPossible(item3, this, respawningAfterLoad: true);\n\t\t\t}\n\t\t\tcatch (Exception ex2)\n\t\t\t{\n\t\t\t\tLog.Error(\"Exception spawning loaded thing \" + item3.ToStringSafe() + \": \" + ex2);\n\t\t\t}\n\t\t}\n\t\tBackCompatibility.PostCheckSpawnBackCompatibleThingAfterLoading(this);\n\t\tDeepProfiler.End();\n\t\tFinalizeInit();\n\t}\n\n\tpublic void FinalizeInit()\n\t{\n\t\tDeepProfiler.Start(\"Finalize geometry\");\n\t\tpathing.RecalculateAllPerceivedPathCosts();\n\t\tregionAndRoomUpdater.Enabled = true;\n\t\tregionAndRoomUpdater.RebuildAllRegionsAndRooms();\n\t\tpowerNetManager.UpdatePowerNetsAndConnections_First();\n\t\tTemperatureVacuumCache.TemperatureVacuumSaveLoad.ApplyLoadedDataToRegions();\n\t\tavoidGrid.Regenerate();\n\t\tanimalPenManager.RebuildAllPens();\n\t\tplantGrowthRateCalculator.BuildFor(this);\n\t\tgasGrid.RecalculateEverHadGas();\n\t\tDeepProfiler.End();\n\t\tDeepProfiler.Start(\"Thing.PostMapInit()\");\n\t\tforeach (Thing item in listerThings.AllThings.ToList())\n\t\t{\n\t\t\ttry\n\t\t\t{\n\t\t\t\titem.PostMapInit();\n\t\t\t}\n\t\t\tcatch (Exception ex)\n\t\t\t{\n\t\t\t\tLog.Error(\"Error in PostMapInit() for \" + item.ToStringSafe() + \": \" + ex);\n\t\t\t}\n\t\t}\n\t\tDeepProfiler.End();\n\t\tDeepProfiler.Start(\"listerFilthInHomeArea.RebuildAll()\");\n\t\tlisterFilthInHomeArea.RebuildAll();\n\t\tDeepProfiler.End();\n\t\tif (ModsConfig.OdysseyActive)\n\t\t{\n\t\t\tGetComponent().SetDrawerDirty();\n\t\t}\n\t\tLongEventHandler.ExecuteWhenFinished(delegate\n\t\t{\n\t\t\tmapDrawer.RegenerateEverythingNow();\n\t\t});\n\t\tDeepProfiler.Start(\"resourceCounter.UpdateResourceCounts()\");\n\t\tresourceCounter.UpdateResourceCounts();\n\t\tDeepProfiler.End();\n\t\tDeepProfiler.Start(\"wealthWatcher.ForceRecount()\");\n\t\twealthWatcher.ForceRecount(allowDuringInit: true);\n\t\tDeepProfiler.End();\n\t\tif (ModsConfig.OdysseyActive)\n\t\t{\n\t\t\tusing (new ProfilerBlock(\"WaterBodyTracker.ConstructBodies()\"))\n\t\t\t{\n\t\t\t\twaterBodyTracker?.ConstructBodies();\n\t\t\t}\n\t\t}\n\t\tMapComponentUtility.FinalizeInit(this);\n\t\tLongEventHandler.ExecuteWhenFinished(delegate\n\t\t{\n\t\t\tFind.MusicManagerPlay.CheckTransitions();\n\t\t});\n\t}\n\n\tprivate void ExposeComponents()\n\t{\n\t\tScribe_Deep.Look(ref weatherManager, \"weatherManager\", this);\n\t\tScribe_Deep.Look(ref reservationManager, \"reservationManager\", this);\n\t\tScribe_Deep.Look(ref enrouteManager, \"enrouteManager\", this);\n\t\tScribe_Deep.Look(ref physicalInteractionReservationManager, \"physicalInteractionReservationManager\");\n\t\tScribe_Deep.Look(ref planManager, \"planManager\", this);\n\t\tScribe_Deep.Look(ref designationManager, \"designationManager\", this);\n\t\tScribe_Deep.Look(ref pawnDestinationReservationManager, \"pawnDestinationReservationManager\");\n\t\tScribe_Deep.Look(ref lordManager, \"lordManager\", this);\n\t\tScribe_Deep.Look(ref passingShipManager, \"visitorManager\", this);\n\t\tScribe_Deep.Look(ref gameConditionManager, \"gameConditionManager\", this);\n\t\tScribe_Deep.Look(ref fogGrid, \"fogGrid\", this);\n\t\tScribe_Deep.Look(ref roofGrid, \"roofGrid\", this);\n\t\tScribe_Deep.Look(ref terrainGrid, \"terrainGrid\", this);\n\t\tScribe_Deep.Look(ref zoneManager, \"zoneManager\", this);\n\t\tScribe_Deep.Look(ref TemperatureVacuumCache, \"temperatureCache\", this);\n\t\tScribe_Deep.Look(ref snowGrid, \"snowGrid\", this);\n\t\tScribe_Deep.Look(ref gasGrid, \"gasGrid\", this);\n\t\tScribe_Deep.Look(ref pollutionGrid, \"pollutionGrid\", this);\n\t\tScribe_Deep.Look(ref waterBodyTracker, \"waterBodyTracker\", this);\n\t\tScribe_Deep.Look(ref areaManager, \"areaManager\", this);\n\t\tScribe_Deep.Look(ref lordsStarter, \"lordsStarter\", this);\n\t\tScribe_Deep.Look(ref attackTargetReservationManager, \"attackTargetReservationManager\", this);\n\t\tScribe_Deep.Look(ref deepResourceGrid, \"deepResourceGrid\", this);\n\t\tScribe_Deep.Look(ref weatherDecider, \"weatherDecider\", this);\n\t\tScribe_Deep.Look(ref damageWatcher, \"damageWatcher\");\n\t\tScribe_Deep.Look(ref rememberedCameraPos, \"rememberedCameraPos\", this);\n\t\tScribe_Deep.Look(ref mineStrikeManager, \"mineStrikeManager\");\n\t\tScribe_Deep.Look(ref retainedCaravanData, \"retainedCaravanData\", this);\n\t\tScribe_Deep.Look(ref storyState, \"storyState\", this);\n\t\tScribe_Deep.Look(ref tempTerrain, \"tempTerrain\", this);\n\t\tScribe_Deep.Look(ref wildPlantSpawner, \"wildPlantSpawner\", this);\n\t\tScribe_Deep.Look(ref temporaryThingDrawer, \"temporaryThingDrawer\");\n\t\tScribe_Deep.Look(ref flecks, \"flecks\", this);\n\t\tScribe_Deep.Look(ref deferredSpawner, \"deferredSpawner\", this);\n\t\tScribe_Deep.Look(ref autoSlaughterManager, \"autoSlaughterManager\", this);\n\t\tScribe_Deep.Look(ref treeDestructionTracker, \"treeDestructionTracker\", this);\n\t\tScribe_Deep.Look(ref storageGroups, \"storageGroups\", this);\n\t\tScribe_Deep.Look(ref sandGrid, \"sandGrid\", this);\n\t\tScribe_Collections.Look(ref components, \"components\", LookMode.Deep, this);\n\t\tif (Scribe.mode == LoadSaveMode.PostLoadInit)\n\t\t{\n\t\t\tif (planManager == null)\n\t\t\t{\n\t\t\t\tplanManager = new PlanManager(this);\n\t\t\t}\n\t\t\tif (ModsConfig.BiotechActive && pollutionGrid == null)\n\t\t\t{\n\t\t\t\tpollutionGrid = new PollutionGrid(this);\n\t\t\t}\n\t\t\tif (ModsConfig.OdysseyActive)\n\t\t\t{\n\t\t\t\tif (sandGrid == null)\n\t\t\t\t{\n\t\t\t\t\tsandGrid = new SandGrid(this);\n\t\t\t\t}\n\t\t\t\tif (substructureGrid == null)\n\t\t\t\t{\n\t\t\t\t\tsubstructureGrid = new SubstructureGrid(this);\n\t\t\t\t}\n\t\t\t\tif (waterBodyTracker == null)\n\t\t\t\t{\n\t\t\t\t\twaterBodyTracker = new WaterBodyTracker(this);\n\t\t\t\t}\n\t\t\t\tif (freezeManager == null)\n\t\t\t\t{\n\t\t\t\t\tfreezeManager = new FreezeManager(this);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tFillComponents();\n\t\tBackCompatibility.PostExposeData(this);\n\t}\n\n\tpublic void MapPreTick()\n\t{\n\t\titemAvailability.Tick();\n\t\tlisterHaulables.ListerHaulablesTick();\n\t\ttry\n\t\t{\n\t\t\tautoBuildRoofAreaSetter.AutoBuildRoofAreaSetterTick_First();\n\t\t}\n\t\tcatch (Exception ex)\n\t\t{\n\t\t\tLog.Error(ex.ToString());\n\t\t}\n\t\troofCollapseBufferResolver.CollapseRoofsMarkedToCollapse();\n\t\twindManager.WindManagerTick();\n\t\ttry\n\t\t{\n\t\t\tmapTemperature.MapTemperatureTick();\n\t\t}\n\t\tcatch (Exception ex2)\n\t\t{\n\t\t\tLog.Error(ex2.ToString());\n\t\t}\n\t\ttemporaryThingDrawer.Tick();\n\t\ttry\n\t\t{\n\t\t\tpathFinder.PathFinderTick();\n\t\t}\n\t\tcatch (Exception ex3)\n\t\t{\n\t\t\tLog.Error(ex3.ToString());\n\t\t}\n\t}\n\n\tpublic void MapPostTick()\n\t{\n\t\ttry\n\t\t{\n\t\t\twildAnimalSpawner.WildAnimalSpawnerTick();\n\t\t}\n\t\tcatch (Exception ex)\n\t\t{\n\t\t\tLog.Error(ex.ToString());\n\t\t}\n\t\ttry\n\t\t{\n\t\t\twildPlantSpawner.WildPlantSpawnerTick();\n\t\t}\n\t\tcatch (Exception ex2)\n\t\t{\n\t\t\tLog.Error(ex2.ToString());\n\t\t}\n\t\ttry\n\t\t{\n\t\t\tpowerNetManager.PowerNetsTick();\n\t\t}\n\t\tcatch (Exception ex3)\n\t\t{\n\t\t\tLog.Error(ex3.ToString());\n\t\t}\n\t\ttry\n\t\t{\n\t\t\tsteadyEnvironmentEffects.SteadyEnvironmentEffectsTick();\n\t\t}\n\t\tcatch (Exception ex4)\n\t\t{\n\t\t\tLog.Error(ex4.ToString());\n\t\t}\n\t\ttry\n\t\t{\n\t\t\ttempTerrain.Tick();\n\t\t}\n\t\tcatch (Exception ex5)\n\t\t{\n\t\t\tLog.Error(ex5.ToString());\n\t\t}\n\t\ttry\n\t\t{\n\t\t\tgasGrid.Tick();\n\t\t}\n\t\tcatch (Exception ex6)\n\t\t{\n\t\t\tLog.Error(ex6.ToString());\n\t\t}\n\t\tif (ModsConfig.BiotechActive)\n\t\t{\n\t\t\ttry\n\t\t\t{\n\t\t\t\tpollutionGrid.PollutionTick();\n\t\t\t}\n\t\t\tcatch (Exception ex7)\n\t\t\t{\n\t\t\t\tLog.Error(ex7.ToString());\n\t\t\t}\n\t\t}\n\t\ttry\n\t\t{\n\t\t\tdeferredSpawner.DeferredSpawnerTick();\n\t\t}\n\t\tcatch (Exception ex8)\n\t\t{\n\t\t\tLog.Error(ex8.ToString());\n\t\t}\n\t\ttry\n\t\t{\n\t\t\tlordManager.LordManagerTick();\n\t\t}\n\t\tcatch (Exception ex9)\n\t\t{\n\t\t\tLog.Error(ex9.ToString());\n\t\t}\n\t\ttry\n\t\t{\n\t\t\tpassingShipManager.PassingShipManagerTick();\n\t\t}\n\t\tcatch (Exception ex10)\n\t\t{\n\t\t\tLog.Error(ex10.ToString());\n\t\t}\n\t\ttry\n\t\t{\n\t\t\tdebugDrawer.DebugDrawerTick();\n\t\t}\n\t\tcatch (Exception ex11)\n\t\t{\n\t\t\tLog.Error(ex11.ToString());\n\t\t}\n\t\ttry\n\t\t{\n\t\t\tlordsStarter.VoluntarilyJoinableLordsStarterTick();\n\t\t}\n\t\tcatch (Exception ex12)\n\t\t{\n\t\t\tLog.Error(ex12.ToString());\n\t\t}\n\t\ttry\n\t\t{\n\t\t\tgameConditionManager.GameConditionManagerTick();\n\t\t}\n\t\tcatch (Exception ex13)\n\t\t{\n\t\t\tLog.Error(ex13.ToString());\n\t\t}\n\t\ttry\n\t\t{\n\t\t\tweatherManager.WeatherManagerTick();\n\t\t}\n\t\tcatch (Exception ex14)\n\t\t{\n\t\t\tLog.Error(ex14.ToString());\n\t\t}\n\t\ttry\n\t\t{\n\t\t\tresourceCounter.ResourceCounterTick();\n\t\t}\n\t\tcatch (Exception ex15)\n\t\t{\n\t\t\tLog.Error(ex15.ToString());\n\t\t}\n\t\ttry\n\t\t{\n\t\t\tweatherDecider.WeatherDeciderTick();\n\t\t}\n\t\tcatch (Exception ex16)\n\t\t{\n\t\t\tLog.Error(ex16.ToString());\n\t\t}\n\t\ttry\n\t\t{\n\t\t\tfireWatcher.FireWatcherTick();\n\t\t}\n\t\tcatch (Exception ex17)\n\t\t{\n\t\t\tLog.Error(ex17.ToString());\n\t\t}\n\t\tif (ModsConfig.OdysseyActive)\n\t\t{\n\t\t\ttry\n\t\t\t{\n\t\t\t\twaterBodyTracker?.Tick();\n\t\t\t}\n\t\t\tcatch (Exception ex18)\n\t\t\t{\n\t\t\t\tLog.Error(ex18.ToString());\n\t\t\t}\n\t\t}\n\t\ttry\n\t\t{\n\t\t\tflecks.FleckManagerTick();\n\t\t}\n\t\tcatch (Exception ex19)\n\t\t{\n\t\t\tLog.Error(ex19.ToString());\n\t\t}\n\t\ttry\n\t\t{\n\t\t\teffecterMaintainer.EffecterMaintainerTick();\n\t\t}\n\t\tcatch (Exception ex20)\n\t\t{\n\t\t\tLog.Error(ex20.ToString());\n\t\t}\n\t\tMapComponentUtility.MapComponentTick(this);\n\t\ttry\n\t\t{\n\t\t\tforeach (TileMutatorDef mutator in TileInfo.Mutators)\n\t\t\t{\n\t\t\t\tmutator.Worker?.Tick(this);\n\t\t\t}\n\t\t}\n\t\tcatch (Exception ex21)\n\t\t{\n\t\t\tLog.Error(ex21.ToString());\n\t\t}\n\t}\n\n\tpublic void MapUpdate()\n\t{\n\t\tif (Disposed)\n\t\t{\n\t\t\treturn;\n\t\t}\n\t\tbool drawingMap = WorldRendererUtility.DrawingMap;\n\t\tskyManager.SkyManagerUpdate();\n\t\tpowerNetManager.UpdatePowerNetsAndConnections_First();\n\t\tregionGrid.UpdateClean();\n\t\tregionAndRoomUpdater.TryRebuildDirtyRegionsAndRooms();\n\t\tglowGrid.GlowGridUpdate_First();\n\t\tlordManager.LordManagerUpdate();\n\t\tpostTickVisuals.ProcessPostTickVisuals();\n\t\tif (drawingMap && Find.CurrentMap == this)\n\t\t{\n\t\t\tif (AlwaysRedrawShadows)\n\t\t\t{\n\t\t\t\tmapDrawer.WholeMapChanged(MapMeshFlagDefOf.Things);\n\t\t\t}\n\t\t\tGlobalRendererUtility.UpdateGlobalShadersParams();\n\t\t\tPlantFallColors.SetFallShaderGlobals(this);\n\t\t\twaterInfo.SetTextures();\n\t\t\tavoidGrid.DebugDrawOnMap();\n\t\t\tBreachingGridDebug.DebugDrawAllOnMap(this);\n\t\t\tmapDrawer.MapMeshDrawerUpdate_First();\n\t\t\tpowerNetGrid.DrawDebugPowerNetGrid();\n\t\t\tDoorsDebugDrawer.DrawDebug();\n\t\t\tmapDrawer.DrawMapMesh();\n\t\t\tdynamicDrawManager.DrawDynamicThings();\n\t\t\tgameConditionManager.GameConditionManagerDraw(this);\n\t\t\tMapEdgeClipDrawer.DrawClippers(this);\n\t\t\tdesignationManager.DrawDesignations();\n\t\t\toverlayDrawer.DrawAllOverlays();\n\t\t\ttemporaryThingDrawer.Draw();\n\t\t\tflecks.FleckManagerDraw();\n\t\t}\n\t\ttry\n\t\t{\n\t\t\tareaManager.AreaManagerUpdate();\n\t\t}\n\t\tcatch (Exception ex)\n\t\t{\n\t\t\tLog.Error(ex.ToString());\n\t\t}\n\t\tweatherManager.WeatherManagerUpdate();\n\t\ttry\n\t\t{\n\t\t\tflecks.FleckManagerUpdate();\n\t\t}\n\t\tcatch (Exception ex2)\n\t\t{\n\t\t\tLog.Error(ex2.ToString());\n\t\t}\n\t\tMapComponentUtility.MapComponentUpdate(this);\n\t}\n\n\tpublic T GetComponent() where T : MapComponent\n\t{\n\t\tfor (int i = 0; i < components.Count; i++)\n\t\t{\n\t\t\tif (components[i] is T result)\n\t\t\t{\n\t\t\t\treturn result;\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tpublic MapComponent GetComponent(Type type)\n\t{\n\t\tfor (int i = 0; i < components.Count; i++)\n\t\t{\n\t\t\tif (type.IsInstanceOfType(components[i]))\n\t\t\t{\n\t\t\t\treturn components[i];\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tpublic void MapOnGUI()\n\t{\n\t\tDevGUISketches();\n\t\tDevRoadPaths();\n\t\tpathFinder.OnGUI();\n\t}\n\n\tprivate static void DevRoadPaths()\n\t{\n\t\tif (!DebugViewSettings.drawRoadPaths)\n\t\t{\n\t\t\treturn;\n\t\t}\n\t\tfor (int i = 0; i < GenStep_Roads.paths.Count; i++)\n\t\t{\n\t\t\tforeach (IntVec3 item in GenStep_Roads.paths[i])\n\t\t\t{\n\t\t\t\tVector2 vector = item.ToVector3Shifted().MapToUIPosition();\n\t\t\t\tDevGUI.DrawRect(new Rect(vector.x, vector.y, 5f, 5f), (i % 2 == 0) ? Color.yellow : Color.blue);\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate void DevGUISketches()\n\t{\n\t\tif ((!DebugViewSettings.drawMapGraphs && !DebugViewSettings.drawMapRooms) || layoutStructureSketches.NullOrEmpty())\n\t\t{\n\t\t\treturn;\n\t\t}\n\t\tforeach (LayoutStructureSketch layoutStructureSketch in layoutStructureSketches)\n\t\t{\n\t\t\tDebugGUILayoutStructure(layoutStructureSketch);\n\t\t}\n\t}\n\n\tprivate void DebugGUILayoutStructure(LayoutStructureSketch layoutStructureSketch)\n\t{\n\t\tDevDrawOutline(layoutStructureSketch.structureLayout.container, Color.yellow);\n\t\tVector2 pos = (layoutStructureSketch.structureLayout.container.Min - IntVec3.South).ToVector3().MapToUIPosition();\n\t\tDevDrawLabel(layoutStructureSketch.layoutDef.defName, pos);\n\t\tif (DebugViewSettings.drawMapGraphs && layoutStructureSketch.structureLayout?.neighbours != null)\n\t\t{\n\t\t\tforeach (KeyValuePair> connection in layoutStructureSketch.structureLayout.neighbours.connections)\n\t\t\t{\n\t\t\t\tforeach (Vector2 item in connection.Value)\n\t\t\t\t{\n\t\t\t\t\tVector2 vector = layoutStructureSketch.center.ToVector2();\n\t\t\t\t\tVector2 vector2 = vector + connection.Key;\n\t\t\t\t\tVector2 vector3 = vector + item;\n\t\t\t\t\tVector2 start = new Vector3(vector2.x, 0f, vector2.y).MapToUIPosition();\n\t\t\t\t\tVector2 end = new Vector3(vector3.x, 0f, vector3.y).MapToUIPosition();\n\t\t\t\t\tDevGUI.DrawLine(start, end, Color.green, 2f);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (!DebugViewSettings.drawMapRooms || layoutStructureSketch.structureLayout?.Rooms == null)\n\t\t{\n\t\t\treturn;\n\t\t}\n\t\tforeach (LayoutRoom room in layoutStructureSketch.structureLayout.Rooms)\n\t\t{\n\t\t\tstring name = \"NA\";\n\t\t\tif (!room.defs.NullOrEmpty())\n\t\t\t{\n\t\t\t\tname = room.defs.Select((LayoutRoomDef x) => x.defName).ToCommaList();\n\t\t\t}\n\t\t\tDevDrawLabel(name, room.rects[0].CenterVector3.MapToUIPosition());\n\t\t\tforeach (CellRect rect in room.rects)\n\t\t\t{\n\t\t\t\tDevDrawOutline(rect, Color.blue);\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate static void DevDrawLabel(string name, Vector2 pos)\n\t{\n\t\tfloat widthCached = name.GetWidthCached();\n\t\tDevGUI.Label(new Rect(pos.x - widthCached / 2f, pos.y, widthCached, 20f), name);\n\t}\n\n\tprivate static void DevDrawOutline(CellRect r, Color color)\n\t{\n\t\tIntVec3 min = r.Min;\n\t\tIntVec3 intVec = r.Max + new IntVec3(1, 0, 1);\n\t\tIntVec3 a = new IntVec3(min.x, 0, min.z);\n\t\tIntVec3 intVec2 = new IntVec3(intVec.x, 0, min.z);\n\t\tIntVec3 intVec3 = new IntVec3(min.x, 0, intVec.z);\n\t\tIntVec3 b = new IntVec3(intVec.x, 0, intVec.z);\n\t\tDevDrawLine(a, intVec2, color);\n\t\tDevDrawLine(a, intVec3, color);\n\t\tDevDrawLine(intVec3, b, color);\n\t\tDevDrawLine(intVec2, b, color);\n\t}\n\n\tprivate static void DevDrawLine(IntVec3 a, IntVec3 b, Color color)\n\t{\n\t\tVector2 start = a.ToVector3().MapToUIPosition();\n\t\tVector2 end = b.ToVector3().MapToUIPosition();\n\t\tDevGUI.DrawLine(start, end, color, 2f);\n\t}\n\n\tpublic string GetUniqueLoadID()\n\t{\n\t\treturn \"Map_\" + uniqueID;\n\t}\n\n\tpublic override string ToString()\n\t{\n\t\tstring text = \"Map-\" + uniqueID;\n\t\tif (IsPlayerHome)\n\t\t{\n\t\t\ttext += \"-PlayerHome\";\n\t\t}\n\t\treturn text;\n\t}\n\n\tpublic ThingOwner GetDirectlyHeldThings()\n\t{\n\t\treturn spawnedThings;\n\t}\n\n\tpublic void GetChildHolders(List outChildren)\n\t{\n\t\tThingOwnerUtility.AppendThingHoldersFromThings(outChildren, listerThings.ThingsInGroup(ThingRequestGroup.ThingHolder));\n\t\tList passingShips = passingShipManager.passingShips;\n\t\tfor (int i = 0; i < passingShips.Count; i++)\n\t\t{\n\t\t\tif (passingShips[i] is IThingHolder item)\n\t\t\t{\n\t\t\t\toutChildren.Add(item);\n\t\t\t}\n\t\t}\n\t\tfor (int j = 0; j < components.Count; j++)\n\t\t{\n\t\t\tif (components[j] is IThingHolder item2)\n\t\t\t{\n\t\t\t\toutChildren.Add(item2);\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic void Dispose()\n\t{\n\t\tif (Disposed)\n\t\t{\n\t\t\treturn;\n\t\t}\n\t\tDisposed = true;\n\t\tforeach (MapComponent component in components)\n\t\t{\n\t\t\tif (component is IDisposable disposable)\n\t\t\t{\n\t\t\t\tdisposable.Dispose();\n\t\t\t}\n\t\t}\n\t\tif (regionAndRoomUpdater != null)\n\t\t{\n\t\t\tregionAndRoomUpdater.Enabled = false;\n\t\t}\n\t\tpathFinder?.Dispose();\n\t\tlordManager?.Dispose();\n\t\tfogGrid?.Dispose();\n\t\tsnowGrid?.Dispose();\n\t\tglowGrid?.Dispose();\n\t\tsandGrid?.Dispose();\n\t\tavoidGrid?.Dispose();\n\t\tlisterBuildings?.Dispose();\n\t\tlisterThings?.Clear();\n\t\tregionDirtyer?.SetAllDirty();\n\t\tregionGrid?.Dispose();\n\t\tpathing?.Dispose();\n\t\tmapDrawer?.Dispose();\n\t\tResources.UnloadUnusedAssets();\n\t\tMapGenerator.ClearDebugMode();\n\t}\n}\n\n", "timestamp": "2025-08-25 11:41:03,392" }, "Thing-class-definition": { "keywords": [ "Thing", "class", "definition" ], "question": "Thing class definition", "embedding": [ -0.03260350599884987, 0.02423495054244995, 0.021687297150492668, -0.0035957377403974533, -0.038440532982349396, -0.006014395505189896, -0.03369996324181557, 0.0753331258893013, 0.057306062430143356, 0.10796888172626495, -0.06514251232147217, -0.039601489901542664, -0.012843072414398193, -0.0421491414308548, 0.06291735172271729, -0.03266800194978714, 0.0012244454119354486, -0.08120240271091461, -0.015938954427838326, -0.02213877998292446, 0.031523171812295914, 0.07765503227710724, 0.004659947007894516, 0.04437430575489998, 0.04353583976626396, 0.008449177257716656, -0.004825221840292215, 0.04705095291137695, -0.030555708333849907, -0.05395219102501869, -0.003035415429621935, -0.004514827858656645, -0.016479121521115303, 0.012480273842811584, -0.01504405029118061, 0.014713500626385212, -0.017027350142598152, 0.004958248231559992, 0.017478832975029945, -0.011222572065889835, 0.019252514466643333, -0.000278397579677403, -0.03389345481991768, -0.013600918464362621, -0.028330544009804726, 0.025782890617847443, 0.00896515790373087, -0.057725295424461365, -0.019510505720973015, 0.08262134343385696, -0.0044906409457325935, 0.030555708333849907, -0.013705726712942123, -0.023364232853055, 0.002277569379657507, 0.014310391619801521, 0.04830865561962128, -0.018285052850842476, 0.0028197518549859524, 0.03582838177680969, 0.023380357772111893, 0.024380069226026535, -0.044535551220178604, -0.011891733855009079, 0.09100602567195892, -0.022300023585557938, 0.022944999858736992, 0.01805931143462658, 0.056499842554330826, -0.029862361028790474, -0.011456375010311604, 0.07900948077440262, -0.06939934939146042, 0.024444567039608955, -0.056435346603393555, 0.04008521884679794, -0.006252230145037174, -0.009190899319946766, -0.028443414717912674, -0.01547134667634964, 0.01181111205369234, 0.011948169209063053, -0.008392741903662682, 0.002870140364393592, 0.04443880543112755, 0.038988761603832245, 0.011770800687372684, -0.07384967803955078, -0.011150011792778969, 0.07720354944467545, -0.02342873066663742, 0.007421248126775026, 0.019881365820765495, 0.009779439307749271, 0.010400228202342987, 0.06488452106714249, -0.05543563514947891, 0.01738208718597889, -0.02146155573427677, 0.047502435743808746, -0.0262021254748106, -0.054468169808387756, -0.021364809945225716, 0.04134292155504227, 0.024186577647924423, 0.08629770576953888, -0.04508377984166145, -0.010150300338864326, -0.022025909274816513, -0.01235934067517519, 0.0018784907879307866, 0.03002360463142395, -0.012657641433179379, 0.03850502893328667, -0.007868699729442596, 0.07197925448417664, -0.05085630714893341, -0.010101926513016224, 0.045825500041246414, 0.004369708243757486, -0.0008641662425361574, -0.04266512021422386, -0.012722139246761799, -0.022042034193873405, 0.010255108587443829, 0.00850561261177063, 0.06446529179811478, -0.0032450323924422264, -0.0024287353735417128, -0.016688738018274307, -0.03918225318193436, -0.0026302901096642017, 0.028443414717912674, -0.01893002726137638, -0.012899507768452168, -0.018043186515569687, 0.036344364285469055, 0.005349264480173588, -0.06185314059257507, 0.007010076195001602, -0.02362222410738468, -0.013270368799567223, -0.0237995907664299, 0.030249346047639847, 0.0679159089922905, -0.03927899897098541, 0.010771089233458042, -0.057048071175813675, -0.0004847393138334155, 0.0024105955380946398, -0.02181629277765751, -0.057983286678791046, -0.014302329160273075, 0.0071511645801365376, 0.021735670045018196, -0.006909298710525036, 0.0016537571791559458, -0.04185890033841133, 0.02046184428036213, -0.04289086163043976, 0.018849406391382217, -0.011093576438724995, -0.03070082888007164, -0.01762395165860653, -0.02255801483988762, -0.03395795449614525, -0.02995910681784153, 0.05246874690055847, -0.06804490089416504, -0.011109701357781887, 0.042374882847070694, -0.009739127941429615, -0.015551968477666378, -0.002868124982342124, 0.020171605050563812, 0.001337316120043397, 0.03241001442074776, 0.008932908996939659, 0.02238064631819725, -0.046825211495161057, 0.02349322848021984, 0.011698241345584393, 0.07081829756498337, 0.0011942122364416718, -0.006167577113956213, -0.016543619334697723, -0.016737110912799835, 0.017494957894086838, 0.030071977525949478, 0.011198384687304497, -0.04766368120908737, 0.002444859826937318, 0.02908838912844658, 0.05617735534906387, -0.07913848012685776, -0.03360321745276451, 0.006917361170053482, 0.031103936955332756, -0.0035816289018839598, -0.040536701679229736, -0.005889431573450565, 0.028798149898648262, 0.013987903483211994, 0.008562047965824604, 0.04134292155504227, -0.03518340736627579, -0.005357326939702034, -0.0012365387519821525, 0.00786063726991415, -0.002368269022554159, 0.00965044368058443, -0.025782890617847443, 0.019897490739822388, -0.013536420650780201, -0.025799015536904335, -0.023348107933998108, -0.06024070084095001, 0.007336595095694065, -0.027701692655682564, -0.018655912950634956, -0.029539871960878372, 0.029120638966560364, 0.010005180723965168, 0.04440655559301376, 0.027217961847782135, -0.01085171103477478, 0.01731758937239647, 0.01565677672624588, -0.015560030937194824, -0.0010314567480236292, -0.017704574391245842, 0.033925704658031464, -0.0882326290011406, 0.04147191718220711, 0.03731182590126991, 0.0014330546837300062, -0.02428332343697548, -0.010674342513084412, 0.0316682904958725, 0.02004260942339897, -0.01007774006575346, 0.04079469293355942, -0.06182089075446129, 0.06314308941364288, -0.00825568474829197, -0.008836162276566029, -0.050211332738399506, -0.027330832555890083, 0.05450041964650154, -0.016978977248072624, -0.008521737530827522, 0.0014542179415002465, -0.05011458694934845, -0.023267487064003944, -0.04179440438747406, 0.04253612458705902, -0.016471058130264282, 0.01652749441564083, 0.0024408285971730947, -0.006219981238245964, -0.015955079346895218, -0.011077452450990677, 0.0020619055721908808, -0.027169587090611458, -0.03311948478221893, 0.004974372684955597, -0.00293665356002748, -0.0421491414308548, -0.11448313295841217, 0.0033296854235231876, -0.015890581533312798, 0.031232932582497597, 0.00927958358079195, -0.029620494693517685, -0.01973624713718891, 0.02786293625831604, 0.01652749441564083, 0.058950748294591904, -0.07997694611549377, -0.012085226364433765, -0.0075784604996442795, 0.012843072414398193, 0.010085802525281906, -0.04205239564180374, -0.0032006902620196342, 0.023396482691168785, 0.02360609918832779, 0.006913329940289259, 0.03747307136654854, -0.0031341772992163897, 0.010932332836091518, 0.0055669439025223255, -0.02700834348797798, -0.010488912463188171, -0.01060178317129612, 0.00507111893966794, -0.0006580764311365783, -0.0017656200798228383, 0.003998847212642431, 0.03592512756586075, 0.00510336784645915, 0.01245608739554882, -0.007022169418632984, -0.00439389469102025, 0.04895363003015518, 0.012754388153553009, -0.00882003828883171, -0.09384391456842422, -0.009110277518630028, -0.09055454283952713, 0.0011387846898287535, -0.01174661424010992, -0.007002014201134443, -0.008666856214404106, 0.01659199222922325, 0.010932332836091518, -0.03902101144194603, -0.01418139599263668, -0.011311255395412445, 0.012472211383283138, -0.03292599320411682, -0.006598904263228178, 0.0430198572576046, 0.016309814527630806, -0.0083524314686656, 0.00902965571731329, 0.05311372131109238, 0.00850561261177063, -0.01768844947218895, -0.014294266700744629, -0.0001568348379805684, 0.004889719653874636, 0.02157442644238472, -0.008392741903662682, 0.012875321321189404, -0.004728475585579872, -0.008062192238867283, 0.032281018793582916, -0.01755945384502411, 0.011238696053624153, -0.012036853469908237, 0.06307858973741531, 0.018043186515569687, -0.029862361028790474, 0.01818830519914627, -0.03076532483100891, -0.010182549245655537, 0.03271637484431267, -0.021864665672183037, 0.021219689399003983, -0.008126690052449703, -0.014310391619801521, -0.003769074799492955, 0.02441231906414032, 0.0021304343827068806, -0.011262882500886917, 0.018462419509887695, 0.007223724387586117, -0.01264151744544506, -0.00168701377697289, -0.017672324553132057, 0.06843189150094986, 0.01050503645092249, 0.03889201581478119, 0.05627410113811493, 0.030410589650273323, -0.006699681747704744, 0.03808579593896866, 0.018349548801779747, 0.011835298500955105, 0.023267487064003944, -0.02644398994743824, -0.03274862468242645, 0.008481426164507866, -0.029491499066352844, -0.028314419090747833, 0.01214166171848774, 0.007630865089595318, 0.016737110912799835, 0.028459537774324417, 0.06694844365119934, 0.024815427139401436, -6.172616122057661e-05, -0.05862826108932495, -0.009384391829371452, 0.0036400798708200455, 0.0421491414308548, 0.005054994486272335, 0.025508776307106018, -0.04943736270070076, 0.0679159089922905, -0.007433341350406408, 0.006280447822064161, -0.009392454288899899, 0.03789230436086655, 0.014721563085913658, 0.011859484948217869, 0.023138491436839104, 0.010698528960347176, -0.012504460290074348, 0.01506823766976595, -0.025137916207313538, -0.010996830649673939, 0.027524324133992195, -0.038376033306121826, -0.0345061831176281, 0.008235529065132141, 0.026863224804401398, 0.008424990810453892, 0.04985659569501877, -0.08597521483898163, 0.03087819553911686, 0.08874861150979996, -0.014262017793953419, -0.04260062426328659, -0.01572933793067932, -0.003057586494833231, -0.015890581533312798, 0.06959284096956253, -0.026863224804401398, 0.007292252965271473, 0.022574137896299362, 0.015890581533312798, -0.007876762188971043, -0.03437718749046326, 0.011383815668523312, -0.024122079834342003, -0.00732047064229846, 0.01278663706034422, 0.0018281020456925035, -0.06504576653242111, -0.05856376513838768, 0.02109069563448429, 0.0644330382347107, 0.013270368799567223, -0.0469542071223259, -0.0006228043348528445, 0.0017918222583830357, -0.030346091836690903, -0.00786466896533966, -0.0775260403752327, -0.012835009954869747, 0.015793833881616592, -0.02373509481549263, -0.036279864609241486, -0.010553409345448017, 0.019284764304757118, -0.013060751371085644, 0.011996542103588581, -0.016446871683001518, -0.018526917323470116, 0.01645493507385254, -0.001411891425959766, 0.04131067171692848, 0.013294555246829987, 0.020735958591103554, -0.010916207917034626, -0.004514827858656645, 0.002833860693499446, -0.021671172231435776, 0.019155768677592278, -0.029942981898784637, 0.012448024936020374, 0.031410299241542816, 0.007425278890877962, -0.041149429976940155, 0.008957095444202423, -0.001743449131026864, -0.023718969896435738, -0.02902389131486416, 0.026186000555753708, 0.01368154026567936, -0.013770224526524544, 0.03137805312871933, 0.013246181420981884, -0.007183413486927748, -0.00607083085924387, -0.0038537278305739164, 0.01507629919797182, 0.06482002884149551, 0.05746730789542198, 0.011875608935952187, 0.017027350142598152, 0.007203568704426289, -0.05740280821919441, -0.03137805312871933, -0.017043475061655045, 0.01060178317129612, 0.018655912950634956, -0.052984725683927536, 0.01954275369644165, 0.006123234983533621, 0.026669731363654137, 0.022283898666501045, -0.006868987809866667, -0.02804030478000641, -0.0006338898674584925, 0.07243073731660843, -0.006409442983567715, -0.08803913742303848, -0.04063344746828079, 0.029733365401625633, -0.06059543788433075, 0.002835876075550914, -0.004522889852523804, 0.02065533585846424, -0.004950186237692833, 0.0034848826471716166, -0.004045205190777779, 0.025605522096157074, 0.027201836928725243, -0.022461267188191414, 0.05572587251663208, -0.03063633106648922, -0.010561471804976463, 0.01836567372083664, 0.10596945136785507, 0.01245608739554882, 0.006651308387517929, -0.007804201915860176, -0.0037368261255323887, -0.04069794714450836, -0.028685279190540314, -0.01794644072651863, -0.05037257820367813, 0.02768556773662567, -0.01143218856304884, -0.018720410764217377, 0.0759781002998352, -0.039923977106809616, -0.008957095444202423, 0.0017646122723817825, 0.037569817155599594, -0.0295882448554039, -0.023073993623256683, 0.038988761603832245, 0.03299048915505409, 0.011980418115854263, -0.013544483110308647, 0.09932620823383331, 0.09887472540140152, 0.035667140036821365, 0.00459141843020916, 0.03328073024749756, 0.035409148782491684, 0.006901236716657877, 7.079612259985879e-05, -0.041891150176525116, 0.00705844908952713, -0.03268412873148918, -0.0028600627556443214, 0.016414623707532883, -0.029314130544662476, -0.04208464175462723, 0.040407706052064896, 0.03107168897986412, 0.014931180514395237, 0.0005955944652669132, 0.028217673301696777, -0.03174891322851181, -0.02454131282866001, -0.018075434491038322, -0.0469542071223259, -0.03207140043377876, 0.0052887978963553905, 0.02083270438015461, 0.02323523722589016, 0.010650156065821648, 0.04724444821476936, -0.030991066247224808, -0.03840828314423561, 0.017801320180296898, -0.02602475695312023, 0.02329973503947258, 0.04124617576599121, 0.006772241555154324, -0.006776272784918547, -0.008376617915928364, 0.09706879407167435, 0.011109701357781887, -0.028072552755475044, 0.008513675071299076, 0.021896913647651672, -0.006219981238245964, 0.0007785054622218013, 0.020058734342455864, 0.03921450302004814, 0.0011327379615977407, 0.02576676569879055, -0.0027794407214969397, -0.005865244660526514, 0.013238119892776012, -0.0390855073928833, -0.016866106539964676, -0.03194240480661392, 0.01794644072651863, 0.026911597698926926, 0.016624240204691887, 0.005736249964684248, 0.04772817716002464, 0.021687297150492668, -0.04605124145746231, -0.0048211910761892796, 0.003075726330280304, 0.009045779705047607, -0.03149092197418213, 0.005712063051760197, -0.009045779705047607, 0.007042325101792812, 0.04011746868491173, 0.06933484971523285, 0.053468458354473114, -0.04353583976626396, 0.021558301523327827, 0.0353768989443779, -0.003380074165761471, 0.0040391581133008, 0.012512522749602795, 0.02570226974785328, -0.04630923271179199, -0.039536990225315094, 0.008134751580655575, -0.001273826346732676, -0.03302273899316788, 0.006651308387517929, -0.01152893528342247, 0.026976095512509346, -0.00555081944912672, -0.057241566479206085, -0.01525366771966219, -0.021219689399003983, 0.04637372866272926, -0.02594413422048092, 0.04085918888449669, -0.022509640082716942, 0.007155195809900761, -0.005990209057927132, 0.005143678747117519, 0.0021949317306280136, -0.023009495809674263, 0.01762395165860653, 0.007913041859865189, 0.013576732017099857, -0.03120068460702896, 0.00274316081777215, 0.006473940331488848, -0.05340396240353584, -0.03753756731748581, 0.015624528750777245, -0.02342873066663742, 0.010521160438656807, 0.02213877998292446, 0.04224588721990585, -0.0063368831761181355, 0.03353872150182724, 0.03207140043377876, -0.04495478421449661, 0.054468169808387756, 0.020268350839614868, -0.02749207615852356, -0.038924265652894974, -0.023073993623256683, -0.024267198517918587, -0.018268927931785583, 0.03211977332830429, 0.024686433374881744, -0.017333712428808212, -0.02218715287744999, 0.01146443746984005, 0.003253094619140029, 0.00699798297137022, -0.01880103163421154, 0.02305787056684494, -0.0310071911662817, 0.015987327322363853, 0.0478249229490757, -0.08913559466600418, -0.03989172726869583, 0.04469679296016693, 0.028878772631287575, 0.002118340926244855, 0.016108259558677673, -0.014052401296794415, -0.020687585696578026, -0.02749207615852356, 0.027653319761157036, -0.021977536380290985, 0.02028447575867176, -0.06156289950013161, 0.014665127731859684, 0.0674644261598587, -0.034989915788173676, 0.02970111556351185, 0.011907857842743397, 0.028765901923179626, -0.02755657397210598, -0.02205815725028515, -0.04163316264748573, 0.003956520929932594, 0.06810940057039261, -0.007094729226082563, 0.007651020307093859, 0.049405112862586975, 0.0067923967726528645, 0.025734517723321915, 0.009690755046904087, -0.027750065550208092, -0.04272961989045143, 0.004889719653874636, 0.04218139126896858, 0.008892597630620003, 0.012214221060276031, 0.023444855585694313, -0.010625969618558884, -0.0007774976547807455, 0.009803625755012035, 0.020171605050563812, -0.01910739578306675, -0.037569817155599594, -0.019526628777384758, -0.03026546910405159, -0.018704285845160484, 0.03969823569059372, 0.02299337275326252, -0.052243005484342575, -0.045535262674093246, 0.018897779285907745, -0.019091270864009857, 0.008900660090148449, 0.06798040866851807, -0.01297206711024046, -0.030233221128582954, 0.0023158646654337645, 0.012004604563117027, 0.01069046650081873, -0.049953341484069824, 0.0039041165728121996, -0.055016398429870605, -0.0020467890426516533, 0.0028318450786173344, 0.018156057223677635, -0.023815715685486794, 0.004329397343099117, -0.04211689159274101, 0.05201726406812668, -0.022606387734413147, -0.04576100409030914, 0.005865244660526514, 0.0011851423187181354, -0.026830974966287613, -0.002674632240086794, 0.015479409135878086, -0.05037257820367813, 0.019881365820765495, -0.010166424326598644, -0.006373162847012281, 0.030652454122900963, 0.004607542883604765, -0.003172472584992647, 0.046889711171388626, -7.04182093613781e-05, 0.022896625101566315, 0.0013353006215766072, 0.0600472092628479, 0.003166425973176956, 0.007703424897044897, -0.0001686761825112626, 0.024009209126234055, -0.005272673908621073, -0.0325390063226223, -0.03321623057126999, -0.018543042242527008, -0.007586522959172726, 0.07694556564092636, -0.0012415775563567877, -0.004575293976813555, 0.005913618020713329, 0.01232709176838398, -0.0040351273491978645, -0.016180820763111115, 0.017236966639757156, -0.0030031665228307247, -0.04672846570611, -0.010996830649673939, 0.029378628358244896, 0.032393887639045715, -0.03934349864721298, 0.04801841825246811, 0.0019873303826898336, -0.005720125511288643, 0.0006495103589259088, -0.015519720502197742, 0.032942116260528564, 0.023589974269270897, 0.029572121798992157, -0.0019530660938471556, -0.029862361028790474, 0.036408860236406326, 0.046825211495161057, 0.022961122915148735, 0.05314597114920616, -0.026298871263861656, 0.05182377249002457, -0.024138202890753746, -0.011424126103520393, 0.038730770349502563, -3.287862637080252e-05, -0.009319894015789032, 0.019494380801916122, -0.021848540753126144, 0.01794644072651863, 0.00405125180259347, -0.020913327112793922, -0.02279987931251526, -0.0014421246014535427, -0.04037545993924141, -0.003922256641089916, -0.00789288617670536, -0.026250498369336128, 0.04647047445178032, 0.01954275369644165, 0.031523171812295914, 0.008900660090148449, 0.0025033107958734035, 0.008171032182872295, -0.006187732331454754, 0.02539590559899807, -0.04179440438747406, 0.002299740444868803, 0.03205527737736702, 0.058660510927438736, 0.022767631337046623, -0.050630565732717514, 0.005139647517353296, 0.0022191184107214212, -0.017672324553132057, -0.05579037219285965, -0.006111141759902239, 0.0399562232196331, 0.005929742474108934, -0.02120356634259224, 0.007618771865963936, -0.005441979970782995, -0.007900948636233807, -0.04414856433868408, 0.023364232853055, 0.004333428107202053, -0.03274862468242645, -0.021122943609952927, -0.056628838181495667, 0.019284764304757118, 0.030894320458173752, 0.006844801362603903, 0.012794699519872665, -0.002307802438735962, 0.04637372866272926, -0.020203853026032448, -0.017494957894086838, 0.0018956229323521256, 0.0055911303497850895, -0.027072841301560402, 0.012254532426595688, -0.025750642642378807, 0.019929738715291023, -0.022283898666501045, 0.0063368831761181355, 0.010053553618490696, 0.021977536380290985, 0.0014945288421586156, -0.02655686065554619, 0.05108204856514931, 0.04043995589017868, -0.025073418393731117, 0.02410595491528511, -0.010166424326598644, 0.02607312984764576, -0.02854016050696373, 0.03176503628492355, 0.010101926513016224, 0.05227525532245636, 0.004345521796494722, -0.039601489901542664, 0.02854016050696373, -0.016817733645439148, 0.012625393457710743, -0.02207428216934204, 0.03373221307992935, -0.032700251787900925, -0.04253612458705902, 0.037086084485054016, -0.011819173581898212, -0.01335099060088396, -0.03224876895546913, 0.029314130544662476, -0.02742757834494114, 0.0023219112772494555, 0.006941547617316246, -0.020074859261512756, -0.02133256010711193, -0.02404145710170269, 0.021219689399003983, -0.06765791773796082, 0.021671172231435776, -0.031152311712503433, 0.005478259641677141, 0.02607312984764576, -0.05134003981947899, -0.013326804153621197, -0.05991821363568306, 0.02908838912844658, -0.0028499849140644073, 0.01991361565887928, 0.023928586393594742, 0.007026200648397207, -0.019381510093808174, -0.029620494693517685, -0.024380069226026535, 0.035731635987758636, 0.001526777632534504, -0.05201726406812668, 0.04424531012773514, 0.01880103163421154, -0.014471635222434998, -0.01694672740995884, 0.01831730082631111, 0.00838468037545681, -0.044535551220178604, 0.06785140931606293, -0.03168441727757454, 0.05843476951122284, 0.030652454122900963, 0.04408406838774681, 0.037086084485054016, 0.0027451764326542616, -0.000567880691960454, -0.011794987134635448, -0.015697088092565536, -0.009303770028054714, 0.026605233550071716, -0.02496054768562317, 0.018720410764217377, -0.04414856433868408, 0.021977536380290985, -0.007848544046282768, 0.050017841160297394, 0.016801608726382256, -0.01039216574281454, -0.024138202890753746, 0.0561128593981266, -0.004418081138283014, 0.01257701963186264, -0.04914712533354759, -0.016180820763111115, -0.004514827858656645, -0.04095593839883804, -0.019091270864009857, 0.0049139061011374, -0.053049225360155106, -0.01371378917247057, -0.03311948478221893, 0.0364733561873436, 0.024831552058458328, 0.02644398994743824, -0.051501285284757614, 0.03210365027189255, 0.002547652693465352, -0.05017908290028572, -0.02607312984764576, 0.003793261479586363, 0.02520241215825081, -0.02823379635810852, 0.03453843295574188, -0.008130720816552639, -0.05221075564622879, -0.01891390234231949, 0.04308435693383217, -0.013834722340106964, -0.04085918888449669, -0.03207140043377876, -0.0044785477221012115, 0.020993947982788086, 0.021558301523327827, -0.0001853044523159042, 0.01941375806927681, -0.02546040341258049, -0.025347532704472542, 0.017091847956180573, -0.003454649355262518, 0.029056141152977943, -0.0258796364068985, 0.007348688319325447, -0.04598674550652504, -0.01688223145902157, -0.01781744509935379, -0.018946152180433273, -0.01075496431440115, -0.004272961989045143, -0.03889201581478119, 0.04530952125787735, 0.013770224526524544, -0.02502504549920559, 0.07081829756498337, -0.026363369077444077, -0.007699393667280674, 7.614992500748485e-05, -0.004494672175496817, -0.06888337433338165, -0.0031059596221894026, -0.005216238554567099, -0.039665985852479935, 0.05046932399272919, 0.012931756675243378, 0.0011750644771382213, 0.005599192343652248, 0.01764007657766342, 0.014229768887162209, -0.03976273164153099, -0.012560895644128323, 0.007284190505743027, 0.013802473433315754, -0.03789230436086655, 0.045535262674093246, -0.03315173462033272, 0.0007538149948231876 ], "result": "--- 结果 1 (相似度: 1.000) ---\n文件路径: C:\\Steam\\steamapps\\common\\RimWorld\\Data\\dll1.6\\Verse\\Thing.txt\n\npublic class Thing : Entity, ISelectable, ILoadReferenceable, ISignalReceiver, IExposable, IEquatable\n{\n\tpublic ThingDef def;\n\n\tpublic int thingIDNumber = -1;\n\n\tprivate sbyte mapIndexOrState = -1;\n\n\tprivate IntVec3 positionInt = IntVec3.Invalid;\n\n\tprivate Rot4 rotationInt = Rot4.North;\n\n\tpublic int stackCount = 1;\n\n\tprotected Faction factionInt;\n\n\tprivate ThingDef stuffInt;\n\n\tprivate Graphic graphicInt;\n\n\tprotected Graphic styleGraphicInt;\n\n\tprivate int hitPointsInt = -1;\n\n\tpublic ThingOwner holdingOwner;\n\n\tpublic List questTags;\n\n\tpublic int spawnedTick = -1;\n\n\tpublic int despawnedTick = -1;\n\n\tpublic int? overrideGraphicIndex;\n\n\tpublic bool debugRotLocked;\n\n\tprivate bool beingTransportedOnGravship;\n\n\tprivate int tickDelta;\n\n\tprivate bool beenRevealed;\n\n\tpublic bool shouldHighlightCached;\n\n\tpublic int shouldHighlightCachedTick;\n\n\tpublic Color highlightColorCached;\n\n\tpublic int highlightColorCachedTick;\n\n\tprotected const sbyte UnspawnedState = -1;\n\n\tprivate const sbyte MemoryState = -2;\n\n\tprivate const sbyte DiscardedState = -3;\n\n\tprivate List tmpHolders;\n\n\tpublic static bool allowDestroyNonDestroyable = false;\n\n\tprivate static Dictionary facIDsCached = new Dictionary();\n\n\tprivate static List tmpDeteriorationReasons = new List();\n\n\tpublic static HashSet showingGizmosForRitualsTmp = new HashSet();\n\n\tprivate static List tmpIdeoNames = new List();\n\n\tpublic const float SmeltCostRecoverFraction = 0.25f;\n\n\tpublic virtual int HitPoints\n\t{\n\t\tget\n\t\t{\n\t\t\treturn hitPointsInt;\n\t\t}\n\t\tset\n\t\t{\n\t\t\thitPointsInt = value;\n\t\t}\n\t}\n\n\tpublic int MaxHitPoints => Mathf.RoundToInt(this.GetStatValue(StatDefOf.MaxHitPoints, applyPostProcess: true, 10));\n\n\tpublic virtual float MarketValue => this.GetStatValue(StatDefOf.MarketValue);\n\n\tpublic virtual float RoyalFavorValue => this.GetStatValue(StatDefOf.RoyalFavorValue);\n\n\tpublic virtual int? OverrideGraphicIndex => overrideGraphicIndex;\n\n\tpublic virtual Texture UIIconOverride => null;\n\n\tpublic bool EverSeenByPlayer\n\t{\n\t\tget\n\t\t{\n\t\t\treturn this.GetEverSeenByPlayer();\n\t\t}\n\t\tset\n\t\t{\n\t\t\tthis.SetEverSeenByPlayer(value);\n\t\t}\n\t}\n\n\tpublic virtual ThingStyleDef StyleDef\n\t{\n\t\tget\n\t\t{\n\t\t\treturn this.GetStyleDef();\n\t\t}\n\t\tset\n\t\t{\n\t\t\tstyleGraphicInt = null;\n\t\t\tthis.SetStyleDef(value);\n\t\t}\n\t}\n\n\tpublic Precept_ThingStyle StyleSourcePrecept\n\t{\n\t\tget\n\t\t{\n\t\t\treturn this.GetStyleSourcePrecept();\n\t\t}\n\t\tset\n\t\t{\n\t\t\tthis.SetStyleSourcePrecept(value);\n\t\t}\n\t}\n\n\tpublic bool FlammableNow\n\t{\n\t\tget\n\t\t{\n\t\t\tif (this.GetStatValue(StatDefOf.Flammability) < 0.01f)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tif (Spawned && !FireBulwark)\n\t\t\t{\n\t\t\t\tList thingList = Position.GetThingList(Map);\n\t\t\t\tif (thingList != null)\n\t\t\t\t{\n\t\t\t\t\tfor (int i = 0; i < thingList.Count; i++)\n\t\t\t\t\t{\n\t\t\t\t\t\tif (thingList[i].FireBulwark)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t}\n\n\tpublic virtual bool FireBulwark => def.Fillage == FillCategory.Full;\n\n\tpublic bool Destroyed\n\t{\n\t\tget\n\t\t{\n\t\t\tif (mapIndexOrState != -2)\n\t\t\t{\n\t\t\t\treturn mapIndexOrState == -3;\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t}\n\n\tpublic bool Discarded => mapIndexOrState == -3;\n\n\tpublic bool Spawned\n\t{\n\t\tget\n\t\t{\n\t\t\tif (mapIndexOrState < 0 || Find.Maps == null)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tif (mapIndexOrState < Find.Maps.Count)\n\t\t\t{\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tLog.ErrorOnce($\"Thing {ThingID} is associated with invalid map index {mapIndexOrState}\", 64664487);\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic bool SpawnedOrAnyParentSpawned => SpawnedParentOrMe != null;\n\n\tpublic Thing SpawnedParentOrMe\n\t{\n\t\tget\n\t\t{\n\t\t\tif (Spawned)\n\t\t\t{\n\t\t\t\treturn this;\n\t\t\t}\n\t\t\tif (ParentHolder != null)\n\t\t\t{\n\t\t\t\treturn ThingOwnerUtility.SpawnedParentOrMe(ParentHolder);\n\t\t\t}\n\t\t\treturn null;\n\t\t}\n\t}\n\n\tpublic int TickSpawned => spawnedTick;\n\n\tpublic int TickDeSpawned => despawnedTick;\n\n\tpublic Map Map\n\t{\n\t\tget\n\t\t{\n\t\t\tif (mapIndexOrState >= 0)\n\t\t\t{\n\t\t\t\treturn Find.Maps?[mapIndexOrState];\n\t\t\t}\n\t\t\treturn null;\n\t\t}\n\t}\n\n\tpublic Map MapHeld\n\t{\n\t\tget\n\t\t{\n\t\t\tif (Spawned)\n\t\t\t{\n\t\t\t\treturn Map;\n\t\t\t}\n\t\t\tif (ParentHolder == null)\n\t\t\t{\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\treturn ThingOwnerUtility.GetRootMap(ParentHolder);\n\t\t}\n\t}\n\n\tpublic IntVec3 Position\n\t{\n\t\tget\n\t\t{\n\t\t\treturn positionInt;\n\t\t}\n\t\tset\n\t\t{\n\t\t\tif (value == positionInt)\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (Spawned)\n\t\t\t{\n\t\t\t\tif (def.AffectsRegions)\n\t\t\t\t{\n\t\t\t\t\tLog.Warning(\"Changed position of a spawned thing which affects regions. This is not supported.\");\n\t\t\t\t}\n\t\t\t\tDirtyMapMesh(Map);\n\t\t\t\tRegionListersUpdater.DeregisterInRegions(this, Map);\n\t\t\t\tMap.thingGrid.Deregister(this);\n\t\t\t\tMap.coverGrid.DeRegister(this);\n\t\t\t}\n\t\t\tpositionInt = value;\n\t\t\tif (Spawned)\n\t\t\t{\n\t\t\t\tMap.thingGrid.Register(this);\n\t\t\t\tMap.coverGrid.Register(this);\n\t\t\t\tMap.gasGrid.Notify_ThingSpawned(this);\n\t\t\t\tRegionListersUpdater.RegisterInRegions(this, Map);\n\t\t\t\tDirtyMapMesh(Map);\n\t\t\t\tif (def.AffectsReachability)\n\t\t\t\t{\n\t\t\t\t\tMap.reachability.ClearCache();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic IntVec3 PositionHeld\n\t{\n\t\tget\n\t\t{\n\t\t\tif (Spawned)\n\t\t\t{\n\t\t\t\treturn Position;\n\t\t\t}\n\t\t\tIntVec3 rootPosition = ThingOwnerUtility.GetRootPosition(ParentHolder);\n\t\t\tif (rootPosition.IsValid)\n\t\t\t{\n\t\t\t\treturn rootPosition;\n\t\t\t}\n\t\t\treturn Position;\n\t\t}\n\t}\n\n\tpublic Rot4 Rotation\n\t{\n\t\tget\n\t\t{\n\t\t\treturn rotationInt;\n\t\t}\n\t\tset\n\t\t{\n\t\t\tif (value == rotationInt || debugRotLocked)\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (Spawned && (def.size.x != 1 || def.size.z != 1))\n\t\t\t{\n\t\t\t\tif (def.AffectsRegions)\n\t\t\t\t{\n\t\t\t\t\tLog.Warning(\"Changed rotation of a spawned non-single-cell thing which affects regions. This is not supported.\");\n\t\t\t\t}\n\t\t\t\tRegionListersUpdater.DeregisterInRegions(this, Map);\n\t\t\t\tMap.thingGrid.Deregister(this);\n\t\t\t}\n\t\t\trotationInt = value;\n\t\t\tif (Spawned && (def.size.x != 1 || def.size.z != 1))\n\t\t\t{\n\t\t\t\tMap.thingGrid.Register(this);\n\t\t\t\tRegionListersUpdater.RegisterInRegions(this, Map);\n\t\t\t\tMap.gasGrid.Notify_ThingSpawned(this);\n\t\t\t\tif (def.AffectsReachability)\n\t\t\t\t{\n\t\t\t\t\tMap.reachability.ClearCache();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic bool Smeltable\n\t{\n\t\tget\n\t\t{\n\t\t\tif (this.IsRelic())\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tif (def.smeltable)\n\t\t\t{\n\t\t\t\tif (def.MadeFromStuff)\n\t\t\t\t{\n\t\t\t\t\treturn Stuff.smeltable;\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic bool BurnableByRecipe\n\t{\n\t\tget\n\t\t{\n\t\t\tif (def.burnableByRecipe)\n\t\t\t{\n\t\t\t\tif (def.MadeFromStuff)\n\t\t\t\t{\n\t\t\t\t\treturn Stuff.burnableByRecipe;\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic IThingHolder ParentHolder => holdingOwner?.Owner;\n\n\tpublic Faction Faction => factionInt;\n\n\tpublic string ThingID\n\t{\n\t\tget\n\t\t{\n\t\t\tif (def.HasThingIDNumber)\n\t\t\t{\n\t\t\t\treturn def.defName + thingIDNumber;\n\t\t\t}\n\t\t\treturn def.defName;\n\t\t}\n\t\tset\n\t\t{\n\t\t\tthingIDNumber = IDNumberFromThingID(value);\n\t\t}\n\t}\n\n\tpublic IntVec2 RotatedSize\n\t{\n\t\tget\n\t\t{\n\t\t\tif (!rotationInt.IsHorizontal)\n\t\t\t{\n\t\t\t\treturn def.size;\n\t\t\t}\n\t\t\treturn new IntVec2(def.size.z, def.size.x);\n\t\t}\n\t}\n\n\tpublic virtual CellRect? CustomRectForSelector => null;\n\n\tpublic override string Label\n\t{\n\t\tget\n\t\t{\n\t\t\tif (stackCount > 1)\n\t\t\t{\n\t\t\t\treturn LabelNoCount + \" x\" + stackCount.ToStringCached();\n\t\t\t}\n\t\t\treturn LabelNoCount;\n\t\t}\n\t}\n\n\tpublic virtual string LabelNoCount => GenLabel.ThingLabel(this, 1);\n\n\tpublic override string LabelCap => Label.CapitalizeFirst(def);\n\n\tpublic virtual string LabelCapNoCount => LabelNoCount.CapitalizeFirst(def);\n\n\tpublic override string LabelShort => LabelNoCount;\n\n\tpublic virtual string LabelNoParenthesis => GenLabel.ThingLabel(this, 1, includeHp: false, includeQuality: false);\n\n\tpublic string LabelNoParenthesisCap => LabelNoParenthesis.CapitalizeFirst();\n\n\tpublic virtual ModContentPack ContentSource => def.modContentPack;\n\n\tpublic virtual bool IngestibleNow\n\t{\n\t\tget\n\t\t{\n\t\t\tif (this.IsBurning())\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn def.IsIngestible;\n\t\t}\n\t}\n\n\tpublic ThingDef Stuff => stuffInt;\n\n\tpublic Graphic DefaultGraphic\n\t{\n\t\tget\n\t\t{\n\t\t\tif (graphicInt == null)\n\t\t\t{\n\t\t\t\tif (def.graphicData == null)\n\t\t\t\t{\n\t\t\t\t\treturn BaseContent.BadGraphic;\n\t\t\t\t}\n\t\t\t\tgraphicInt = def.graphicData.GraphicColoredFor(this);\n\t\t\t}\n\t\t\treturn graphicInt;\n\t\t}\n\t}\n\n\tpublic virtual Graphic Graphic\n\t{\n\t\tget\n\t\t{\n\t\t\tThingStyleDef styleDef = StyleDef;\n\t\t\tif (styleDef?.Graphic != null)\n\t\t\t{\n\t\t\t\tif (styleGraphicInt == null)\n\t\t\t\t{\n\t\t\t\t\tif (styleDef.graphicData != null)\n\t\t\t\t\t{\n\t\t\t\t\t\tstyleGraphicInt = styleDef.graphicData.GraphicColoredFor(this);\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tstyleGraphicInt = styleDef.Graphic;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn styleGraphicInt;\n\t\t\t}\n\t\t\treturn DefaultGraphic;\n\t\t}\n\t}\n\n\tpublic virtual List InteractionCells => ThingUtility.InteractionCellsWhenAt(def, Position, Rotation, Map, allowFallbackCell: true);\n\n\tpublic virtual IntVec3 InteractionCell => ThingUtility.InteractionCellWhenAt(def, Position, Rotation, Map);\n\n\tpublic float AmbientTemperature\n\t{\n\t\tget\n\t\t{\n\t\t\tif (Spawned)\n\t\t\t{\n\t\t\t\treturn GenTemperature.GetTemperatureForCell(Position, Map);\n\t\t\t}\n\t\t\tif (ParentHolder != null)\n\t\t\t{\n\t\t\t\tfor (IThingHolder parentHolder = ParentHolder; parentHolder != null; parentHolder = parentHolder.ParentHolder)\n\t\t\t\t{\n\t\t\t\t\tif (ThingOwnerUtility.TryGetFixedTemperature(parentHolder, this, out var temperature))\n\t\t\t\t\t{\n\t\t\t\t\t\treturn temperature;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (SpawnedOrAnyParentSpawned)\n\t\t\t{\n\t\t\t\treturn GenTemperature.GetTemperatureForCell(PositionHeld, MapHeld);\n\t\t\t}\n\t\t\tif (Tile.Valid)\n\t\t\t{\n\t\t\t\treturn GenTemperature.GetTemperatureAtTile(Tile);\n\t\t\t}\n\t\t\treturn 21f;\n\t\t}\n\t}\n\n\tpublic PlanetTile Tile\n\t{\n\t\tget\n\t\t{\n\t\t\tif (Spawned)\n\t\t\t{\n\t\t\t\treturn Map.Tile;\n\t\t\t}\n\t\t\tif (ParentHolder != null)\n\t\t\t{\n\t\t\t\treturn ThingOwnerUtility.GetRootTile(ParentHolder);\n\t\t\t}\n\t\t\treturn PlanetTile.Invalid;\n\t\t}\n\t}\n\n\tpublic virtual bool Suspended\n\t{\n\t\tget\n\t\t{\n\t\t\tif (Spawned)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tif (ParentHolder != null)\n\t\t\t{\n\t\t\t\treturn ThingOwnerUtility.ContentsSuspended(ParentHolder);\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic bool InCryptosleep\n\t{\n\t\tget\n\t\t{\n\t\t\tif (Spawned)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tif (ParentHolder != null)\n\t\t\t{\n\t\t\t\treturn ThingOwnerUtility.ContentsInCryptosleep(ParentHolder);\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic virtual string DescriptionDetailed => def.DescriptionDetailed;\n\n\tpublic virtual string DescriptionFlavor => def.description;\n\n\tpublic bool IsOnHoldingPlatform\n\t{\n\t\tget\n\t\t{\n\t\t\tif (ModsConfig.AnomalyActive)\n\t\t\t{\n\t\t\t\treturn ParentHolder is Building_HoldingPlatform;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic TerrainAffordanceDef TerrainAffordanceNeeded => def.GetTerrainAffordanceNeed(stuffInt);\n\n\tpublic bool BeingTransportedOnGravship => beingTransportedOnGravship;\n\n\tprotected virtual int MinTickIntervalRate => 1;\n\n\tprotected virtual int MaxTickIntervalRate => 15;\n\n\tprotected virtual int UpdateRateTickOffset => this.HashOffset();\n\n\tpublic virtual int UpdateRateTicks => GenTicks.GetCameraUpdateRate(this);\n\n\tpublic Vector3? DrawPosHeld\n\t{\n\t\tget\n\t\t{\n\t\t\tif (Spawned)\n\t\t\t{\n\t\t\t\treturn DrawPos;\n\t\t\t}\n\t\t\treturn ThingOwnerUtility.SpawnedParentOrMe(ParentHolder)?.DrawPos;\n\t\t}\n\t}\n\n\tpublic virtual Vector3 DrawPos => this.TrueCenter();\n\n\tpublic virtual Vector2 DrawSize\n\t{\n\t\tget\n\t\t{\n\t\t\tif (def.graphicData != null)\n\t\t\t{\n\t\t\t\treturn def.graphicData.drawSize;\n\t\t\t}\n\t\t\treturn Vector2.one;\n\t\t}\n\t}\n\n\tpublic virtual Color DrawColor\n\t{\n\t\tget\n\t\t{\n\t\t\tif (Stuff != null)\n\t\t\t{\n\t\t\t\treturn def.GetColorForStuff(Stuff);\n\t\t\t}\n\t\t\tif (def.graphicData != null)\n\t\t\t{\n\t\t\t\treturn def.graphicData.color;\n\t\t\t}\n\t\t\treturn Color.white;\n\t\t}\n\t\tset\n\t\t{\n\t\t\tLog.Error($\"Cannot set instance color on non-ThingWithComps {LabelCap} at {Position}.\");\n\t\t}\n\t}\n\n\tpublic virtual Color DrawColorTwo\n\t{\n\t\tget\n\t\t{\n\t\t\tif (def.graphicData != null)\n\t\t\t{\n\t\t\t\treturn def.graphicData.colorTwo;\n\t\t\t}\n\t\t\treturn Color.white;\n\t\t}\n\t}\n\n\tpublic virtual IEnumerable DescriptionHyperlinks\n\t{\n\t\tget\n\t\t{\n\t\t\tif (def.descriptionHyperlinks != null)\n\t\t\t{\n\t\t\t\tfor (int i = 0; i < def.descriptionHyperlinks.Count; i++)\n\t\t\t\t{\n\t\t\t\t\tyield return def.descriptionHyperlinks[i];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic static int IDNumberFromThingID(string thingID)\n\t{\n\t\tstring value = Regex.Match(thingID, \"\\\\d+$\").Value;\n\t\tint result = 0;\n\t\ttry\n\t\t{\n\t\t\tCultureInfo invariantCulture = CultureInfo.InvariantCulture;\n\t\t\tresult = Convert.ToInt32(value, invariantCulture);\n\t\t}\n\t\tcatch (Exception ex)\n\t\t{\n\t\t\tLog.Error(\"Could not convert id number from thingID=\" + thingID + \", numString=\" + value + \" Exception=\" + ex);\n\t\t}\n\t\treturn result;\n\t}\n\n\tpublic void DoTick()\n\t{\n\t\tif (Destroyed)\n\t\t{\n\t\t\treturn;\n\t\t}\n\t\tif (def.tickerType == TickerType.Normal)\n\t\t{\n\t\t\tusing (ProfilerBlock.Scope(\"DoTick()\"))\n\t\t\t{\n\t\t\t\tusing (ProfilerBlock.Scope(\"Tick()\"))\n\t\t\t\t{\n\t\t\t\t\tTick();\n\t\t\t\t}\n\t\t\t\tif (Destroyed)\n\t\t\t\t{\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\ttickDelta++;\n\t\t\t\tint num = Mathf.Min(Mathf.Max(UpdateRateTicks, MinTickIntervalRate), MaxTickIntervalRate);\n\t\t\t\tif (tickDelta >= num || GenTicks.IsTickInterval(UpdateRateTickOffset, num))\n\t\t\t\t{\n\t\t\t\t\tusing (ProfilerBlock.Scope(\"TickInterval()\"))\n\t\t\t\t\t{\n\t\t\t\t\t\tTickInterval(tickDelta);\n\t\t\t\t\t}\n\t\t\t\t\ttickDelta = 0;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (Destroyed || !(this is IThingHolder thingHolder) || this is IThingHolderTickable { ShouldTickContents: false })\n\t\t{\n\t\t\treturn;\n\t\t}\n\t\tif (tmpHolders == null)\n\t\t{\n\t\t\ttmpHolders = new List(8);\n\t\t}\n\t\ttmpHolders.Add(thingHolder);\n\t\tthingHolder.GetChildHolders(tmpHolders);\n\t\tfor (int i = 0; i < tmpHolders.Count; i++)\n\t\t{\n\t\t\tThingOwner directlyHeldThings = tmpHolders[i].GetDirectlyHeldThings();\n\t\t\tif (directlyHeldThings != null)\n\t\t\t{\n\t\t\t\tdirectlyHeldThings.DoTick();\n\t\t\t\tif (Destroyed)\n\t\t\t\t{\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\ttmpHolders.Clear();\n\t}\n\n\tpublic virtual void PostMake()\n\t{\n\t\tThingIDMaker.GiveIDTo(this);\n\t\tif (def.useHitPoints)\n\t\t{\n\t\t\tHitPoints = Mathf.RoundToInt((float)MaxHitPoints * Mathf.Clamp01(def.startingHpRange.RandomInRange));\n\t\t}\n\t}\n\n\tpublic virtual void PostPostMake()\n\t{\n\t\tif (!def.randomStyle.NullOrEmpty() && Rand.Chance(def.randomStyleChance))\n\t\t{\n\t\t\tStyleDef = def.randomStyle.RandomElementByWeight((ThingStyleChance x) => x.Chance).StyleDef;\n\t\t}\n\t}\n\n\tpublic virtual void PostQualitySet()\n\t{\n\t}\n\n\tpublic string GetUniqueLoadID()\n\t{\n\t\treturn \"Thing_\" + ThingID;\n\t}\n\n\tpublic override void SpawnSetup(Map map, bool respawningAfterLoad)\n\t{\n\t\tif (Destroyed)\n\t\t{\n\t\t\tLog.Error(\"Spawning destroyed thing \" + this?.ToString() + \" at \" + Position.ToString() + \". Correcting.\");\n\t\t\tmapIndexOrState = -1;\n\t\t\tif (HitPoints <= 0 && def.useHitPoints)\n\t\t\t{\n\t\t\t\tHitPoints = 1;\n\t\t\t}\n\t\t}\n\t\tif (Spawned)\n\t\t{\n\t\t\tLog.Error(\"Tried to spawn already-spawned thing \" + this?.ToString() + \" at \" + Position.ToString());\n\t\t\treturn;\n\t\t}\n\t\tint num = Find.Maps.IndexOf(map);\n\t\tif (num < 0)\n\t\t{\n\t\t\tLog.Error(\"Tried to spawn thing \" + this?.ToString() + \", but the map provided does not exist.\");\n\t\t\treturn;\n\t\t}\n\t\tif (stackCount > def.stackLimit)\n\t\t{\n\t\t\tLog.Error(\"Spawned \" + this?.ToString() + \" with stackCount \" + stackCount + \" but stackLimit is \" + def.stackLimit + \". Truncating.\");\n\t\t\tstackCount = def.stackLimit;\n\t\t}\n\t\tmapIndexOrState = (sbyte)num;\n\t\tRegionListersUpdater.RegisterInRegions(this, map);\n\t\tif (!map.spawnedThings.TryAdd(this, canMergeWithExistingStacks: false))\n\t\t{\n\t\t\tLog.Error(\"Couldn't add thing \" + this?.ToString() + \" to spawned things.\");\n\t\t}\n\t\tmap.listerThings.Add(this);\n\t\tmap.thingGrid.Register(this);\n\t\tmap.gasGrid.Notify_ThingSpawned(this);\n\t\tmap.mapTemperature.Notify_ThingSpawned(this);\n\t\tif (map.IsPlayerHome)\n\t\t{\n\t\t\tEverSeenByPlayer = true;\n\t\t}\n\t\tif (Find.TickManager != null)\n\t\t{\n\t\t\tFind.TickManager.RegisterAllTickabilityFor(this);\n\t\t}\n\t\tDirtyMapMesh(map);\n\t\tif (def.drawerType != DrawerType.MapMeshOnly)\n\t\t{\n\t\t\tmap.dynamicDrawManager.RegisterDrawable(this);\n\t\t}\n\t\tmap.tooltipGiverList.Notify_ThingSpawned(this);\n\t\tif (def.CanAffectLinker)\n\t\t{\n\t\t\tmap.linkGrid.Notify_LinkerCreatedOrDestroyed(this);\n\t\t\tmap.mapDrawer.MapMeshDirty(Position, MapMeshFlagDefOf.Things, regenAdjacentCells: true, regenAdjacentSections: false);\n\t\t}\n\t\tif (!def.CanOverlapZones)\n\t\t{\n\t\t\tmap.zoneManager.Notify_NoZoneOverlapThingSpawned(this);\n\t\t}\n\t\tif (def.AffectsRegions)\n\t\t{\n\t\t\tmap.regionDirtyer.Notify_ThingAffectingRegionsSpawned(this);\n\t\t}\n\t\tif (def.pathCost != 0 || def.passability == Traversability.Impassable)\n\t\t{\n\t\t\tmap.pathing.RecalculatePerceivedPathCostUnderThing(this);\n\t\t}\n\t\tif (def.AffectsReachability)\n\t\t{\n\t\t\tmap.reachability.ClearCache();\n\t\t}\n\t\tmap.coverGrid.Register(this);\n\t\tif (def.category == ThingCategory.Item)\n\t\t{\n\t\t\tmap.listerHaulables.Notify_Spawned(this);\n\t\t\tmap.listerMergeables.Notify_Spawned(this);\n\t\t}\n\t\tmap.attackTargetsCache.Notify_ThingSpawned(this);\n\t\tmap.regionGrid.GetValidRegionAt_NoRebuild(Position)?.Room?.Notify_ContainedThingSpawnedOrDespawned(this);\n\t\tStealAIDebugDrawer.Notify_ThingChanged(this);\n\t\tif (this is IHaulDestination haulDestination)\n\t\t{\n\t\t\tmap.haulDestinationManager.AddHaulDestination(haulDestination);\n\t\t}\n\t\tif (this is IHaulSource source)\n\t\t{\n\t\t\tmap.haulDestinationManager.AddHaulSource(source);\n\t\t}\n\t\tif (this is IThingHolder && Find.ColonistBar != null)\n\t\t{\n\t\t\tFind.ColonistBar.MarkColonistsDirty();\n\t\t}\n\t\tif (def.category == ThingCategory.Item)\n\t\t{\n\t\t\tISlotGroupParent slotGroupParent = Position.GetSlotGroup(map)?.parent;\n\t\t\tif (slotGroupParent != null)\n\t\t\t{\n\t\t\t\tslotGroupParent.Notify_ReceivedThing(this);\n\t\t\t\tGenThing.TryDirtyAdjacentGroupContainers(slotGroupParent, map);\n\t\t\t}\n\t\t}\n\t\tif (def.receivesSignals)\n\t\t{\n\t\t\tFind.SignalManager.RegisterReceiver(this);\n\t\t}\n\t\tif (!BeingTransportedOnGravship)\n\t\t{\n\t\t\tdef.soundSpawned?.PlayOneShot(this);\n\t\t\tif (!respawningAfterLoad)\n\t\t\t{\n\t\t\t\tQuestUtility.SendQuestTargetSignals(questTags, \"Spawned\", this.Named(\"SUBJECT\"));\n\t\t\t\tspawnedTick = Find.TickManager.TicksGame;\n\t\t\t\tdespawnedTick = -1;\n\t\t\t\tif (AnomalyUtility.ShouldNotifyCodex(this, EntityDiscoveryType.Spawn, out var entries))\n\t\t\t\t{\n\t\t\t\t\tFind.EntityCodex.SetDiscovered(entries, def, this);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tFind.HiddenItemsManager.SetDiscovered(def);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tmap.events.Notify_ThingSpawned(this);\n\t}\n\n\tpublic bool DeSpawnOrDeselect(DestroyMode mode = DestroyMode.Vanish)\n\t{\n\t\tbool flag = Current.ProgramState == ProgramState.Playing && Find.Selector.IsSelected(this);\n\t\tif (Spawned)\n\t\t{\n\t\t\tDeSpawn(mode);\n\t\t}\n\t\telse if (flag)\n\t\t{\n\t\t\tFind.Selector.Deselect(this);\n\t\t\tFind.MainButtonsRoot.tabs.Notify_SelectedObjectDespawned();\n\t\t}\n\t\treturn flag;\n\t}\n\n\tpublic override void DeSpawn(DestroyMode mode = DestroyMode.Vanish)\n\t{\n\t\tif (Destroyed)\n\t\t{\n\t\t\tLog.Error(\"Tried to despawn \" + this.ToStringSafe() + \" which is already destroyed.\");\n\t\t\treturn;\n\t\t}\n\t\tif (!Spawned)\n\t\t{\n\t\t\tLog.Error(\"Tried to despawn \" + this.ToStringSafe() + \" which is not spawned.\");\n\t\t\treturn;\n\t\t}\n\t\tMap map = Map;\n\t\tmap.overlayDrawer.DisposeHandle(this);\n\t\tRegionListersUpdater.DeregisterInRegions(this, map);\n\t\tmap.spawnedThings.Remove(this);\n\t\tmap.listerThings.Remove(this);\n\t\tmap.thingGrid.Deregister(this);\n\t\tmap.coverGrid.DeRegister(this);\n\t\tif (def.receivesSignals)\n\t\t{\n\t\t\tFind.SignalManager.DeregisterReceiver(this);\n\t\t}\n\t\tmap.tooltipGiverList.Notify_ThingDespawned(this);\n\t\tif (def.CanAffectLinker)\n\t\t{\n\t\t\tmap.linkGrid.Notify_LinkerCreatedOrDestroyed(this);\n\t\t\tmap.mapDrawer.MapMeshDirty(Position, MapMeshFlagDefOf.Things, regenAdjacentCells: true, regenAdjacentSections: false);\n\t\t}\n\t\tif (Find.Selector.IsSelected(this))\n\t\t{\n\t\t\tFind.Selector.Deselect(this);\n\t\t\tFind.MainButtonsRoot.tabs.Notify_SelectedObjectDespawned();\n\t\t}\n\t\tDirtyMapMesh(map);\n\t\tif (def.drawerType != DrawerType.MapMeshOnly)\n\t\t{\n\t\t\tmap.dynamicDrawManager.DeRegisterDrawable(this);\n\t\t}\n\t\tmap.regionGrid.GetValidRegionAt_NoRebuild(Position)?.Room?.Notify_ContainedThingSpawnedOrDespawned(this);\n\t\tif (def.AffectsRegions)\n\t\t{\n\t\t\tmap.regionDirtyer.Notify_ThingAffectingRegionsDespawned(this);\n\t\t}\n\t\tif (def.pathCost != 0 || def.passability == Traversability.Impassable)\n\t\t{\n\t\t\tmap.pathing.RecalculatePerceivedPathCostUnderThing(this);\n\t\t}\n\t\tif (def.AffectsReachability)\n\t\t{\n\t\t\tmap.reachability.ClearCache();\n\t\t}\n\t\tFind.TickManager.DeRegisterAllTickabilityFor(this);\n\t\tmapIndexOrState = -1;\n\t\tif (def.category == ThingCategory.Item)\n\t\t{\n\t\t\tmap.listerHaulables.Notify_DeSpawned(this);\n\t\t\tmap.listerMergeables.Notify_DeSpawned(this);\n\t\t}\n\t\tmap.attackTargetsCache.Notify_ThingDespawned(this);\n\t\tmap.physicalInteractionReservationManager.ReleaseAllForTarget(this);\n\t\tif (this is IHaulEnroute thing)\n\t\t{\n\t\t\tmap.enrouteManager.Notify_ContainerDespawned(thing);\n\t\t}\n\t\tStealAIDebugDrawer.Notify_ThingChanged(this);\n\t\tif (this is IHaulDestination haulDestination)\n\t\t{\n\t\t\tmap.haulDestinationManager.RemoveHaulDestination(haulDestination);\n\t\t}\n\t\tif (this is IHaulSource source)\n\t\t{\n\t\t\tmap.haulDestinationManager.RemoveHaulSource(source);\n\t\t}\n\t\tif (this is IThingHolder && Find.ColonistBar != null)\n\t\t{\n\t\t\tFind.ColonistBar.MarkColonistsDirty();\n\t\t}\n\t\tif (def.category == ThingCategory.Item)\n\t\t{\n\t\t\tISlotGroupParent slotGroupParent = Position.GetSlotGroup(map)?.parent;\n\t\t\tif (slotGroupParent != null)\n\t\t\t{\n\t\t\t\tslotGroupParent.Notify_LostThing(this);\n\t\t\t\tGenThing.TryDirtyAdjacentGroupContainers(slotGroupParent, map);\n\t\t\t}\n\t\t}\n\t\tQuestUtility.SendQuestTargetSignals(questTags, \"Despawned\", this.Named(\"SUBJECT\"));\n\t\tspawnedTick = -1;\n\t\tdespawnedTick = Find.TickManager.TicksGame;\n\t\tmap.events.Notify_ThingDespawned(this);\n\t}\n\n\tpublic virtual void Kill(DamageInfo? dinfo = null, Hediff exactCulprit = null)\n\t{\n\t\tDestroy(DestroyMode.KillFinalize);\n\t}\n\n\tpublic virtual void Destroy(DestroyMode mode = DestroyMode.Vanish)\n\t{\n\t\tif (!allowDestroyNonDestroyable && !def.destroyable)\n\t\t{\n\t\t\tLog.Error(\"Tried to destroy non-destroyable thing \" + this);\n\t\t\treturn;\n\t\t}\n\t\tif (Destroyed)\n\t\t{\n\t\t\tLog.Error(\"Tried to destroy already-destroyed thing \" + this);\n\t\t\treturn;\n\t\t}\n\t\tbool spawned = Spawned;\n\t\tMap map = Map;\n\t\tif (StyleSourcePrecept != null)\n\t\t{\n\t\t\tStyleSourcePrecept.Notify_ThingLost(this, spawned);\n\t\t}\n\t\tif (Spawned)\n\t\t{\n\t\t\tDeSpawn(mode);\n\t\t}\n\t\telse if (Current.ProgramState == ProgramState.Playing && Find.Selector.IsSelected(this))\n\t\t{\n\t\t\tFind.Selector.Deselect(this);\n\t\t\tFind.MainButtonsRoot.tabs.Notify_SelectedObjectDespawned();\n\t\t}\n\t\tmapIndexOrState = -2;\n\t\tif (def.DiscardOnDestroyed)\n\t\t{\n\t\t\tDiscard();\n\t\t}\n\t\tCompExplosive compExplosive = this.TryGetComp();\n\t\tif (spawned)\n\t\t{\n\t\t\tList list = new List();\n\t\t\tGenLeaving.DoLeavingsFor(this, map, mode, list);\n\t\t\tcompExplosive?.AddThingsIgnoredByExplosion(list);\n\t\t\tNotify_KilledLeavingsLeft(list);\n\t\t}\n\t\tif (holdingOwner != null)\n\t\t{\n\t\t\tholdingOwner.Notify_ContainedItemDestroyed(this);\n\t\t}\n\t\tRemoveAllReservationsAndDesignationsOnThis();\n\t\tif (!(this is Pawn))\n\t\t{\n\t\t\tstackCount = 0;\n\t\t}\n\t\tif (mode != DestroyMode.QuestLogic)\n\t\t{\n\t\t\tQuestUtility.SendQuestTargetSignals(questTags, \"Destroyed\", this.Named(\"SUBJECT\"));\n\t\t}\n\t\tif (mode == DestroyMode.KillFinalize)\n\t\t{\n\t\t\tQuestUtility.SendQuestTargetSignals(questTags, \"Killed\", this.Named(\"SUBJECT\"), map.Named(\"MAP\"));\n\t\t}\n\t}\n\n\tpublic virtual void PreTraded(TradeAction action, Pawn playerNegotiator, ITrader trader)\n\t{\n\t}\n\n\tpublic virtual void PostGeneratedForTrader(TraderKindDef trader, PlanetTile forTile, Faction forFaction)\n\t{\n\t\tif (def.colorGeneratorInTraderStock != null)\n\t\t{\n\t\t\tthis.SetColor(def.colorGeneratorInTraderStock.NewRandomizedColor());\n\t\t}\n\t}\n\n\tpublic virtual float GetBeauty(bool outside)\n\t{\n\t\tif (!outside || !def.StatBaseDefined(StatDefOf.BeautyOutdoors))\n\t\t{\n\t\t\treturn this.GetStatValue(StatDefOf.Beauty);\n\t\t}\n\t\treturn this.GetStatValue(StatDefOf.BeautyOutdoors);\n\t}\n\n\tpublic virtual void Notify_MyMapRemoved()\n\t{\n\t\tif (def.receivesSignals)\n\t\t{\n\t\t\tFind.SignalManager.DeregisterReceiver(this);\n\t\t}\n\t\tif (StyleSourcePrecept != null)\n\t\t{\n\t\t\tStyleSourcePrecept.Notify_ThingLost(this);\n\t\t}\n\t\tif (!ThingOwnerUtility.AnyParentIs(this))\n\t\t{\n\t\t\tmapIndexOrState = -3;\n\t\t}\n\t\tThingOwner thingOwner = holdingOwner;\n\t\tif (thingOwner != null && thingOwner.Owner is Map)\n\t\t{\n\t\t\tholdingOwner = null;\n\t\t}\n\t\tRemoveAllReservationsAndDesignationsOnThis();\n\t}\n\n\tpublic virtual void Notify_LordDestroyed()\n\t{\n\t}\n\n\tpublic virtual void Notify_AbandonedAtTile(PlanetTile tile)\n\t{\n\t}\n\n\tpublic virtual void Notify_KilledLeavingsLeft(List leavings)\n\t{\n\t}\n\n\tpublic virtual void Notify_Studied(Pawn studier, float amount, KnowledgeCategoryDef category = null)\n\t{\n\t}\n\n\tpublic virtual void Notify_Unfogged()\n\t{\n\t\tif (!beenRevealed)\n\t\t{\n\t\t\tbeenRevealed = true;\n\t\t\tif (ModsConfig.AnomalyActive && AnomalyUtility.ShouldNotifyCodex(this, EntityDiscoveryType.Unfog, out var entries))\n\t\t\t{\n\t\t\t\tFind.EntityCodex.SetDiscovered(entries, def, this);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tFind.HiddenItemsManager.SetDiscovered(def);\n\t\t\t}\n\t\t\tQuestUtility.SendQuestTargetSignals(questTags, \"Unfogged\", this);\n\t\t\tCompLetterOnRevealed compLetterOnRevealed = this.TryGetComp();\n\t\t\tif (compLetterOnRevealed != null)\n\t\t\t{\n\t\t\t\tFind.LetterStack.ReceiveLetter(compLetterOnRevealed.Props.label, compLetterOnRevealed.Props.text, compLetterOnRevealed.Props.letterDef, this);\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic void ForceSetStateToUnspawned()\n\t{\n\t\tmapIndexOrState = -1;\n\t}\n\n\tpublic void DecrementMapIndex()\n\t{\n\t\tif (mapIndexOrState <= 0)\n\t\t{\n\t\t\tLog.Warning(\"Tried to decrement map index for \" + this?.ToString() + \", but mapIndexOrState=\" + mapIndexOrState);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tmapIndexOrState--;\n\t\t}\n\t}\n\n\tprivate void RemoveAllReservationsAndDesignationsOnThis()\n\t{\n\t\tif (def.category == ThingCategory.Mote)\n\t\t{\n\t\t\treturn;\n\t\t}\n\t\tList maps = Find.Maps;\n\t\tfor (int i = 0; i < maps.Count; i++)\n\t\t{\n\t\t\tmaps[i].reservationManager.ReleaseAllForTarget(this);\n\t\t\tmaps[i].physicalInteractionReservationManager.ReleaseAllForTarget(this);\n\t\t\tif (this is IAttackTarget target)\n\t\t\t{\n\t\t\t\tmaps[i].attackTargetReservationManager.ReleaseAllForTarget(target);\n\t\t\t}\n\t\t\tmaps[i].designationManager.RemoveAllDesignationsOn(this);\n\t\t}\n\t}\n\n\tpublic virtual void ExposeData()\n\t{\n\t\tScribe_Defs.Look(ref def, \"def\");\n\t\tScribe_Values.Look(ref tickDelta, \"tickDelta\", 0);\n\t\tif (def.HasThingIDNumber)\n\t\t{\n\t\t\tstring value = ThingID;\n\t\t\tScribe_Values.Look(ref value, \"id\");\n\t\t\tif (Scribe.mode != LoadSaveMode.Saving)\n\t\t\t{\n\t\t\t\tThingID = value;\n\t\t\t}\n\t\t}\n\t\tScribe_Values.Look(ref mapIndexOrState, \"map\", -1);\n\t\tif (Scribe.mode == LoadSaveMode.LoadingVars && mapIndexOrState >= 0)\n\t\t{\n\t\t\tmapIndexOrState = -1;\n\t\t}\n\t\tScribe_Values.Look(ref positionInt, \"pos\", IntVec3.Invalid);\n\t\tScribe_Values.Look(ref rotationInt, \"rot\", Rot4.North);\n\t\tScribe_Values.Look(ref debugRotLocked, \"debugRotLocked\", defaultValue: false);\n\t\tif (def.useHitPoints)\n\t\t{\n\t\t\tScribe_Values.Look(ref hitPointsInt, \"health\", -1);\n\t\t}\n\t\tbool flag = def.tradeability != 0 && def.category == ThingCategory.Item;\n\t\tif (def.stackLimit > 1 || flag)\n\t\t{\n\t\t\tScribe_Values.Look(ref stackCount, \"stackCount\", 0, forceSave: true);\n\t\t}\n\t\tScribe_Defs.Look(ref stuffInt, \"stuff\");\n\t\tstring facID = ((factionInt != null) ? factionInt.GetUniqueLoadID() : \"null\");\n\t\tScribe_Values.Look(ref facID, \"faction\", \"null\");\n\t\tif (Scribe.mode == LoadSaveMode.LoadingVars)\n\t\t{\n\t\t\tif (facID == \"null\")\n\t\t\t{\n\t\t\t\tfactionInt = null;\n\t\t\t}\n\t\t\telse if (Find.World != null && Find.FactionManager != null)\n\t\t\t{\n\t\t\t\tfactionInt = Find.FactionManager.AllFactions.FirstOrDefault((Faction fa) => fa.GetUniqueLoadID() == facID);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tfacIDsCached.SetOrAdd(this, facID);\n\t\t\t}\n\t\t}\n\t\tif (Scribe.mode == LoadSaveMode.ResolvingCrossRefs)\n\t\t{\n\t\t\tif (facID == \"null\" && facIDsCached.TryGetValue(this, out facID))\n\t\t\t{\n\t\t\t\tfacIDsCached.Remove(this);\n\t\t\t}\n\t\t\tif (facID != \"null\")\n\t\t\t{\n\t\t\t\tfactionInt = Find.FactionManager.AllFactions.FirstOrDefault((Faction fa) => fa.GetUniqueLoadID() == facID);\n\t\t\t}\n\t\t}\n\t\tif (Scribe.mode == LoadSaveMode.PostLoadInit)\n\t\t{\n\t\t\tfacIDsCached.Clear();\n\t\t}\n\t\tScribe_Collections.Look(ref questTags, \"questTags\", LookMode.Value);\n\t\tScribe_Values.Look(ref overrideGraphicIndex, \"overrideGraphicIndex\");\n\t\tScribe_Values.Look(ref spawnedTick, \"spawnedTick\", -1);\n\t\tScribe_Values.Look(ref despawnedTick, \"despawnedTick\", 0);\n\t\tScribe_Values.Look(ref beenRevealed, \"beenRevealed\", defaultValue: false);\n\t\tBackCompatibility.PostExposeData(this);\n\t}\n\n\tpublic virtual void PostMapInit()\n\t{\n\t}\n\n\tpublic void DrawNowAt(Vector3 drawLoc, bool flip = false)\n\t{\n\t\tDynamicDrawPhaseAt(DrawPhase.Draw, drawLoc, flip);\n\t}\n\n\tpublic void DynamicDrawPhase(DrawPhase phase)\n\t{\n\t\tif (def.drawerType != DrawerType.MapMeshOnly)\n\t\t{\n\t\t\tDynamicDrawPhaseAt(phase, DrawPos);\n\t\t}\n\t}\n\n\tpublic virtual void DynamicDrawPhaseAt(DrawPhase phase, Vector3 drawLoc, bool flip = false)\n\t{\n\t\tif (phase == DrawPhase.Draw)\n\t\t{\n\t\t\tDrawAt(drawLoc, flip);\n\t\t}\n\t}\n\n\tprotected virtual void DrawAt(Vector3 drawLoc, bool flip = false)\n\t{\n\t\tif (def.drawerType == DrawerType.RealtimeOnly || !Spawned)\n\t\t{\n\t\t\tGraphic.Draw(drawLoc, flip ? Rotation.Opposite : Rotation, this);\n\t\t}\n\t\tSilhouetteUtility.DrawGraphicSilhouette(this, drawLoc);\n\t}\n\n\tpublic virtual void Print(SectionLayer layer)\n\t{\n\t\tif (!def.dontPrint)\n\t\t{\n\t\t\tGraphic.Print(layer, this, 0f);\n\t\t}\n\t}\n\n\tpublic void DirtyMapMesh(Map map)\n\t{\n\t\tif (def.drawerType == DrawerType.RealtimeOnly)\n\t\t{\n\t\t\treturn;\n\t\t}\n\t\tforeach (IntVec3 item in this.OccupiedRect())\n\t\t{\n\t\t\tmap.mapDrawer.MapMeshDirty(item, MapMeshFlagDefOf.Things);\n\t\t}\n\t}\n\n\tpublic virtual void DrawGUIOverlay()\n\t{\n\t\tif (Find.CameraDriver.CurrentZoom == CameraZoomRange.Closest)\n\t\t{\n\t\t\tQualityCategory qc;\n\t\t\tif (def.stackLimit > 1)\n\t\t\t{\n\t\t\t\tGenMapUI.DrawThingLabel(this, stackCount.ToStringCached());\n\t\t\t}\n\t\t\telse if (def.drawGUIOverlayQuality && this.TryGetQuality(out qc))\n\t\t\t{\n\t\t\t\tGenMapUI.DrawThingLabel(this, qc.GetLabelShort());\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic virtual void DrawExtraSelectionOverlays()\n\t{\n\t\tif (def.specialDisplayRadius > 0.1f)\n\t\t{\n\t\t\tGenDraw.DrawRadiusRing(Position, def.specialDisplayRadius);\n\t\t}\n\t\tif (def.drawPlaceWorkersWhileSelected && def.PlaceWorkers != null)\n\t\t{\n\t\t\tfor (int i = 0; i < def.PlaceWorkers.Count; i++)\n\t\t\t{\n\t\t\t\tdef.PlaceWorkers[i].DrawGhost(def, Position, Rotation, Color.white, this);\n\t\t\t}\n\t\t}\n\t\tGenDraw.DrawInteractionCells(def, Position, rotationInt);\n\t}\n\n\tpublic virtual string GetInspectString()\n\t{\n\t\tStringBuilder stringBuilder = new StringBuilder();\n\t\tQuestUtility.AppendInspectStringsFromQuestParts(stringBuilder, this);\n\t\treturn stringBuilder.ToString();\n\t}\n\n\tpublic virtual string GetInspectStringLowPriority()\n\t{\n\t\tstring result = null;\n\t\ttmpDeteriorationReasons.Clear();\n\t\tfloat f = SteadyEnvironmentEffects.FinalDeteriorationRate(this, tmpDeteriorationReasons);\n\t\tif (tmpDeteriorationReasons.Count != 0)\n\t\t{\n\t\t\tresult = string.Format(\"{0}: {1} ({2})\", \"DeterioratingBecauseOf\".Translate(), tmpDeteriorationReasons.ToCommaList().CapitalizeFirst(), \"PerDay\".Translate(f.ToStringByStyle(ToStringStyle.FloatMaxTwo)));\n\t\t}\n\t\treturn result;\n\t}\n\n\tpublic virtual IEnumerable GetGizmos()\n\t{\n\t\tGizmo gizmo = ContainingSelectionUtility.SelectContainingThingGizmo(this);\n\t\tif (gizmo != null)\n\t\t{\n\t\t\tyield return gizmo;\n\t\t}\n\t\tshowingGizmosForRitualsTmp.Clear();\n\t\tforeach (Ideo ideo in Faction.OfPlayer.ideos.AllIdeos)\n\t\t{\n\t\t\tfor (int i = 0; i < ideo.PreceptsListForReading.Count; i++)\n\t\t\t{\n\t\t\t\tPrecept precept = ideo.PreceptsListForReading[i];\n\t\t\t\tif (!(precept is Precept_Ritual ritual) || (precept.def.mergeRitualGizmosFromAllIdeos && showingGizmosForRitualsTmp.Contains(ritual.sourcePattern)) || !ritual.ShouldShowGizmo(this))\n\t\t\t\t{\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tforeach (Gizmo item in ritual.GetGizmoFor(this))\n\t\t\t\t{\n\t\t\t\t\tyield return item;\n\t\t\t\t\tshowingGizmosForRitualsTmp.Add(ritual.sourcePattern);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tList activeRituals = Find.IdeoManager.GetActiveRituals(MapHeld);\n\t\tforeach (LordJob_Ritual item2 in activeRituals)\n\t\t{\n\t\t\tif (item2.selectedTarget == this)\n\t\t\t{\n\t\t\t\tyield return item2.GetCancelGizmo();\n\t\t\t}\n\t\t}\n\t\tif (ModsConfig.AnomalyActive)\n\t\t{\n\t\t\tGizmo gizmo2 = AnomalyUtility.OpenCodexGizmo(this);\n\t\t\tif (gizmo2 != null)\n\t\t\t{\n\t\t\t\tyield return gizmo2;\n\t\t\t}\n\t\t}\n\t\tif (DebugSettings.ShowDevGizmos && this.HasAttachment(ThingDefOf.Fire))\n\t\t{\n\t\t\tyield return new Command_Action\n\t\t\t{\n\t\t\t\tdefaultLabel = \"DEV: Extinguish\",\n\t\t\t\taction = delegate\n\t\t\t\t{\n\t\t\t\t\tthis.GetAttachment(ThingDefOf.Fire)?.Destroy();\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\t}\n\n\tpublic virtual IEnumerable GetFloatMenuOptions(Pawn selPawn)\n\t{\n\t\treturn Enumerable.Empty();\n\t}\n\n\tpublic virtual IEnumerable GetMultiSelectFloatMenuOptions(IEnumerable selPawns)\n\t{\n\t\treturn Enumerable.Empty();\n\t}\n\n\tpublic virtual IEnumerable GetInspectTabs()\n\t{\n\t\treturn def.inspectorTabsResolved;\n\t}\n\n\tpublic virtual string GetCustomLabelNoCount(bool includeHp = true)\n\t{\n\t\treturn GenLabel.ThingLabel(this, 1, includeHp);\n\t}\n\n\tpublic DamageWorker.DamageResult TakeDamage(DamageInfo dinfo)\n\t{\n\t\tif (Destroyed)\n\t\t{\n\t\t\treturn new DamageWorker.DamageResult();\n\t\t}\n\t\tif (dinfo.Amount == 0f)\n\t\t{\n\t\t\treturn new DamageWorker.DamageResult();\n\t\t}\n\t\tif (def.damageMultipliers != null)\n\t\t{\n\t\t\tfor (int i = 0; i < def.damageMultipliers.Count; i++)\n\t\t\t{\n\t\t\t\tif (def.damageMultipliers[i].damageDef == dinfo.Def)\n\t\t\t\t{\n\t\t\t\t\tint num = Mathf.RoundToInt(dinfo.Amount * def.damageMultipliers[i].multiplier);\n\t\t\t\t\tdinfo.SetAmount(num);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tPreApplyDamage(ref dinfo, out var absorbed);\n\t\tif (absorbed)\n\t\t{\n\t\t\treturn new DamageWorker.DamageResult();\n\t\t}\n\t\tbool spawnedOrAnyParentSpawned = SpawnedOrAnyParentSpawned;\n\t\tMap mapHeld = MapHeld;\n\t\tDamageWorker.DamageResult damageResult = dinfo.Def.Worker.Apply(dinfo, this);\n\t\tif (dinfo.Def.harmsHealth && spawnedOrAnyParentSpawned)\n\t\t{\n\t\t\tmapHeld.damageWatcher.Notify_DamageTaken(this, damageResult.totalDamageDealt);\n\t\t}\n\t\tif (dinfo.Instigator is Pawn pawn)\n\t\t{\n\t\t\tforeach (Hediff hediff in pawn.health.hediffSet.hediffs)\n\t\t\t{\n\t\t\t\thediff.Notify_PawnDamagedThing(this, dinfo, damageResult);\n\t\t\t}\n\t\t}\n\t\tif (dinfo.Def.ExternalViolenceFor(this))\n\t\t{\n\t\t\tif (dinfo.SpawnFilth)\n\t\t\t{\n\t\t\t\tGenLeaving.DropFilthDueToDamage(this, damageResult.totalDamageDealt);\n\t\t\t}\n\t\t\tif (dinfo.Instigator != null)\n\t\t\t{\n\t\t\t\tif (dinfo.Instigator is Pawn pawn2)\n\t\t\t\t{\n\t\t\t\t\tpawn2.records.AddTo(RecordDefOf.DamageDealt, damageResult.totalDamageDealt);\n\t\t\t\t}\n\t\t\t\tif (dinfo.Instigator.Faction == Faction.OfPlayer)\n\t\t\t\t{\n\t\t\t\t\tQuestUtility.SendQuestTargetSignals(questTags, \"TookDamageFromPlayer\", this.Named(\"SUBJECT\"), dinfo.Instigator.Named(\"INSTIGATOR\"));\n\t\t\t\t}\n\t\t\t}\n\t\t\tQuestUtility.SendQuestTargetSignals(questTags, \"TookDamage\", this.Named(\"SUBJECT\"), dinfo.Instigator.Named(\"INSTIGATOR\"), mapHeld.Named(\"MAP\"));\n\t\t}\n\t\tif (!Destroyed && FlammableNow && dinfo.Def.igniteChanceByTargetFlammability != null && Rand.Chance(dinfo.Def.igniteChanceByTargetFlammability.Evaluate(this.GetStatValue(StatDefOf.Flammability))))\n\t\t{\n\t\t\tthis.TryAttachFire(Rand.Range(0.55f, 0.85f), dinfo.Instigator);\n\t\t}\n\t\tPostApplyDamage(dinfo, damageResult.totalDamageDealt);\n\t\treturn damageResult;\n\t}\n\n\tpublic virtual void PreApplyDamage(ref DamageInfo dinfo, out bool absorbed)\n\t{\n\t\tabsorbed = false;\n\t}\n\n\tpublic virtual void PostApplyDamage(DamageInfo dinfo, float totalDamageDealt)\n\t{\n\t}\n\n\tpublic virtual bool CanStackWith(Thing other)\n\t{\n\t\tif (Destroyed || other.Destroyed)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tif (def.category != ThingCategory.Item)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tif (this.IsRelic() || other.IsRelic())\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tif (def == other.def)\n\t\t{\n\t\t\treturn Stuff == other.Stuff;\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic virtual bool TryAbsorbStack(Thing other, bool respectStackLimit)\n\t{\n\t\tif (!CanStackWith(other))\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tint num = ThingUtility.TryAbsorbStackNumToTake(this, other, respectStackLimit);\n\t\tif (def.useHitPoints)\n\t\t{\n\t\t\tHitPoints = Mathf.CeilToInt((float)(HitPoints * stackCount + other.HitPoints * num) / (float)(stackCount + num));\n\t\t}\n\t\tstackCount += num;\n\t\tother.stackCount -= num;\n\t\tif (Map != null)\n\t\t{\n\t\t\tDirtyMapMesh(Map);\n\t\t}\n\t\tStealAIDebugDrawer.Notify_ThingChanged(this);\n\t\tif (Spawned)\n\t\t{\n\t\t\tMap.listerMergeables.Notify_ThingStackChanged(this);\n\t\t}\n\t\tif (other.stackCount <= 0)\n\t\t{\n\t\t\tother.Destroy();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic virtual Thing SplitOff(int count)\n\t{\n\t\tif (count <= 0)\n\t\t{\n\t\t\tthrow new ArgumentException(\"SplitOff with count <= 0\", \"count\");\n\t\t}\n\t\tif (count >= stackCount)\n\t\t{\n\t\t\tif (count > stackCount)\n\t\t\t{\n\t\t\t\tLog.Error(\"Tried to split off \" + count + \" of \" + this?.ToString() + \" but there are only \" + stackCount);\n\t\t\t}\n\t\t\tDeSpawnOrDeselect();\n\t\t\tholdingOwner?.Remove(this);\n\t\t\treturn this;\n\t\t}\n\t\tThing thing = ThingMaker.MakeThing(def, Stuff);\n\t\tthing.stackCount = count;\n\t\tstackCount -= count;\n\t\tif (Map != null)\n\t\t{\n\t\t\tDirtyMapMesh(Map);\n\t\t}\n\t\tif (Spawned)\n\t\t{\n\t\t\tMap.listerMergeables.Notify_ThingStackChanged(this);\n\t\t}\n\t\tif (def.useHitPoints)\n\t\t{\n\t\t\tthing.HitPoints = HitPoints;\n\t\t}\n\t\treturn thing;\n\t}\n\n\tpublic virtual IEnumerable SpecialDisplayStats()\n\t{\n\t\tif (Stuff != null)\n\t\t{\n\t\t\tyield return new StatDrawEntry(StatCategoryDefOf.BasicsImportant, \"Stat_Stuff_Name\".Translate(), Stuff.LabelCap, \"Stat_Stuff_Desc\".Translate(), 1100, null, new Dialog_InfoCard.Hyperlink[1]\n\t\t\t{\n\t\t\t\tnew Dialog_InfoCard.Hyperlink(Stuff)\n\t\t\t});\n\t\t}\n\t\tif (!ModsConfig.IdeologyActive || Find.IdeoManager.classicMode)\n\t\t{\n\t\t\tyield break;\n\t\t}\n\t\ttmpIdeoNames.Clear();\n\t\tStyleCategoryDef styleCategoryDef = StyleDef?.Category ?? def.dominantStyleCategory;\n\t\tif (styleCategoryDef == null)\n\t\t{\n\t\t\tyield break;\n\t\t}\n\t\tforeach (Ideo item in Find.IdeoManager.IdeosListForReading)\n\t\t{\n\t\t\tif (IdeoUtility.ThingSatisfiesIdeo(this, item))\n\t\t\t{\n\t\t\t\ttmpIdeoNames.Add(item.name.Colorize(item.Color));\n\t\t\t}\n\t\t}\n\t\tyield return new StatDrawEntry(StatCategoryDefOf.BasicsNonPawn, \"Stat_Thing_StyleDominanceCategory\".Translate(), styleCategoryDef.LabelCap, \"Stat_Thing_StyleDominanceCategoryDesc\".Translate() + \"\\n\\n\" + \"Stat_Thing_IdeosSatisfied\".Translate() + \":\" + \"\\n\" + tmpIdeoNames.ToLineList(\" - \"), 6005);\n\t}\n\n\tpublic virtual void Notify_ColorChanged()\n\t{\n\t\tgraphicInt = null;\n\t\tstyleGraphicInt = null;\n\t\tif (Spawned && (def.drawerType == DrawerType.MapMeshOnly || def.drawerType == DrawerType.MapMeshAndRealTime))\n\t\t{\n\t\t\tMap.mapDrawer.MapMeshDirty(Position, MapMeshFlagDefOf.Things);\n\t\t}\n\t}\n\n\tpublic virtual void Notify_Equipped(Pawn pawn)\n\t{\n\t}\n\n\tpublic virtual void Notify_Unequipped(Pawn pawn)\n\t{\n\t}\n\n\tpublic virtual void Notify_UsedVerb(Pawn pawn, Verb verb)\n\t{\n\t}\n\n\tpublic virtual void Notify_UsedWeapon(Pawn pawn)\n\t{\n\t}\n\n\tpublic virtual void Notify_DebugSpawned()\n\t{\n\t}\n\n\tpublic virtual void Notify_RecipeProduced(Pawn pawn)\n\t{\n\t}\n\n\tpublic virtual void Notify_SignalReceived(Signal signal)\n\t{\n\t}\n\n\tpublic virtual void Notify_Explosion(Explosion explosion)\n\t{\n\t}\n\n\tpublic virtual void Notify_BulletImpactNearby(BulletImpactData impactData)\n\t{\n\t}\n\n\tpublic virtual void Notify_ThingSelected()\n\t{\n\t}\n\n\tpublic virtual TipSignal GetTooltip()\n\t{\n\t\tstring text = LabelCap;\n\t\tif (def.useHitPoints)\n\t\t{\n\t\t\ttext = text + \"\\n\" + HitPoints + \" / \" + MaxHitPoints;\n\t\t}\n\t\treturn new TipSignal(text, thingIDNumber * 251235);\n\t}\n\n\tpublic virtual bool BlocksPawn(Pawn p)\n\t{\n\t\tif (def.passability == Traversability.Impassable)\n\t\t{\n\t\t\treturn true;\n\t\t}\n\t\tif (def.IsFence && p.def.race.FenceBlocked)\n\t\t{\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic void SetFactionDirect(Faction newFaction)\n\t{\n\t\tif (!def.CanHaveFaction)\n\t\t{\n\t\t\tLog.Error(\"Tried to SetFactionDirect on \" + this?.ToString() + \" which cannot have a faction.\");\n\t\t}\n\t\telse\n\t\t{\n\t\t\tfactionInt = newFaction;\n\t\t}\n\t}\n\n\tpublic virtual void SetFaction(Faction newFaction, Pawn recruiter = null)\n\t{\n\t\tif (!def.CanHaveFaction)\n\t\t{\n\t\t\tLog.Error(\"Tried to SetFaction on \" + this?.ToString() + \" which cannot have a faction.\");\n\t\t\treturn;\n\t\t}\n\t\tFaction previous = factionInt;\n\t\tfactionInt = newFaction;\n\t\tif (Spawned && this is IAttackTarget t)\n\t\t{\n\t\t\tMap.attackTargetsCache.UpdateTarget(t);\n\t\t}\n\t\tQuestUtility.SendQuestTargetSignals(questTags, \"ChangedFaction\", this.Named(\"SUBJECT\"), newFaction.Named(\"FACTION\"));\n\t\tif (newFaction != Faction.OfPlayer)\n\t\t{\n\t\t\tQuestUtility.SendQuestTargetSignals(questTags, \"ChangedFactionToNonPlayer\", this.Named(\"SUBJECT\"), newFaction.Named(\"FACTION\"));\n\t\t}\n\t\telse\n\t\t{\n\t\t\tQuestUtility.SendQuestTargetSignals(questTags, \"ChangedFactionToPlayer\", this.Named(\"SUBJECT\"), newFaction.Named(\"FACTION\"));\n\t\t}\n\t\tif (Spawned)\n\t\t{\n\t\t\tMap.events.Notify_ThingFactionChanged(previous, factionInt);\n\t\t}\n\t}\n\n\tpublic virtual AcceptanceReport ClaimableBy(Faction by)\n\t{\n\t\treturn false;\n\t}\n\n\tpublic virtual bool AdoptableBy(Faction by, StringBuilder reason = null)\n\t{\n\t\treturn false;\n\t}\n\n\tpublic bool FactionPreventsClaimingOrAdopting(Faction faction, bool forClaim, out string reason)\n\t{\n\t\treason = null;\n\t\tif (faction == null)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tif (faction == Faction.OfInsects)\n\t\t{\n\t\t\tif (HiveUtility.AnyHivePreventsClaiming(this))\n\t\t\t{\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\telse if (faction == Faction.OfMechanoids)\n\t\t{\n\t\t\tforeach (IAttackTarget item in MapHeld.attackTargetsCache.TargetsHostileToFaction(Faction.OfPlayer))\n\t\t\t{\n\t\t\t\tif (item.Thing == null || item.Thing.Faction != faction)\n\t\t\t\t{\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tif (item.Thing is Pawn pawn)\n\t\t\t\t{\n\t\t\t\t\tif (GenHostility.IsActiveThreatToPlayer(pawn))\n\t\t\t\t\t{\n\t\t\t\t\t\tif (forClaim)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\treason = \"MessageCannotClaimWhenPawnThreatsAreNear\".Translate(this.Named(\"CLAIMABLE\"), pawn.Named(\"THREAT\"));\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\treason = \"MessageCannotAdoptWhilePawnThreatsAreNear\".Translate(this.Named(\"CLAIMABLE\"), pawn.Named(\"THREAT\"));\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tif (forClaim)\n\t\t\t\t{\n\t\t\t\t\treason = \"MessageCannotClaimWhenThreatsAreNear\".Translate(this.Named(\"CLAIMABLE\"), item.Named(\"THREAT\"));\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\treason = \"MessageCannotAdoptWhileThreatsAreNear\".Translate(this.Named(\"CLAIMABLE\"), item.Named(\"THREAT\"));\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tif (faction == Faction.OfAncients && Spawned && !Map.IsPlayerHome && GenHostility.AnyHostileActiveThreatToPlayer(Map, countDormantPawnsAsHostile: true, canBeFogged: true))\n\t\t\t{\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tif (Spawned && faction != Faction.OfPlayer)\n\t\t\t{\n\t\t\t\tList list = Map.mapPawns.SpawnedPawnsInFaction(faction);\n\t\t\t\tfor (int i = 0; i < list.Count; i++)\n\t\t\t\t{\n\t\t\t\t\tif (list[i].RaceProps.ToolUser && GenHostility.IsPotentialThreat(list[i]))\n\t\t\t\t\t{\n\t\t\t\t\t\tif (forClaim)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\treason = \"MessageCannotClaimWhenThreatsAreNear\".Translate(this.Named(\"CLAIMABLE\"), list[i].Named(\"THREAT\"));\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\treason = \"MessageCannotAdoptWhileThreatsAreNear\".Translate(this.Named(\"CLAIMABLE\"), list[i].Named(\"THREAT\"));\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic void SetPositionDirect(IntVec3 newPos)\n\t{\n\t\tpositionInt = newPos;\n\t}\n\n\tpublic void SetStuffDirect(ThingDef newStuff)\n\t{\n\t\tstuffInt = newStuff;\n\t}\n\n\tpublic override string ToString()\n\t{\n\t\tif (def != null)\n\t\t{\n\t\t\treturn ThingID;\n\t\t}\n\t\treturn GetType().ToString();\n\t}\n\n\tpublic bool Equals(Thing other)\n\t{\n\t\tif (other == null)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tif (def.category == ThingCategory.Mote)\n\t\t{\n\t\t\treturn this == other;\n\t\t}\n\t\tif (thingIDNumber == other.thingIDNumber)\n\t\t{\n\t\t\treturn def.Equals(other.def);\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic override int GetHashCode()\n\t{\n\t\tif (thingIDNumber == -1)\n\t\t{\n\t\t\treturn base.GetHashCode();\n\t\t}\n\t\treturn thingIDNumber;\n\t}\n\n\tpublic virtual void Discard(bool silentlyRemoveReferences = false)\n\t{\n\t\tif (mapIndexOrState != -2)\n\t\t{\n\t\t\tLog.Warning(\"Tried to discard \" + this?.ToString() + \" whose state is \" + mapIndexOrState + \".\");\n\t\t}\n\t\telse\n\t\t{\n\t\t\tmapIndexOrState = -3;\n\t\t}\n\t}\n\n\tpublic virtual void Notify_DefsHotReloaded()\n\t{\n\t\tgraphicInt = null;\n\t}\n\n\tpublic virtual IEnumerable ButcherProducts(Pawn butcher, float efficiency)\n\t{\n\t\tif (def.butcherProducts == null)\n\t\t{\n\t\t\tyield break;\n\t\t}\n\t\tfor (int i = 0; i < def.butcherProducts.Count; i++)\n\t\t{\n\t\t\tThingDefCountClass thingDefCountClass = def.butcherProducts[i];\n\t\t\tint num = GenMath.RoundRandom((float)thingDefCountClass.count * efficiency);\n\t\t\tif (num > 0)\n\t\t\t{\n\t\t\t\tThing thing = ThingMaker.MakeThing(thingDefCountClass.thingDef);\n\t\t\t\tthing.stackCount = num;\n\t\t\t\tyield return thing;\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic virtual IEnumerable SmeltProducts(float efficiency)\n\t{\n\t\tList costListAdj = def.CostListAdjusted(Stuff);\n\t\tfor (int i = 0; i < costListAdj.Count; i++)\n\t\t{\n\t\t\tif (!costListAdj[i].thingDef.intricate && costListAdj[i].thingDef.smeltable)\n\t\t\t{\n\t\t\t\tint num = GenMath.RoundRandom((float)costListAdj[i].count * 0.25f);\n\t\t\t\tif (num > 0)\n\t\t\t\t{\n\t\t\t\t\tThing thing = ThingMaker.MakeThing(costListAdj[i].thingDef);\n\t\t\t\t\tthing.stackCount = num;\n\t\t\t\t\tyield return thing;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (def.smeltProducts != null)\n\t\t{\n\t\t\tfor (int i = 0; i < def.smeltProducts.Count; i++)\n\t\t\t{\n\t\t\t\tThingDefCountClass thingDefCountClass = def.smeltProducts[i];\n\t\t\t\tThing thing2 = ThingMaker.MakeThing(thingDefCountClass.thingDef);\n\t\t\t\tthing2.stackCount = thingDefCountClass.count;\n\t\t\t\tyield return thing2;\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic float Ingested(Pawn ingester, float nutritionWanted)\n\t{\n\t\tif (Destroyed)\n\t\t{\n\t\t\tLog.Error(ingester?.ToString() + \" ingested destroyed thing \" + this);\n\t\t\treturn 0f;\n\t\t}\n\t\tif (!IngestibleNow)\n\t\t{\n\t\t\tLog.Error(ingester?.ToString() + \" ingested IngestibleNow=false thing \" + this);\n\t\t\treturn 0f;\n\t\t}\n\t\tingester.mindState.lastIngestTick = Find.TickManager.TicksGame;\n\t\tif (ingester.needs.mood != null)\n\t\t{\n\t\t\tList list = FoodUtility.ThoughtsFromIngesting(ingester, this, def);\n\t\t\tfor (int i = 0; i < list.Count; i++)\n\t\t\t{\n\t\t\t\tThought_Memory thought_Memory = ThoughtMaker.MakeThought(list[i].thought, list[i].fromPrecept);\n\t\t\t\tif (thought_Memory is Thought_FoodEaten thought_FoodEaten)\n\t\t\t\t{\n\t\t\t\t\tthought_FoodEaten.SetFood(this);\n\t\t\t\t}\n\t\t\t\tingester.needs.mood.thoughts.memories.TryGainMemory(thought_Memory);\n\t\t\t}\n\t\t}\n\t\tingester.needs.drugsDesire?.Notify_IngestedDrug(this);\n\t\tbool flag = FoodUtility.IsHumanlikeCorpseOrHumanlikeMeat(this, def);\n\t\tbool flag2 = FoodUtility.IsHumanlikeCorpseOrHumanlikeMeatOrIngredient(this);\n\t\tif (flag && ingester.IsColonist)\n\t\t{\n\t\t\tTaleRecorder.RecordTale(TaleDefOf.AteRawHumanlikeMeat, ingester);\n\t\t}\n\t\tif (flag2)\n\t\t{\n\t\t\tingester.mindState.lastHumanMeatIngestedTick = Find.TickManager.TicksGame;\n\t\t\tFind.HistoryEventsManager.RecordEvent(new HistoryEvent(HistoryEventDefOf.AteHumanMeat, ingester.Named(HistoryEventArgsNames.Doer)), canApplySelfTookThoughts: false);\n\t\t\tif (flag)\n\t\t\t{\n\t\t\t\tFind.HistoryEventsManager.RecordEvent(new HistoryEvent(HistoryEventDefOf.AteHumanMeatDirect, ingester.Named(HistoryEventArgsNames.Doer)), canApplySelfTookThoughts: false);\n\t\t\t}\n\t\t}\n\t\telse if (ModsConfig.IdeologyActive && !FoodUtility.AcceptableCannibalNonHumanlikeMeatFood(def))\n\t\t{\n\t\t\tFind.HistoryEventsManager.RecordEvent(new HistoryEvent(HistoryEventDefOf.AteNonCannibalFood, ingester.Named(HistoryEventArgsNames.Doer)), canApplySelfTookThoughts: false);\n\t\t}\n\t\tif (def.ingestible.ateEvent != null)\n\t\t{\n\t\t\tFind.HistoryEventsManager.RecordEvent(new HistoryEvent(def.ingestible.ateEvent, ingester.Named(HistoryEventArgsNames.Doer)), canApplySelfTookThoughts: false);\n\t\t}\n\t\tif (ModsConfig.IdeologyActive)\n\t\t{\n\t\t\tFoodKind foodKind = FoodUtility.GetFoodKind(this);\n\t\t\tif (foodKind != FoodKind.Any && !def.IsProcessedFood)\n\t\t\t{\n\t\t\t\tif (foodKind == FoodKind.Meat)\n\t\t\t\t{\n\t\t\t\t\tif (!flag2)\n\t\t\t\t\t{\n\t\t\t\t\t\tFind.HistoryEventsManager.RecordEvent(new HistoryEvent(HistoryEventDefOf.AteMeat, ingester.Named(HistoryEventArgsNames.Doer)), canApplySelfTookThoughts: false);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse if (!def.IsDrug && def.ingestible.CachedNutrition > 0f)\n\t\t\t\t{\n\t\t\t\t\tFind.HistoryEventsManager.RecordEvent(new HistoryEvent(HistoryEventDefOf.AteNonMeat, ingester.Named(HistoryEventArgsNames.Doer)), canApplySelfTookThoughts: false);\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (FoodUtility.IsVeneratedAnimalMeatOrCorpseOrHasIngredients(this, ingester))\n\t\t\t{\n\t\t\t\tFind.HistoryEventsManager.RecordEvent(new HistoryEvent(HistoryEventDefOf.AteVeneratedAnimalMeat, ingester.Named(HistoryEventArgsNames.Doer)), canApplySelfTookThoughts: false);\n\t\t\t}\n\t\t\tif (def.thingCategories != null && def.thingCategories.Contains(ThingCategoryDefOf.PlantFoodRaw))\n\t\t\t{\n\t\t\t\tif (def.IsFungus)\n\t\t\t\t{\n\t\t\t\t\tFind.HistoryEventsManager.RecordEvent(new HistoryEvent(HistoryEventDefOf.AteFungus, ingester.Named(HistoryEventArgsNames.Doer)), canApplySelfTookThoughts: false);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tFind.HistoryEventsManager.RecordEvent(new HistoryEvent(HistoryEventDefOf.AteNonFungusPlant, ingester.Named(HistoryEventArgsNames.Doer)), canApplySelfTookThoughts: false);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tCompIngredients compIngredients = this.TryGetComp();\n\t\tif (compIngredients != null)\n\t\t{\n\t\t\tbool flag3 = false;\n\t\t\tbool flag4 = false;\n\t\t\tbool flag5 = false;\n\t\t\tbool flag6 = false;\n\t\t\tbool flag7 = false;\n\t\t\tfor (int j = 0; j < compIngredients.ingredients.Count; j++)\n\t\t\t{\n\t\t\t\tif (!flag3 && FoodUtility.GetMeatSourceCategory(compIngredients.ingredients[j]) == MeatSourceCategory.Humanlike)\n\t\t\t\t{\n\t\t\t\t\tingester.mindState.lastHumanMeatIngestedTick = Find.TickManager.TicksGame;\n\t\t\t\t\tFind.HistoryEventsManager.RecordEvent(new HistoryEvent(HistoryEventDefOf.AteHumanMeatAsIngredient, ingester.Named(HistoryEventArgsNames.Doer)), canApplySelfTookThoughts: false);\n\t\t\t\t\tflag3 = true;\n\t\t\t\t}\n\t\t\t\telse if (!flag4 && ingester.Ideo != null && compIngredients.ingredients[j].IsMeat && ingester.Ideo.IsVeneratedAnimal(compIngredients.ingredients[j].ingestible.sourceDef))\n\t\t\t\t{\n\t\t\t\t\tFind.HistoryEventsManager.RecordEvent(new HistoryEvent(HistoryEventDefOf.AteVeneratedAnimalMeat, ingester.Named(HistoryEventArgsNames.Doer)), canApplySelfTookThoughts: false);\n\t\t\t\t\tflag4 = true;\n\t\t\t\t}\n\t\t\t\tif (!flag5 && FoodUtility.GetMeatSourceCategory(compIngredients.ingredients[j]) == MeatSourceCategory.Insect)\n\t\t\t\t{\n\t\t\t\t\tFind.HistoryEventsManager.RecordEvent(new HistoryEvent(HistoryEventDefOf.AteInsectMeatAsIngredient, ingester.Named(HistoryEventArgsNames.Doer)), canApplySelfTookThoughts: false);\n\t\t\t\t\tflag5 = true;\n\t\t\t\t}\n\t\t\t\tif (ModsConfig.IdeologyActive && !flag6 && compIngredients.ingredients[j].thingCategories.Contains(ThingCategoryDefOf.PlantFoodRaw))\n\t\t\t\t{\n\t\t\t\t\tif (compIngredients.ingredients[j].IsFungus)\n\t\t\t\t\t{\n\t\t\t\t\t\tFind.HistoryEventsManager.RecordEvent(new HistoryEvent(HistoryEventDefOf.AteFungusAsIngredient, ingester.Named(HistoryEventArgsNames.Doer)), canApplySelfTookThoughts: false);\n\t\t\t\t\t\tflag6 = true;\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tflag7 = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (ModsConfig.IdeologyActive && !flag6 && flag7)\n\t\t\t{\n\t\t\t\tFind.HistoryEventsManager.RecordEvent(new HistoryEvent(HistoryEventDefOf.AteNonFungusMealWithPlants, ingester.Named(HistoryEventArgsNames.Doer)), canApplySelfTookThoughts: false);\n\t\t\t}\n\t\t}\n\t\tIngestedCalculateAmounts(ingester, nutritionWanted, out var numTaken, out var nutritionIngested);\n\t\tif (!ingester.Dead && ingester.needs.joy != null && Mathf.Abs(def.ingestible.joy) > 0.0001f && numTaken > 0)\n\t\t{\n\t\t\tingester.needs.joy.GainJoy((float)numTaken * def.ingestible.joy, def.ingestible.joyKind ?? JoyKindDefOf.Gluttonous);\n\t\t}\n\t\tfloat poisonChanceOverride;\n\t\tfloat chance = (FoodUtility.TryGetFoodPoisoningChanceOverrideFromTraits(ingester, this, out poisonChanceOverride) ? poisonChanceOverride : (this.GetStatValue(StatDefOf.FoodPoisonChanceFixedHuman) * FoodUtility.GetFoodPoisonChanceFactor(ingester)));\n\t\tif (ingester.RaceProps.Humanlike && Rand.Chance(chance))\n\t\t{\n\t\t\tFoodUtility.AddFoodPoisoningHediff(ingester, this, FoodPoisonCause.DangerousFoodType);\n\t\t}\n\t\tList hediffs = ingester.health.hediffSet.hediffs;\n\t\tfor (int k = 0; k < hediffs.Count; k++)\n\t\t{\n\t\t\thediffs[k].Notify_IngestedThing(this, numTaken);\n\t\t}\n\t\tingester.genes?.Notify_IngestedThing(this, numTaken);\n\t\tbool flag8 = false;\n\t\tif (numTaken > 0)\n\t\t{\n\t\t\tif (stackCount == 0)\n\t\t\t{\n\t\t\t\tLog.Error(this?.ToString() + \" stack count is 0.\");\n\t\t\t}\n\t\t\tif (numTaken == stackCount)\n\t\t\t{\n\t\t\t\tflag8 = true;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tSplitOff(numTaken);\n\t\t\t}\n\t\t}\n\t\tPrePostIngested(ingester);\n\t\tif (flag8)\n\t\t{\n\t\t\tingester.carryTracker.innerContainer.Remove(this);\n\t\t}\n\t\tif (def.ingestible.outcomeDoers != null)\n\t\t{\n\t\t\tfor (int l = 0; l < def.ingestible.outcomeDoers.Count; l++)\n\t\t\t{\n\t\t\t\tdef.ingestible.outcomeDoers[l].DoIngestionOutcome(ingester, this, numTaken);\n\t\t\t}\n\t\t}\n\t\tif (flag8 && !Destroyed)\n\t\t{\n\t\t\tDestroy();\n\t\t}\n\t\tPostIngested(ingester);\n\t\treturn nutritionIngested;\n\t}\n\n\tprotected virtual void PrePostIngested(Pawn ingester)\n\t{\n\t}\n\n\tprotected virtual void PostIngested(Pawn ingester)\n\t{\n\t}\n\n\tprotected virtual void IngestedCalculateAmounts(Pawn ingester, float nutritionWanted, out int numTaken, out float nutritionIngested)\n\t{\n\t\tfloat num = FoodUtility.NutritionForEater(ingester, this);\n\t\tnumTaken = Mathf.CeilToInt(nutritionWanted / num);\n\t\tnumTaken = Mathf.Min(numTaken, stackCount);\n\t\tif (def.ingestible.maxNumToIngestAtOnce > 0)\n\t\t{\n\t\t\tnumTaken = Mathf.Min(numTaken, def.ingestible.maxNumToIngestAtOnce);\n\t\t}\n\t\tnumTaken = Mathf.Max(numTaken, 1);\n\t\tnutritionIngested = (float)numTaken * num;\n\t}\n\n\tpublic virtual bool PreventPlayerSellingThingsNearby(out string reason)\n\t{\n\t\treason = null;\n\t\treturn false;\n\t}\n\n\tpublic virtual void PreSwapMap()\n\t{\n\t\tbeingTransportedOnGravship = true;\n\t}\n\n\tpublic virtual void PostSwapMap()\n\t{\n\t\tbeingTransportedOnGravship = false;\n\t\tQuestUtility.SendQuestTargetSignals(questTags, \"SwappedMap\", this.Named(\"SUBJECT\"));\n\t}\n\n\tpublic void Notify_LeftBehind()\n\t{\n\t\tQuestUtility.SendQuestTargetSignals(questTags, \"LeftBehind\", this.Named(\"SUBJECT\"));\n\t\tif (!(this is IThingHolder thingHolder) || thingHolder.GetDirectlyHeldThings() == null)\n\t\t{\n\t\t\treturn;\n\t\t}\n\t\tforeach (Thing item in (IEnumerable)thingHolder.GetDirectlyHeldThings())\n\t\t{\n\t\t\titem.Notify_LeftBehind();\n\t\t}\n\t}\n}\n\n", "timestamp": "2025-08-25 14:10:31,694" }, "MapPortal": { "keywords": [ "MapPortal" ], "question": "MapPortal class definition", "embedding": [ -0.004828896373510361, 0.044337302446365356, 0.01690523698925972, -0.03522060811519623, -0.003080573631450534, 0.00954301469027996, -0.020119035616517067, 0.042238496243953705, 0.028497867286205292, 0.07752469182014465, 0.04843653738498688, -0.0265138391405344, -0.04653449356555939, 0.0222342386841774, -0.00924786925315857, 0.03735221177339554, -0.0023529597092419863, -0.09300339967012405, -0.06053747236728668, 0.02067653089761734, 0.003947561141103506, 0.03761456161737442, 0.04168099910020828, -0.04633772745728493, 0.004304194822907448, 0.0005006188293918967, 0.01136307418346405, 0.017741480842232704, 0.027546845376491547, -0.01890566200017929, -0.009001915343105793, -0.009116694331169128, 0.03535178676247597, -0.03177725523710251, 0.051748715341091156, 0.00955941155552864, -0.025382449850440025, 0.018118608742952347, 0.0207913089543581, 0.005185529589653015, -0.03349893167614937, 0.002933001145720482, -0.017610304057598114, 0.010912158526480198, -0.010469441302120686, 0.006845719181001186, 0.015560688450932503, -0.029563667252659798, -0.061029378324747086, -0.015905024483799934, -0.012863392941653728, 0.022283431142568588, 0.03243312984704971, 0.013174934312701225, 0.01875809021294117, 0.015626275911927223, 0.028973378241062164, -0.0341712050139904, 0.005070751067250967, 0.03456473350524902, 0.01906963251531124, -0.005070751067250967, -0.0457802340388298, -0.00038891471922397614, 0.016569100320339203, -0.010641608387231827, -0.00427959905937314, 0.000527776253875345, -0.02100447006523609, -0.03574531152844429, 0.03394164890050888, 0.036761920899152756, -0.021758727729320526, 0.031301744282245636, -0.014814628288149834, 0.013388094492256641, -0.01142866164445877, -0.03640118986368179, -0.01872529648244381, -0.026907365769147873, -0.02085689641535282, 0.022267034277319908, -0.01895485259592533, -0.013757025822997093, -0.0028100241906940937, 0.05263414978981018, 0.0419105589389801, -0.007776245009154081, 0.00847721379250288, 0.02033219486474991, 0.040926743298769, -0.010576020926237106, 0.012527256272733212, -0.016454320400953293, 0.02789118140935898, 0.014429300092160702, -0.023873932659626007, -0.04709198698401451, 0.01702001504600048, 0.04017248377203941, -0.04013969004154205, -0.025644801557064056, -0.06634198874235153, 0.0024185474030673504, -0.031137773767113686, 0.01506058219820261, -0.03931984305381775, 0.030727850273251534, -0.011928767897188663, -0.015396718867123127, 0.01890566200017929, -0.055651187896728516, -0.0064644902013242245, 0.08021379262208939, -0.012806003913283348, 0.03768014907836914, 0.032941434532403946, 0.008854343555867672, 0.0025415243580937386, 0.04295996204018593, 0.023168863728642464, 0.01407676562666893, 0.011149914003908634, -0.025448037311434746, -0.0132569195702672, 0.04440288990736008, -0.017987433820962906, -0.0035007449332624674, -0.028874997049570084, 0.004304194822907448, -0.01406036876142025, -0.007099871523678303, 0.0032937335781753063, 0.002031169831752777, -0.0279567688703537, -0.03564693033695221, 0.03213798627257347, -0.04384539648890495, -0.0680144727230072, -0.005587254650890827, -0.08919931203126907, 0.009895548224449158, -0.008846145123243332, 0.003756946884095669, 0.006214437074959278, 0.006144750397652388, -0.01900404319167137, -0.021906301379203796, -0.008095985278487206, -0.004357484634965658, -0.0066653527319431305, 0.006370208226144314, -0.02831750176846981, 0.04699360579252243, 0.01405217032879591, -0.05502810329198837, 0.009969334118068218, -0.04459965601563454, -0.004759209230542183, -0.05827469378709793, -0.029694844037294388, 0.004078736994415522, -0.023775551468133926, -0.04305834323167801, 0.005128140561282635, 0.003418760374188423, 0.01854492910206318, 0.04564905911684036, -0.022267034277319908, -0.05289650335907936, 0.01867610588669777, -0.01726596988737583, -0.014355514198541641, -0.010084113106131554, 0.08336199820041656, -0.05210945010185242, 0.009411838836967945, 0.06034070998430252, 0.025726785883307457, -0.05981600657105446, 0.014568673446774483, 0.009977532550692558, 0.09254427999258041, -0.01705280877649784, 0.019282791763544083, -0.030481895431876183, -0.04650169983506203, 0.04692801833152771, -0.006710444111377001, 0.0012625637464225292, 0.03561413660645485, -0.019676318392157555, -0.011281088925898075, 0.010059517808258533, -0.0633249506354332, -0.025743182748556137, 0.0068703144788742065, -0.023611580953001976, -0.034728702157735825, -0.03781132400035858, 0.012863392941653728, 0.0170856025069952, 0.010862966999411583, 0.012625637464225292, 0.04361584037542343, 0.004664927255362272, 0.01406036876142025, -0.02090608887374401, 0.014945803210139275, -0.0074974969029426575, 0.02082410268485546, 0.01402757503092289, 0.00839522946625948, -0.017364351078867912, -0.031268950551748276, -0.02816992811858654, -0.012879789806902409, -0.025661198422312737, 0.011764798313379288, -0.007349924650043249, -0.04374701529741287, 0.049617115408182144, 0.02830110490322113, 0.004146374296396971, 0.029120950028300285, 0.051584746688604355, 0.00612015463411808, 0.011830386705696583, 0.003224046668037772, 0.011887775734066963, 0.001663263770751655, 0.008731366135179996, -0.006821123417466879, 0.06411200016736984, 0.023841138929128647, -0.0076983594335615635, -0.007727053947746754, -0.015257344581186771, -0.013470079749822617, 0.0003492034156806767, -0.004751010797917843, 0.03909028694033623, 0.0012851095525547862, 0.004832995589822531, 0.022070270031690598, -0.060996584594249725, -0.015281940810382366, 0.030990201979875565, 0.0712282732129097, -0.047879040241241455, 0.04905961826443672, -0.008714969269931316, 0.01895485259592533, 0.011723806150257587, 0.04843653738498688, -0.013174934312701225, -0.011699210852384567, -0.003918866626918316, 0.05214224383234978, -0.002838718704879284, -0.005464277695864439, 0.014667055569589138, -0.01902044005692005, 0.017479129135608673, -0.0227261483669281, -0.010018525645136833, 0.00664075743407011, 0.04476362466812134, -0.018184198066592216, -0.06253790110349655, -0.013699636794626713, 0.0419105589389801, 0.02098807319998741, -0.023267246782779694, -0.03725383058190346, -0.03522060811519623, 0.012650232762098312, -0.006017673760652542, 0.0048944843001663685, -0.030826231464743614, -0.012018950656056404, -0.003041630843654275, -0.012478064745664597, 0.03643398359417915, -0.004927278030663729, 0.017364351078867912, 0.02423466555774212, 0.022168651223182678, 0.015650872141122818, -0.027841990813612938, 0.036663539707660675, -0.010116906836628914, 0.0170036181807518, -0.002180791925638914, -0.00925606768578291, 0.03410561755299568, -0.03764735534787178, 0.04348466172814369, -0.01893845573067665, 0.00477970577776432, -0.053749144077301025, 0.006915405858308077, -0.0037630959413945675, 0.027415670454502106, 0.04856771230697632, -0.015511497855186462, -0.006443994119763374, -0.1269778460264206, 0.07699999213218689, -0.10133303701877594, 0.03218717873096466, 0.0013189282035455108, -0.03895910829305649, 0.028858600184321404, 0.006427597254514694, -0.04154982417821884, -0.006218536291271448, 0.018200594931840897, -0.008608389645814896, 0.024808557704091072, -0.0340072363615036, 0.0008879963424988091, 0.06594845652580261, 0.007349924650043249, 0.04499318078160286, -0.01893845573067665, 0.005345399957150221, 0.005718430038541555, -0.008391129784286022, -0.03800808638334274, 0.0034966457169502974, 0.019938668236136436, -0.013388094492256641, 0.04063159599900246, -0.04722316190600395, 0.027481257915496826, 0.026759792119264603, 0.01895485259592533, 0.0008726242231205106, -0.03225276619195938, 0.020283004269003868, 0.05470016598701477, 0.021758727729320526, -0.008665778674185276, 0.03879513964056969, 0.05824190005660057, 0.053322821855545044, 0.038532789796590805, 0.0207913089543581, 0.013847208581864834, -0.06388244777917862, 0.0004988253931514919, 0.046009790152311325, 0.04112350568175316, 0.02033219486474991, -0.01898764632642269, 0.027120525017380714, 0.004861690104007721, -0.055224865674972534, -0.00427959905937314, -0.005517567507922649, 0.015191757120192051, -0.0025661198887974024, 0.047682277858257294, 0.04738713428378105, 0.015544291585683823, -0.04837094992399216, 0.01410136092454195, -0.0676865354180336, 0.024956129491329193, -0.009157686494290829, -0.03131813928484917, 0.012806003913283348, 0.0316624753177166, -0.05417546257376671, 0.05460178107023239, 0.007300734054297209, 0.006538276560604572, 0.01715118996798992, 0.030908215790987015, -0.011026936583220959, -0.0014787983382120728, -0.04197614639997482, -0.05227341875433922, -0.008714969269931316, -0.026776188984513283, -0.0024021505378186703, -0.0068621160462498665, 0.02443142794072628, -0.06237392872571945, 0.018331769853830338, 0.00848541222512722, 0.014806429855525494, 0.0009694686159491539, 0.008928129449486732, 0.0013875903096050024, 0.0006174469599500299, 0.002326314803212881, 0.033138200640678406, -0.025070909410715103, 0.008739564567804337, -0.0057389261201024055, 0.06558772921562195, -0.015724657103419304, 0.03564693033695221, 0.01142866164445877, -0.0013732430525124073, 0.007362222298979759, -0.015240947715938091, -0.008243557065725327, -0.016421526670455933, 0.00306417653337121, 0.04292716830968857, 0.0016089489217847586, -0.047715071588754654, 0.016036199405789375, 0.014248933643102646, -0.0018712998135015368, 0.01887286826968193, -0.0023017192725092173, 0.0036052754148840904, 0.01724957302212715, -0.021955491974949837, -0.02420187182724476, -0.0036483174189925194, 0.0725400298833847, -0.005743025336414576, 0.005066651850938797, 0.019479554146528244, 0.004714117851108313, 0.03512222692370415, 0.0024820854887366295, -0.008780556730926037, 0.05273253098130226, 0.019200807437300682, -0.03003917820751667, 0.027727210894227028, -0.0244150310754776, -0.02989160642027855, -0.010936753824353218, -0.06499743461608887, -0.007759848143905401, -0.010010327212512493, -0.021397996693849564, -0.04896123707294464, -0.07194973528385162, 0.030727850273251534, 0.010141502134501934, 0.04204173386096954, 0.02466098591685295, 0.011781195178627968, 0.011904172599315643, 0.06168525665998459, -0.0028633142355829477, 0.03361371159553528, 0.04128747433423996, -0.03146571293473244, -0.03356451913714409, -0.007202352397143841, 0.027743607759475708, 0.03912308067083359, -0.019463157281279564, -0.012978171929717064, -0.02607112191617489, -0.004746911581605673, 0.007522092666476965, 0.011789393611252308, -0.009141289629042149, -0.07837733626365662, -0.05296209082007408, -0.03525340184569359, 0.036663539707660675, 0.06148849427700043, 0.0035417373292148113, 0.02238181233406067, -0.05279812216758728, -0.036532364785671234, 0.031301744282245636, 0.009444632567465305, 0.04066438972949982, -0.026972953230142593, 0.012469866313040257, 0.011559836566448212, -0.009411838836967945, -0.09195399284362793, -0.0802793800830841, 0.012535454705357552, -0.05620868131518364, 0.04115629941225052, 0.009747975505888462, -0.05420825630426407, -0.00926426611840725, -0.00607506325468421, 0.023988710716366768, -0.044337302446365356, 0.0013445484219118953, 0.034761495888233185, 0.03518781438469887, 0.023267246782779694, -0.008300947025418282, 0.03397444263100624, 0.013748827390372753, 0.005968483164906502, -0.018167801201343536, -0.05791396275162697, 0.0045911408960819244, -0.03718824312090874, 0.0009115669527091086, -0.05663500353693962, -0.004886285867542028, 0.04095953702926636, 0.038663964718580246, 0.034400761127471924, -0.009198678657412529, -0.014339116401970387, 0.01038745604455471, 0.0414186492562294, 0.03528619557619095, -0.014175147749483585, -0.025628404691815376, -0.029465286061167717, -0.0017339754849672318, -0.011592631228268147, -0.0132569195702672, -0.047813452780246735, 0.049879465252161026, 0.007149062119424343, 0.01607719250023365, 0.0265958234667778, 0.00043067566002719104, -0.019938668236136436, 0.05240459367632866, -0.042238496243953705, -0.02270974963903427, 0.02592354826629162, -0.004328790120780468, -0.0004760234151035547, 0.015191757120192051, 0.03548296168446541, 0.09851276874542236, -0.01667567901313305, -0.03587648645043373, 0.0003909643564838916, 0.005468376912176609, 0.027563242241740227, -0.019971463829278946, 0.025907151401042938, -0.017807068303227425, -0.02034859172999859, -0.013912796974182129, 0.003256840631365776, 0.0012164473300799727, 0.016380535438656807, -0.04004130885004997, 0.014806429855525494, -0.022037476301193237, 0.00841162633150816, 0.057323671877384186, 0.018069418147206306, 0.006985093001276255, 0.01323232427239418, -0.022955704480409622, -0.031055789440870285, 0.011740203015506268, -0.01888926513493061, 0.018216991797089577, -0.003756946884095669, -0.030514689162373543, -0.03358091786503792, 0.011518844403326511, -0.055487215518951416, 0.02254578098654747, -0.025300465524196625, -0.006796528119593859, 0.047846246510744095, 0.06814564764499664, -0.047846246510744095, 0.011732004582881927, 0.034400761127471924, 0.004345186986029148, -0.009846357628703117, 0.029694844037294388, -0.040238071233034134, -0.0457802340388298, -0.019381172955036163, 0.02246379666030407, 0.01682325266301632, -0.016249358654022217, -0.006222635507583618, -0.0728679671883583, 0.029366904869675636, 0.006911306641995907, -0.04912520945072174, -0.0074933976866304874, -0.034794289618730545, 0.04440288990736008, 0.010772784240543842, -0.014503085985779762, 0.016733068972826004, 0.0018405555747449398, 0.004150473512709141, 0.0005656941211782396, -0.025234878063201904, 0.005583155434578657, -0.02462819218635559, 0.0037712943740189075, 0.01395378913730383, 0.03225276619195938, 0.025841563940048218, -0.01627395488321781, -0.042697612196207047, 0.023185262456536293, -0.06020953506231308, -0.0020219467114657164, 0.030678659677505493, 0.008382931351661682, 0.010477639734745026, 0.04099233075976372, -0.004035694990307093, 0.010584219358861446, 0.03143291920423508, -0.015790244564414024, 0.03340055048465729, -0.023218056187033653, 0.03800808638334274, 0.03535178676247597, 0.06788329780101776, -0.011674615554511547, -0.01222391240298748, -0.005800414830446243, -0.012043545953929424, 0.007681962568312883, -0.013740628957748413, 0.04328789934515953, 0.04905961826443672, -0.007198253180831671, -0.014757238328456879, 0.00427549984306097, 0.017479129135608673, -0.033007021993398666, -0.005960284732282162, -0.02236541546881199, 0.02828470803797245, -0.01706920564174652, -0.040238071233034134, -0.02284092642366886, -0.044107746332883835, -0.031301744282245636, -0.005017461255192757, 0.006398902740329504, 0.030514689162373543, 0.048239775002002716, 0.03604045510292053, -0.011018738150596619, -0.02218504808843136, -0.015823038294911385, -0.03361371159553528, -0.03577810525894165, -0.0009868902852758765, -0.04391098394989967, -0.036565158516168594, 0.002383704064413905, 0.01620836742222309, 0.026808982715010643, -0.038434408605098724, 0.03325297683477402, 0.015437711030244827, -0.019249998033046722, -0.010059517808258533, 0.002838718704879284, 0.0016468667890876532, -0.02846507355570793, 0.00030206222436390817, 0.00424680532887578, -0.0009412863873876631, -0.04194335266947746, -0.08395229279994965, -0.014839223586022854, 0.05476575344800949, -0.019512349739670753, 0.04256643354892731, 0.06503023207187653, -0.02789118140935898, -0.0281207375228405, -0.01687244325876236, -0.020102638751268387, -0.009870952926576138, -0.007304833270609379, -0.06548934429883957, 0.030957406386733055, 0.011961561627686024, -0.026907365769147873, 0.09483985602855682, -0.01869250275194645, -0.027169715613126755, -0.028842203319072723, -0.025562817230820656, -0.04377980902791023, 0.0037487484514713287, 0.014617864973843098, 0.01898764632642269, -0.04679684340953827, -0.002229982754215598, -0.019791096448898315, 0.017823465168476105, -0.014544078148901463, 0.03141652047634125, -0.025021718814969063, 0.008100084029138088, 0.030744247138500214, 0.032613497227430344, 0.02229982800781727, 0.06470229476690292, -0.0024103489704430103, 0.014453895390033722, 0.03407282382249832, 0.007755748927593231, -0.0373850055038929, -0.032875847071409225, 0.00018856472161132842, 0.017364351078867912, -0.008169771172106266, 0.019873080775141716, 0.014306322671473026, 0.005271613597869873, 0.017725083976984024, 0.02626788429915905, -0.012748614884912968, 0.016495313495397568, 0.08368994295597076, -0.023103276267647743, -0.057159703224897385, -0.03620442375540733, -0.07536029815673828, -0.042140115052461624, -0.018233388662338257, 0.009108495898544788, -0.027514051645994186, -0.025103703141212463, -0.01400297973304987, -0.013707835227251053, -0.018216991797089577, 0.04309113696217537, -0.02434944361448288, 0.0314985066652298, -0.03928704932332039, -0.04686243087053299, 0.1089412122964859, 0.0191024262458086, -0.045616265386343, 0.04466524347662926, 0.055388834327459335, 0.08093525469303131, 0.009338052943348885, 0.05424105003476143, -0.011469653807580471, 0.059422481805086136, -0.00211930344812572, -0.0025374251417815685, 0.020069845020771027, 0.037057064473629, 0.0036134738475084305, 0.009174083359539509, 0.000812160549685359, -0.0380408801138401, 0.02610391564667225, 0.01141226477921009, 0.019446760416030884, -0.04273040592670441, 0.04538670554757118, -0.03905749320983887, -0.007977107539772987, 0.03745059296488762, 0.0412546806037426, 0.0184465479105711, 0.019479554146528244, -0.03708985820412636, 0.0191024262458086, 0.011633623391389847, 0.013174934312701225, 0.004009049851447344, 0.031104980036616325, -0.05069931223988533, -0.003211749019101262, 0.02259497158229351, -0.012010752223432064, -0.027612432837486267, 0.02056175284087658, -0.005919292569160461, 0.03715544566512108, 0.023955916985869408, -0.013494675047695637, 0.047879040241241455, 0.014125957153737545, -0.025415243580937386, -0.0070629785768687725, 0.020086241886019707, 0.05099445953965187, 0.010133303701877594, 0.025612007826566696, 0.002242280403152108, -0.07621294260025024, 0.021725933998823166, -0.03879513964056969, 0.02082410268485546, 0.0063620093278586864, -0.0023734557908028364, -0.013166735880076885, -0.023709964007139206, -0.04735434055328369, 0.023054085671901703, 0.03522060811519623, 0.0170856025069952, -0.011797592043876648, -0.03230195492506027, -0.01713479310274124, -0.04187776520848274, -0.003252741415053606, -0.010985944420099258, 0.009157686494290829, -0.011330279521644115, 0.0415826179087162, 0.013027362525463104, 0.0016601893585175276, -0.008665778674185276, 0.01021528895944357, -0.024037901312112808, 0.001562832505442202, 0.03176085650920868, -0.018036624416708946, 0.01854492910206318, -0.02033219486474991, -0.05584795027971268, 0.003154359757900238, -0.021496377885341644, 0.04673125594854355, -0.015544291585683823, 0.001519790617749095, -0.0038245844189077616, 0.020135432481765747, 0.00786642823368311, -0.017397144809365273, -0.0035950273741036654, -0.012822400778532028, -0.029547270387411118, -0.033072613179683685, 0.028547057881951332, -0.022070270031690598, -0.01698722131550312, 0.0058373077772557735, 0.04128747433423996, -0.04696081206202507, -0.030875422060489655, 0.05778278782963753, -0.0038040881045162678, 0.03558134287595749, 0.015987008810043335, -0.04459965601563454, -0.023103276267647743, 0.00663665821775794, 0.0064644902013242245, -0.038368821144104004, 0.0017339754849672318, -0.057454850524663925, -0.03407282382249832, 0.009354449808597565, 0.07581941038370132, 0.002084459876641631, -0.007735252380371094, -0.026972953230142593, 0.019577937200665474, -0.04518994316458702, 0.003172806231305003, -0.025989137589931488, 0.03627001494169235, 0.002125452272593975, -0.03303981572389603, 0.01110072247684002, 0.04541949927806854, -0.019709112122654915, 0.0368930958211422, -0.0095512131229043, 0.016364138573408127, -0.011248295195400715, 0.016085390001535416, 0.03505663946270943, 0.025120100006461143, -0.0010401803301647305, 0.0013804166810587049, -0.028760218992829323, -0.007747550494968891, -8.429047738900408e-05, -0.004845293238759041, -0.012592843733727932, 0.010051319375634193, -0.014863818883895874, 0.032875847071409225, -0.022988498210906982, 0.007300734054297209, -0.07004769146442413, 0.027645226567983627, -0.0323183536529541, -0.00604636874049902, -0.002723940182477236, -0.008600190281867981, -0.06404641270637512, -0.03902469947934151, -0.010994142852723598, -0.03817205876111984, -0.027005746960639954, -0.006275925785303116, 0.00476740812882781, 0.05060093104839325, 0.011043333448469639, -0.020217416808009148, -0.04840374365448952, -0.02810434065759182, 0.05096166580915451, -0.029580064117908478, 0.012887988239526749, 0.008837946690618992, -0.058963365852832794, 0.061258938163518906, -0.021070057526230812, 0.029284920543432236, -0.0005218836013227701, -0.012018950656056404, -0.011772996746003628, 0.034794289618730545, 0.02989160642027855, 0.005476575344800949, 0.06794888526201248, 0.0208732932806015, -0.015552490018308163, 0.01037105917930603, 0.01713479310274124, -0.027317289263010025, -0.014855620451271534, -0.016421526670455933, -0.024759367108345032, 0.006677650380879641, 0.013076553121209145, 0.004177118185907602, -0.016372336074709892, 0.0003599638876039535, 0.03561413660645485, 0.023332834243774414, -0.05630706250667572, -0.014962200075387955, 0.011715607717633247, -0.04299275577068329, -0.014716246165335178, -0.04279599338769913, -0.0452883243560791, -0.0009136165608651936, -0.0021992383990436792, 0.02239820919930935, 0.013650445267558098, -0.023857535794377327, -0.03205600008368492, 0.042140115052461624, 0.02610391564667225, 0.01513436809182167, -0.057389263063669205, 0.042697612196207047, -0.04256643354892731, 0.013724232092499733, 0.008259953930974007, 0.000707630068063736, 0.032908640801906586, 0.03254790976643562, 0.029071759432554245, 0.02843227982521057, -0.07162179797887802, -0.034892670810222626, -0.04489479959011078, -0.025677595287561417, -0.03522060811519623, 0.014183346182107925, -0.032925039529800415, 0.017183983698487282, 0.009600403718650341, 0.05768440663814545, 0.0017657446442171931, -0.007374519947916269, -0.014839223586022854, 0.04538670554757118, 0.02067653089761734, 0.04351745545864105, -0.05020740628242493, -0.021988285705447197, -0.05476575344800949, 0.0036298707127571106, 0.008665778674185276, 0.0026808984111994505, -0.02443142794072628, -0.03225276619195938, -0.04741992801427841, 0.0017411492299288511, 0.015199955552816391, 0.0377129428088665, 0.025530023500323296, -0.021512774750590324, -0.017364351078867912, 0.015495100989937782, 0.08539522439241409, 0.026825379580259323, -0.03349893167614937, -0.04007410258054733, -0.10139862447977066, 0.03627001494169235, 0.0013988632708787918, 0.015790244564414024, -0.00608736090362072, 0.02051256224513054, -0.009600403718650341, -0.051978275179862976, -0.004064389504492283, 0.0007060928619466722, -0.03218717873096466, -0.04574744030833244, 0.00665305508300662, 0.004074637778103352, 0.03994292765855789 ], "result": "--- 结果 1 (相似度: 1.000) ---\n文件路径: C:\\Steam\\steamapps\\common\\RimWorld\\Data\\dll1.6\\RimWorld\\MapPortal.txt\n\npublic class MapPortal : Building, IThingHolder\n{\n\tprivate static readonly Texture2D ViewPocketMapTex = ContentFinder.Get(\"UI/Commands/ViewCave\");\n\n\tprivate static readonly Texture2D CancelEnterTex = ContentFinder.Get(\"UI/Designators/Cancel\");\n\n\tprivate static readonly Texture2D DefaultEnterTex = ContentFinder.Get(\"UI/Commands/EnterCave\");\n\n\tprotected Map pocketMap;\n\n\tpublic PocketMapExit exit;\n\n\tprotected bool beenEntered;\n\n\tpublic List leftToLoad;\n\n\tpublic PortalContainerProxy containerProxy;\n\n\tpublic bool notifiedCantLoadMore;\n\n\tpublic Map PocketMap\n\t{\n\t\tget\n\t\t{\n\t\t\tMap map = pocketMap;\n\t\t\tif (map != null && map.Parent?.HasMap == false)\n\t\t\t{\n\t\t\t\tpocketMap = null;\n\t\t\t}\n\t\t\treturn pocketMap;\n\t\t}\n\t}\n\n\tpublic bool PocketMapExists => PocketMap != null;\n\n\tpublic virtual bool AutoDraftOnEnter => false;\n\n\tprotected virtual Texture2D EnterTex => DefaultEnterTex;\n\n\tpublic virtual string EnterString => \"EnterPortal\".Translate(Label);\n\n\tpublic virtual string CancelEnterString => \"CommandCancelEnterPortal\".Translate();\n\n\tpublic virtual string EnteringString => \"EnteringPortal\".Translate(Label);\n\n\tpublic bool LoadInProgress\n\t{\n\t\tget\n\t\t{\n\t\t\tif (leftToLoad != null)\n\t\t\t{\n\t\t\t\treturn leftToLoad.Any();\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic bool AnyPawnCanLoadAnythingNow\n\t{\n\t\tget\n\t\t{\n\t\t\tif (!LoadInProgress)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tif (!base.Spawned)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tIReadOnlyList allPawnsSpawned = base.Map.mapPawns.AllPawnsSpawned;\n\t\t\tfor (int i = 0; i < allPawnsSpawned.Count; i++)\n\t\t\t{\n\t\t\t\tif (allPawnsSpawned[i].CurJobDef == JobDefOf.HaulToPortal && ((JobDriver_HaulToPortal)allPawnsSpawned[i].jobs.curDriver).MapPortal == this)\n\t\t\t\t{\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\tif (allPawnsSpawned[i].CurJobDef == JobDefOf.EnterPortal && ((JobDriver_EnterPortal)allPawnsSpawned[i].jobs.curDriver).MapPortal == this)\n\t\t\t\t{\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t\tfor (int j = 0; j < allPawnsSpawned.Count; j++)\n\t\t\t{\n\t\t\t\tThing thing = allPawnsSpawned[j].mindState?.duty?.focus.Thing;\n\t\t\t\tif (thing != null && thing == this && allPawnsSpawned[j].CanReach(thing, PathEndMode.Touch, Danger.Deadly))\n\t\t\t\t{\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t\tfor (int k = 0; k < allPawnsSpawned.Count; k++)\n\t\t\t{\n\t\t\t\tif (allPawnsSpawned[k].IsColonist && EnterPortalUtility.HasJobOnPortal(allPawnsSpawned[k], this))\n\t\t\t\t{\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tpublic override void ExposeData()\n\t{\n\t\tbase.ExposeData();\n\t\tMap map = pocketMap;\n\t\tif (map != null && map.Parent?.HasMap == false)\n\t\t{\n\t\t\tpocketMap = null;\n\t\t}\n\t\tScribe_References.Look(ref pocketMap, \"pocketMap\");\n\t\tScribe_References.Look(ref exit, \"exit\");\n\t\tScribe_Values.Look(ref beenEntered, \"beenEntered\", defaultValue: false);\n\t\tScribe_Collections.Look(ref leftToLoad, \"leftToLoad\", LookMode.Deep);\n\t\tif (Scribe.mode == LoadSaveMode.PostLoadInit)\n\t\t{\n\t\t\tleftToLoad?.RemoveAll((TransferableOneWay x) => x.AnyThing == null);\n\t\t}\n\t}\n\n\tpublic override void SpawnSetup(Map map, bool respawningAfterLoad)\n\t{\n\t\tbase.SpawnSetup(map, respawningAfterLoad);\n\t\tcontainerProxy = new PortalContainerProxy\n\t\t{\n\t\t\tportal = this\n\t\t};\n\t}\n\n\tprotected override void Tick()\n\t{\n\t\tbase.Tick();\n\t\tif (this.IsHashIntervalTick(60) && base.Spawned && LoadInProgress && !notifiedCantLoadMore && !AnyPawnCanLoadAnythingNow && leftToLoad[0]?.AnyThing != null)\n\t\t{\n\t\t\tnotifiedCantLoadMore = true;\n\t\t\tMessages.Message(\"MessageCantLoadMoreIntoPortal\".Translate(Label, Faction.OfPlayer.def.pawnsPlural, leftToLoad[0].AnyThing), this, MessageTypeDefOf.CautionInput);\n\t\t}\n\t}\n\n\tpublic void GetChildHolders(List outChildren)\n\t{\n\t}\n\n\tpublic ThingOwner GetDirectlyHeldThings()\n\t{\n\t\treturn containerProxy;\n\t}\n\n\tpublic void Notify_ThingAdded(Thing t)\n\t{\n\t\tSubtractFromToLoadList(t, t.stackCount);\n\t}\n\n\tpublic void AddToTheToLoadList(TransferableOneWay t, int count)\n\t{\n\t\tif (!t.HasAnyThing || count <= 0)\n\t\t{\n\t\t\treturn;\n\t\t}\n\t\tif (leftToLoad == null)\n\t\t{\n\t\t\tleftToLoad = new List();\n\t\t}\n\t\tTransferableOneWay transferableOneWay = TransferableUtility.TransferableMatching(t.AnyThing, leftToLoad, TransferAsOneMode.PodsOrCaravanPacking);\n\t\tif (transferableOneWay != null)\n\t\t{\n\t\t\tfor (int i = 0; i < t.things.Count; i++)\n\t\t\t{\n\t\t\t\tif (!transferableOneWay.things.Contains(t.things[i]))\n\t\t\t\t{\n\t\t\t\t\ttransferableOneWay.things.Add(t.things[i]);\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (transferableOneWay.CanAdjustBy(count).Accepted)\n\t\t\t{\n\t\t\t\ttransferableOneWay.AdjustBy(count);\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tTransferableOneWay transferableOneWay2 = new TransferableOneWay();\n\t\t\tleftToLoad.Add(transferableOneWay2);\n\t\t\ttransferableOneWay2.things.AddRange(t.things);\n\t\t\ttransferableOneWay2.AdjustTo(count);\n\t\t}\n\t}\n\n\tpublic int SubtractFromToLoadList(Thing t, int count)\n\t{\n\t\tif (leftToLoad == null)\n\t\t{\n\t\t\treturn 0;\n\t\t}\n\t\tTransferableOneWay transferableOneWay = TransferableUtility.TransferableMatchingDesperate(t, leftToLoad, TransferAsOneMode.PodsOrCaravanPacking);\n\t\tif (transferableOneWay == null)\n\t\t{\n\t\t\treturn 0;\n\t\t}\n\t\tif (transferableOneWay.CountToTransfer <= 0)\n\t\t{\n\t\t\treturn 0;\n\t\t}\n\t\tint num = Mathf.Min(count, transferableOneWay.CountToTransfer);\n\t\ttransferableOneWay.AdjustBy(-num);\n\t\ttransferableOneWay.things.Remove(t);\n\t\tif (transferableOneWay.CountToTransfer <= 0)\n\t\t{\n\t\t\tleftToLoad.Remove(transferableOneWay);\n\t\t}\n\t\treturn num;\n\t}\n\n\tpublic void CancelLoad()\n\t{\n\t\tLord lord = base.Map.lordManager.lords.FirstOrDefault((Lord l) => l.LordJob is LordJob_LoadAndEnterPortal lordJob_LoadAndEnterPortal && lordJob_LoadAndEnterPortal.portal == this);\n\t\tif (lord != null)\n\t\t{\n\t\t\tbase.Map.lordManager.RemoveLord(lord);\n\t\t}\n\t\tleftToLoad.Clear();\n\t}\n\n\tpublic virtual bool IsEnterable(out string reason)\n\t{\n\t\treason = \"\";\n\t\treturn true;\n\t}\n\n\tpublic virtual Map GetOtherMap()\n\t{\n\t\tif (PocketMap == null)\n\t\t{\n\t\t\tGeneratePocketMap();\n\t\t}\n\t\treturn PocketMap;\n\t}\n\n\tpublic virtual IntVec3 GetDestinationLocation()\n\t{\n\t\treturn exit?.Position ?? IntVec3.Invalid;\n\t}\n\n\tpublic virtual void OnEntered(Pawn pawn)\n\t{\n\t\tNotify_ThingAdded(pawn);\n\t\tif (!beenEntered)\n\t\t{\n\t\t\tbeenEntered = true;\n\t\t\tif (!def.portal.enteredLetterLabel.NullOrEmpty())\n\t\t\t{\n\t\t\t\tFind.LetterStack.ReceiveLetter(def.portal.enteredLetterLabel, def.portal.enteredLetterText.Formatted(pawn.Named(\"PAWN\")), def.portal.enteredLetterDef, exit);\n\t\t\t}\n\t\t}\n\t\tif (Find.CurrentMap == base.Map)\n\t\t{\n\t\t\tdef.portal.traverseSound?.PlayOneShot(this);\n\t\t}\n\t\telse if (Find.CurrentMap == exit.Map)\n\t\t{\n\t\t\tdef.portal.traverseSound?.PlayOneShot(exit);\n\t\t}\n\t}\n\n\tpublic override IEnumerable GetGizmos()\n\t{\n\t\tforeach (Gizmo gizmo in base.GetGizmos())\n\t\t{\n\t\t\tyield return gizmo;\n\t\t}\n\t\tCommand_Action command_Action = new Command_Action();\n\t\tcommand_Action.action = delegate\n\t\t{\n\t\t\tDialog_EnterPortal window = new Dialog_EnterPortal(this);\n\t\t\tFind.WindowStack.Add(window);\n\t\t};\n\t\tcommand_Action.icon = EnterTex;\n\t\tcommand_Action.defaultLabel = EnterString + \"...\";\n\t\tcommand_Action.defaultDesc = \"CommandEnterPortalDesc\".Translate(Label);\n\t\tcommand_Action.Disabled = !IsEnterable(out var reason);\n\t\tcommand_Action.disabledReason = reason;\n\t\tyield return command_Action;\n\t\tif (LoadInProgress)\n\t\t{\n\t\t\tCommand_Action command_Action2 = new Command_Action();\n\t\t\tcommand_Action2.action = CancelLoad;\n\t\t\tcommand_Action2.icon = CancelEnterTex;\n\t\t\tcommand_Action2.defaultLabel = CancelEnterString;\n\t\t\tcommand_Action2.defaultDesc = \"CommandCancelEnterPortalDesc\".Translate();\n\t\t\tyield return command_Action2;\n\t\t}\n\t\tif (pocketMap != null)\n\t\t{\n\t\t\tyield return new Command_Action\n\t\t\t{\n\t\t\t\tdefaultLabel = \"CommandViewPocketMapLabel\".Translate(def.portal.pocketMapGenerator.label),\n\t\t\t\tdefaultDesc = \"CommandViewPocketMapDesc\".Translate(def.portal.pocketMapGenerator.label),\n\t\t\t\ticon = ViewPocketMapTex,\n\t\t\t\taction = delegate\n\t\t\t\t{\n\t\t\t\t\tCameraJumper.TryJumpAndSelect(exit);\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\t}\n\n\tprivate void GeneratePocketMap()\n\t{\n\t\tPocketMapUtility.currentlyGeneratingPortal = this;\n\t\tpocketMap = GeneratePocketMapInt();\n\t\tPocketMapUtility.currentlyGeneratingPortal = null;\n\t}\n\n\tprotected virtual Map GeneratePocketMapInt()\n\t{\n\t\treturn PocketMapUtility.GeneratePocketMap(new IntVec3(def.portal.pocketMapSize, 1, def.portal.pocketMapSize), def.portal.pocketMapGenerator, GetExtraGenSteps(), base.Map);\n\t}\n\n\tprotected virtual IEnumerable GetExtraGenSteps()\n\t{\n\t\treturn Enumerable.Empty();\n\t}\n}\n\n", "timestamp": "2025-08-25 14:32:36,132" }, "LayoutRoomDef": { "keywords": [ "LayoutRoomDef" ], "question": "LayoutRoomDef", "embedding": [ -0.03730578348040581, -0.0024191075935959816, 0.017382575199007988, -0.0029748703818768263, -0.005055335350334644, 0.0047636814415454865, 0.014543810859322548, 0.0008214919944293797, -0.06735262274742126, 0.12018735706806183, 0.0036618774756789207, -0.07907062768936157, -0.06735262274742126, -0.008017242886126041, 0.0615973174571991, 0.03292449191212654, -0.013843840919435024, -0.10095115751028061, -0.04801272228360176, -0.03826500102877617, 0.04277591407299042, 0.012806849554181099, -0.04373513162136078, 0.027869155630469322, -0.011225436814129353, -0.000681741104926914, 0.03810945153236389, 0.044668424874544144, 0.06408609449863434, -0.05475316941738129, 0.027246961370110512, -0.003256802447140217, 0.015178968198597431, 0.01992320641875267, -0.039327915757894516, 0.06455273926258087, 0.04780532419681549, -0.006419627461582422, -0.0045206365175545216, 0.0016259708208963275, -0.010408805683255196, -0.007148762699216604, -0.020739836618304253, 0.001633262145332992, -0.0221397764980793, -0.008989423513412476, 0.038705721497535706, -0.07082654535770416, -0.009890309534966946, 0.013934577815234661, 0.00489654578268528, 0.03302818909287453, -0.02118055894970894, 0.012592969462275505, -0.04917933791875839, 0.04809049516916275, 0.0008725314401090145, -0.0057877106592059135, -0.001318924012593925, -0.003525772364810109, 0.03059125877916813, 0.03204304724931717, 0.00477340305224061, 0.012625375762581825, 0.03002091310918331, -0.05750119686126709, 0.042179644107818604, -0.01853622868657112, 0.05063112825155258, -0.03326151520013809, -0.003161204745993018, 0.017265914008021355, -0.03883534297347069, -0.012845736928284168, -0.057397499680519104, 0.0415055975317955, -0.018030695617198944, -0.03992418572306633, -0.0013521400978788733, -0.01812143251299858, -0.008743137121200562, 0.002944084582850337, -0.008957017213106155, 0.013506818562746048, 0.028880223631858826, 0.036009542644023895, 0.028750598430633545, -0.005505778826773167, 0.006069642957299948, 0.05941963195800781, -0.01861400343477726, 0.013597555458545685, 0.02760990709066391, 0.006374259479343891, -0.0003674029721878469, 0.010434730909764767, -0.044383250176906586, 0.012016142718493938, 0.01654002070426941, 0.01374014187604189, -0.017589975148439407, -0.02919132076203823, -0.01791403442621231, 0.011076369322836399, -0.006131214089691639, 0.05083852633833885, 0.006740447133779526, 0.007459860295057297, -0.004721553530544043, 0.02843950130045414, 0.020584288984537125, -0.0020075514912605286, -0.008218160830438137, 0.019275086000561714, 0.005703455302864313, 0.0636712983250618, 0.002268419601023197, 0.008632957004010677, -0.05459761992096901, 0.030669033527374268, 0.06123436987400055, 0.0062964847311377525, 0.027065487578511238, -0.037461329251527786, 0.006377500016242266, -0.022049039602279663, -0.006293244194239378, 0.02206200174987316, 0.01984543167054653, -0.04412400349974632, -0.006302966270595789, -0.02475818060338497, 0.023500828072428703, 0.013351269997656345, -0.031083831563591957, -0.022541610524058342, 0.015865975990891457, 0.0176547858864069, -0.007414491847157478, 0.013260533101856709, 0.008185754530131817, 0.02926909551024437, -0.007595965173095465, -0.009929196909070015, 0.06351575255393982, 0.019754694774746895, -0.015671540051698685, -0.042309265583753586, -0.023474903777241707, -0.0066043417900800705, 0.01694185473024845, -0.02164720557630062, -0.03422073274850845, 0.019404709339141846, -0.0016996944323182106, -0.02068798802793026, 0.016695568338036537, 0.028128404170274734, -0.007680220995098352, -0.019676920026540756, -0.022113850340247154, 0.03453182801604271, 0.004595170263200998, 0.02823210321366787, -0.00805613026022911, -0.015671540051698685, -0.06284170597791672, 0.00453359866514802, -0.002770712599158287, -0.02464151941239834, -0.006675634998828173, 0.019184349104762077, -0.050760749727487564, 0.029087621718645096, -0.0017839500214904547, -0.04871269315481186, -0.021258333697915077, 0.02054540067911148, 0.03585399314761162, -0.005534944124519825, 0.03564659506082535, 0.01498453225940466, 0.06828591227531433, 0.008607032708823681, -0.004883583635091782, -0.0498015321791172, 0.00788113847374916, 0.03984641283750534, -0.005774748511612415, 0.006082605104893446, -0.026197006925940514, 0.01944359764456749, 0.07481896132230759, 0.055323515087366104, -0.07653000205755234, 0.01564561389386654, -0.011439315974712372, 0.05418282374739647, 0.07735959440469742, 0.04243889078497887, 0.012631856836378574, -0.04871269315481186, 0.05039780214428902, 0.032509695738554, 0.03326151520013809, 0.016630757600069046, 0.03279486671090126, 0.02040281519293785, 0.042309265583753586, -0.002589239040389657, 0.05729379877448082, -0.002036716789007187, 0.020597251132130623, -0.030072763562202454, -0.029424643144011497, 0.007699664682149887, -0.013241089880466461, -0.006471477448940277, -0.017382575199007988, 0.03507624939084053, 0.02061021327972412, -0.04713128134608269, 0.007012657355517149, 0.02748028375208378, 0.03305411338806152, -0.013267014175653458, 0.014621584676206112, 0.0053113424219191074, 0.03370223566889763, 0.022865669801831245, 0.04277591407299042, -0.006228432059288025, -0.049568209797143936, 0.03678728640079498, -0.033313363790512085, -0.011951331049203873, -0.03149862587451935, -0.05724195018410683, -0.006986732594668865, 0.03261339291930199, 0.02394154854118824, 0.008717212826013565, -0.04352773353457451, 0.036294713616371155, 0.016488170251250267, -0.05817524343729019, -0.07606334984302521, -0.015956712886691093, 0.03696876019239426, -0.011944849975407124, -0.016241885721683502, 0.017888110131025314, -0.008393152616918087, 0.036709509789943695, 0.033805932849645615, 0.016993703320622444, -0.023824887350201607, 0.0002671469119377434, -0.00017185304022859782, -0.007265424355864525, 0.0013934577582404017, 0.051305171102285385, -0.03022831305861473, -0.022036077454686165, 0.018730664625763893, 0.03155047819018364, -0.01498453225940466, 0.030357936397194862, -0.032691169530153275, -0.05288658291101456, -0.011264324188232422, 0.013182759284973145, 0.023993398994207382, -0.009656986221671104, -0.008918129839003086, 0.028465425595641136, 0.015062307007610798, 0.023423053324222565, -0.03308004140853882, -0.016656681895256042, 0.014971570111811161, 0.03751318156719208, 0.0002876032085623592, -0.03720208257436752, -0.0052627334371209145, 0.005914093926548958, 0.04096117988228798, -0.0003821882128249854, 0.00034836443956010044, 0.01860104128718376, 0.048608992248773575, -0.004809049889445305, 0.02919132076203823, 0.017732560634613037, 0.05407912656664848, 0.01317627727985382, 0.022800859063863754, 0.028050629422068596, 0.011685601435601711, 0.028672825545072556, -0.009741242043673992, 0.03188749775290489, -0.056153107434511185, 0.03051348589360714, 0.04490174725651741, 0.021089822053909302, -0.048323821276426315, -0.016345584765076637, -0.07549300789833069, -0.0892331451177597, -0.006649710237979889, 0.005146072246134281, 0.026067381724715233, -0.04472027346491814, -0.02228236198425293, 0.026754390448331833, -0.007433935534209013, -0.001322974800132215, 0.027428435161709785, -0.010687497444450855, -0.08679621666669846, -0.03282079100608826, -0.053456928580999374, 0.004977561067789793, 0.011581902392208576, -0.008198716677725315, 0.02068798802793026, -0.03880941867828369, -9.250899165635929e-05, -0.025639623403549194, 0.02103797160089016, 0.011620789766311646, -0.009974565356969833, 0.047079429030418396, -0.024032285436987877, -0.014077164232730865, -0.02843950130045414, 0.056412357836961746, 0.0200787540525198, -0.01848438009619713, -0.03341706097126007, -0.06097511947154999, -0.005334026645869017, -0.005826598033308983, 0.01909361220896244, 0.02552296221256256, 0.010525466874241829, 0.028361726552248, -0.0636194497346878, -0.0004573296173475683, -0.01943063549697399, -0.006448793224990368, -0.0034512383863329887, 0.007991318590939045, 0.026754390448331833, -0.012307796627283096, -0.029295019805431366, -0.011873556300997734, -0.008769062347710133, 0.008166310377418995, 0.007466341368854046, 0.05558276176452637, 0.012605932541191578, -0.0030947725754231215, 0.028543200343847275, -0.07507821172475815, -0.008963498286902905, 0.07554485648870468, -0.004679425619542599, 0.05646420642733574, 0.022100888192653656, -0.03411703184247017, 0.04847937077283859, 0.031031981110572815, -0.03523179888725281, 0.05319768190383911, 0.01598263718187809, 0.0013456589076668024, -0.021906452253460884, -0.0014234333066269755, -0.04503137245774269, 0.023630451411008835, -0.0026086827274411917, -0.0024191075935959816, -0.011776338331401348, -0.02526371367275715, -0.042231492698192596, 0.026832163333892822, 0.01204206794500351, -0.01744738779962063, 0.049360811710357666, -0.016902966424822807, 0.018639927729964256, -0.00612473301589489, 0.08549997955560684, -0.006578417029231787, 0.027869155630469322, 0.019197311252355576, 0.006831184029579163, -0.018043657764792442, 0.013377195224165916, -0.030150538310408592, -0.03357261046767235, -0.03626878932118416, -0.04007973521947861, -0.007200612220913172, -0.014621584676206112, -0.024434121325612068, 0.02309899404644966, 0.01519193034619093, 0.009715317748486996, -0.013182759284973145, 0.016086336225271225, 0.0025066037196666002, -0.03976863622665405, 0.0005496867233887315, -0.0014850047882646322, 0.00553170358762145, 0.02366933971643448, -0.0456535667181015, 0.014141975902020931, 0.007550596725195646, -0.08259639889001846, -0.016099298372864723, -0.016643719747662544, -0.011957812123000622, 0.0071228379383683205, -0.008464446291327477, -0.026391442865133286, 0.0484275184571743, -0.0422055684030056, -0.01183466985821724, -0.10121040791273117, 0.06284170597791672, -0.010726384818553925, -0.03085050731897354, -0.0072265369817614555, 0.021413881331682205, -0.012897586449980736, -0.029035771265625954, -0.02740250900387764, 0.003467441536486149, 0.05340507999062538, -0.023345278576016426, -0.06242690980434418, -0.034609604626894, 0.07502636313438416, 0.016228921711444855, 0.027713607996702194, -0.018445491790771484, -0.00501968851312995, 0.009780129417777061, 0.01221057865768671, 0.010603241622447968, 0.02381192520260811, -0.0004719122953247279, 0.03492069989442825, -0.0020221341401338577, -0.016436321660876274, -0.012605932541191578, 1.7633417883189395e-05, 0.04422770068049431, -0.021128708496689796, 0.027921006083488464, -0.008619994856417179, 0.02360452711582184, 0.00039697345346212387, 0.006121492478996515, -0.03507624939084053, -0.02201015129685402, 0.009598655626177788, -0.024369308724999428, 0.037539105862379074, 0.0010515745962038636, 0.024330420419573784, -0.04601651430130005, 0.0020172731019556522, 0.011575421318411827, 0.009054235182702541, -0.023928586393594742, 0.01875659078359604, 0.017589975148439407, -0.004465545993298292, 0.002642708830535412, -0.11054333299398422, -0.043424032628536224, -0.03030608594417572, -0.014154938980937004, -0.010214369744062424, 0.009929196909070015, 0.011329135857522488, -0.004530358128249645, -0.05042373016476631, 0.045368392020463943, -0.036839134991168976, 0.0005585983162745833, -0.019599145278334618, 0.02732473611831665, -1.1671221727738157e-05, -0.006857108790427446, 0.02893207222223282, 0.015036381781101227, -0.026326630264520645, 0.0038336291909217834, -0.008989423513412476, 0.0010094468016177416, -0.014777134172618389, 0.04656093567609787, -0.023552676662802696, -0.005246530752629042, 0.00975420419126749, 0.022515686228871346, 0.03238007053732872, -0.009507918730378151, -0.020843535661697388, -0.009987527504563332, 0.05475316941738129, 0.05485687032341957, -0.0021323144901543856, -0.03201712295413017, -0.021258333697915077, 0.003334576962515712, 0.006147417239844799, 0.040727853775024414, -0.03222452104091644, 0.0010839805472642183, -0.007945950143039227, -0.023539714515209198, 0.026754390448331833, -0.04969783499836922, -0.04534246772527695, -0.005288658197969198, -0.04656093567609787, 0.014193826355040073, -0.0027383065316826105, -0.009209783747792244, 0.018795477226376534, 0.019949130713939667, -0.050138555467128754, 0.03777242824435234, 0.009948640130460262, -0.018834363669157028, 0.01376606710255146, 0.012651300989091396, 0.013467931188642979, 0.0034155920147895813, -0.006283522583544254, -0.0035905842669308186, 0.012223541736602783, -0.06056032329797745, 0.002673494629561901, 0.011964293196797371, -0.04552394151687622, -0.03855017200112343, -0.01806958205997944, -0.012832773849368095, 0.05796784535050392, 0.016138184815645218, 0.02096019685268402, 0.016786305233836174, 0.016565944999456406, -0.03722800686955452, -0.007777438964694738, -0.029217245057225227, 0.0083088967949152, 0.013312382623553276, -0.05978257954120636, -0.0124503830447793, -0.05114962160587311, -0.029632041230797768, -0.02401932328939438, -0.028361726552248, -0.03785020112991333, -0.03619101643562317, 0.011659677140414715, -0.008457965217530727, 0.008658882230520248, 0.042516667395830154, 0.01832883059978485, 0.006682116072624922, -0.025847021490335464, -0.008224641904234886, 0.010253257118165493, -0.009170896373689175, -0.017239989712834358, -0.007472822442650795, 0.025354450568556786, 0.010940263979136944, 0.01834179274737835, -0.0595233328640461, 0.03378000855445862, 0.005444207228720188, -0.026274781674146652, -0.011769857257604599, 0.004578967113047838, 0.014478998258709908, -0.027998780831694603, 0.027091411873698235, 0.006740447133779526, 0.05480501800775528, 0.04096117988228798, -0.07637444883584976, 0.00541504193097353, 0.004601651336997747, 0.010693978518247604, -0.0008579487330280244, -0.021919414401054382, 0.036709509789943695, 0.033805932849645615, 0.017188139259815216, 0.04329441115260124, 0.03510217368602753, -0.022100888192653656, -0.013299420475959778, 0.015308592468500137, 0.005249771289527416, -0.009281077422201633, 0.03637249022722244, -0.018289944157004356, -0.012307796627283096, -0.01910657435655594, -0.02158239297568798, -0.0023704986087977886, -0.0040831551887094975, -0.04067600518465042, -0.03126530349254608, -0.005236808676272631, -0.04005381092429161, -0.03139492869377136, -0.032768942415714264, 0.017382575199007988, 0.038290925323963165, -0.021063897758722305, 0.032509695738554, 0.04269814118742943, 0.022437911480665207, -0.0670933723449707, 0.012599450536072254, -0.05042373016476631, -0.036502111703157425, 0.0470275804400444, -0.004523877054452896, 0.01708444021642208, -0.018238093703985214, -0.05895298719406128, -0.026884013786911964, -0.043346259742975235, 0.012385571375489235, -0.010454174131155014, 0.01958618313074112, -0.008937573060393333, 0.04129819944500923, 0.048194196075201035, 0.04135005176067352, 0.006980251520872116, -0.02040281519293785, -0.005593274720013142, -0.0034512383863329887, -0.007375604473054409, 0.0345836766064167, -0.01784922182559967, -0.04969783499836922, 0.0025697953533381224, -0.0017110365442931652, -0.006714522372931242, 0.01708444021642208, -0.007446897681802511, -0.006312687881290913, 0.006251116283237934, -0.006811740342527628, -0.00685062725096941, 0.03416888043284416, 0.005551146809011698, 0.014388262294232845, 0.01674741879105568, 0.015269705094397068, -0.0003929226950276643, -0.021569430828094482, 0.03422073274850845, 0.010739346966147423, -0.020584288984537125, 0.02081761136651039, -0.005402079317718744, -0.010382880456745625, -0.048323821276426315, 0.029632041230797768, -0.019002875313162804, 0.02649514190852642, -0.02166016772389412, 0.010752309113740921, 0.0352836474776268, -0.015619689598679543, 0.0739893689751625, -0.002009171759709716, -0.050890374928712845, 0.007647814694792032, -0.07466341555118561, 0.007096913177520037, 0.030461635440587997, 0.031083831563591957, 0.0006059920997358859, -0.047909025102853775, -0.05057927593588829, -0.011666158214211464, -0.0007408820674754679, 0.010940263979136944, -0.04132412374019623, -0.03300226479768753, -0.006108530331403017, -0.004313237965106964, -0.014803058467805386, 0.01860104128718376, -0.02794693037867546, -0.005009966902434826, -0.011154143139719963, 0.014103089459240437, -0.02532852627336979, 0.05423467233777046, -0.020441701635718346, -0.009935677982866764, -0.015749312937259674, 0.005888169165700674, 0.01965099573135376, 0.013312382623553276, -0.05032002925872803, 0.022930482402443886, -0.06278985738754272, -0.014323449693620205, 0.005820116959512234, 0.07528560608625412, -0.03541327267885208, -0.031161604449152946, 0.008030205965042114, -0.004190095234662294, -0.018730664625763893, -0.06538233906030655, -0.05042373016476631, -0.023850811645388603, -0.03984641283750534, -0.053923577070236206, 2.351966395508498e-05, -0.021880527958273888, -0.020700950175523758, -0.0581233948469162, -0.004400734324008226, 0.007628371473401785, -0.01183466985821724, 0.0560494102537632, 0.054701320827007294, -0.013390157371759415, 0.038783494383096695, -0.03715023398399353, -0.0615973174571991, -0.003979456145316362, 0.023086031898856163, 0.022256437689065933, 0.014958607032895088, 0.0022279121913015842, 0.05265326052904129, 0.01006530225276947, 0.0005602186429314315, -0.021258333697915077, 0.0162678100168705, 0.023980436846613884, 0.0001158514351118356, -0.0014461175305768847, -0.009494956582784653, 0.03541327267885208, 0.015749312937259674, -0.024161910638213158, -0.017032591626048088, -0.06616008281707764, -0.008626475930213928, 0.03839462250471115, 0.008464446291327477, 0.035750292241573334, 0.016799267381429672, 0.020662061870098114, -0.04744237661361694, -0.020467625930905342, -0.007518190890550613, -0.039327915757894516, -0.003093152306973934, -0.024576706811785698, 0.01328645832836628, 0.06045662611722946, -0.00019686641462612897, 0.00784873217344284, -0.01374014187604189, 0.05423467233777046, -0.012612413614988327, -0.022787895053625107, 0.04816827178001404, 0.01978061906993389, 0.015412291511893272, 0.019054725766181946, -0.004118802025914192, 0.11977256089448929, 0.017615899443626404, 0.03051348589360714, -0.006484439596533775, -0.03678728640079498, -0.020636137574911118, 0.00337994541041553, -0.012029105797410011, 0.005000245291739702, -0.037616878747940063, -0.03569844365119934, -0.04510914534330368, 0.015075269155204296, -0.030954206362366676, -0.03611323982477188, 0.010959707200527191, 0.00854870118200779, 0.03987233713269234, -0.012443901970982552, -0.05993812903761864, -0.00553170358762145, -0.006358056329190731, -0.004744237754493952, 0.018030695617198944, 0.07554485648870468, 0.013649404980242252, -0.02609330788254738, 0.005227087065577507, -0.016786305233836174, -0.00040507494122721255, 0.0028663103003054857, 0.058849286288022995, -0.029865365475416183, 0.039613090455532074, -0.013416081666946411, -0.05630865693092346, -0.030409786850214005, -0.0005095842643640935, -0.03657988831400871, 0.05485687032341957, 0.014816020615398884, -0.0047053503803908825, 0.017006665468215942, -0.034765150398015976, -0.017525162547826767, -0.011212474666535854, -0.03238007053732872, -0.010577316395938396, 0.032276369631290436, -0.007239499129354954, -0.021154632791876793, -0.04036490619182587, -0.05817524343729019, -0.016164110973477364, 0.03489477559924126, 0.003021859098225832, 0.005094222258776426, -0.011692083440721035, 0.04007973521947861, -0.04523877054452896, 0.05817524343729019, 0.008723693899810314, 0.028180252760648727, -0.04720905423164368, -0.05776044726371765, -0.05138294771313667, 0.03409110754728317, -0.019910244271159172, 0.024887803941965103, 0.056982703506946564, 0.027091411873698235, 0.022463835775852203, 0.03689098358154297, 0.06688597053289413, -0.0032065731938928366, -0.032198596745729446, -0.0043586064130067825, 0.02020837925374508, -0.0595233328640461, -0.0009567870292812586, 0.011439315974712372, 0.011393947526812553, 0.03883534297347069, -0.0058460417203605175, -0.03302818909287453, 0.010752309113740921, 0.005534944124519825, 0.03471330180764198, -0.0052756960503757, -0.024615593254566193, 0.005210883915424347, -0.006153898313641548, -0.02552296221256256, 0.0052724555134773254, -0.04697573184967041, 0.002205227967351675, 0.024110060185194016, 0.05506426841020584, 0.0032324979547411203, -0.02484891749918461, -0.02573036029934883, -0.06289355456829071, 0.004961357917636633, -0.0019232957856729627, -0.02815432846546173, 0.060508474707603455, -0.0152178555727005, -0.05340507999062538, 0.0290616974234581, -0.010331030935049057, -0.01079767756164074, -0.022152738645672798, -0.05869373679161072, -0.018523266538977623, 0.04954228550195694, 0.05687900260090828, -0.02960611693561077, -0.03030608594417572, -0.07077469676733017, -0.024304496124386787, -0.0016867320518940687, -0.011815225705504417, 0.004695628769695759, -0.013908653520047665, 0.010194926522672176, 0.0768410935997963, -0.011951331049203873, 0.03657988831400871, -0.017771447077393532, -0.03424665704369545, 0.03238007053732872, 0.03886127099394798, 0.011199511587619781, -0.05008670687675476, 0.004306756891310215, 0.03800575062632561, 0.042101867496967316, 0.03308004140853882, 0.0009276216151192784, -0.02360452711582184, -0.03100605681538582, -0.04648315906524658, -0.008522776886820793, -0.0006104479543864727, -0.02504335343837738, 0.00662702601402998, -0.007745032664388418, 0.028206178918480873, 0.03196527436375618, -0.0012257567141205072, 0.019676920026540756, 0.0018827883759513497, 0.04609428718686104, -0.02185460366308689, -0.013960503041744232, -0.003943809773772955, -0.006471477448940277, 0.004008621443063021, 0.014025314711034298, -0.0028014983981847763, -0.017602937296032906, 0.020519476383924484, -0.020091716200113297, 0.06315280497074127, 0.009054235182702541, 0.03927606716752052, -0.024239685386419296, 0.052627336233854294, -0.03105790540575981, 0.013442006893455982, -0.04308701306581497, -0.021971264854073524, -0.01778441108763218, 0.018302906304597855, 0.02166016772389412, 0.01546414103358984, -0.032068971544504166, -0.03295041620731354, -0.010959707200527191, -0.02588590979576111, -0.08487778156995773, 0.04523877054452896, 0.038705721497535706, 0.014790096320211887, 0.030150538310408592, -0.010713421739637852, 0.00788761954754591, 0.020117642357945442, -0.03730578348040581, 0.04324255883693695, 0.03790205344557762, -0.00079354178160429, 0.037124309688806534, -0.025134090334177017, 0.03914644196629524, -0.04197224602103233, 0.06963400542736053, 0.012476308271288872, 0.030150538310408592, 0.01819920726120472, -0.0016535159666091204, 0.03976863622665405, 0.03673543781042099, -0.011432834900915623, -0.02601553313434124, 0.04474619776010513, -0.03748725354671478, 0.03831684961915016, 0.038446471095085144, 0.001637312932871282, 0.026248855516314507, -0.05527166649699211, 0.03473922610282898, 0.045575790107250214, -0.011342098005115986, -0.0048673804849386215, 0.003295689821243286, -0.0021549987141042948, 0.019806545227766037, -0.03085050731897354, 0.01207447424530983, 0.006792296655476093, -0.031446777284145355, -0.046120211482048035, 0.02236013673245907, 0.052342165261507034, -0.06325650215148926 ], "result": "--- 结果 1 (相似度: 1.000) ---\n文件路径: C:\\Steam\\steamapps\\common\\RimWorld\\Data\\dll1.6\\RimWorld\\LayoutRoomDef.txt\n\npublic class LayoutRoomDef : Def\n{\n\tpublic SketchResolverDef sketchResolverDef;\n\n\tpublic IntRange areaSizeRange = new IntRange(25, int.MaxValue);\n\n\tpublic bool requiresSingleRectRoom;\n\n\tpublic List floorTypes;\n\n\tpublic TerrainDef edgeTerrain;\n\n\tpublic int minSingleRectWidth;\n\n\tpublic int minSingleRectHeight;\n\n\tpublic Type roomContentsWorkerType = typeof(RoomContentsWorker);\n\n\tpublic bool canBeInMixedRoom;\n\n\tpublic bool dontPlaceRandomly;\n\n\tpublic bool isValidPlayerSpawnRoom = true;\n\n\tpublic bool dontDestroyWallsDoors;\n\n\tpublic SimpleCurve threatPointsScaleCurve;\n\n\tpublic int minConnectedRooms;\n\n\tpublic int minAdjRooms;\n\n\tpublic bool spawnJunk = true;\n\n\tpublic bool canMergeWithAdjacentRoom;\n\n\tpublic bool canRemoveBorderDoors;\n\n\tpublic bool canRemoveBorderWalls;\n\n\tpublic RoofDef roofDef;\n\n\tpublic bool noRoof;\n\n\tpublic FloatRange? itemsPer100CellsRange;\n\n\tpublic ThingSetMakerDef thingSetMakerDef;\n\n\tpublic List scatter = new List();\n\n\tpublic List scatterTerrain = new List();\n\n\tpublic List fillEdges = new List();\n\n\tpublic List fillInterior = new List();\n\n\tpublic List wallAttachments = new List();\n\n\tpublic List prefabs = new List();\n\n\tpublic List parts = new List();\n\n\t[Unsaved(false)]\n\tprivate RoomContentsWorker workerInt;\n\n\tpublic RoomContentsWorker ContentsWorker => GetWorker(ref workerInt);\n\n\tpublic bool CanResolve(LayoutRoom room)\n\t{\n\t\tint area = room.Area;\n\t\tif (room.requiredDef != this && dontPlaceRandomly)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tif ((minSingleRectHeight > 0 || minSingleRectWidth > 0) && !room.TryGetRectOfSize(minSingleRectWidth, minSingleRectHeight, out var _))\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tif (!SatisfiesMinAdjRooms(room))\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tif (area >= areaSizeRange.min && area <= areaSizeRange.max && room.connections.Count >= minConnectedRooms)\n\t\t{\n\t\t\tif (requiresSingleRectRoom)\n\t\t\t{\n\t\t\t\treturn room.rects.Count == 1;\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tprivate bool SatisfiesMinAdjRooms(LayoutRoom room)\n\t{\n\t\tif (minAdjRooms <= 0)\n\t\t{\n\t\t\treturn true;\n\t\t}\n\t\tif (room.connections.Count < minAdjRooms)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tint num = 0;\n\t\tforeach (LayoutRoom connection in room.connections)\n\t\t{\n\t\t\tint num2 = num;\n\t\t\tforeach (CellRect rect in connection.rects)\n\t\t\t{\n\t\t\t\tforeach (CellRect rect2 in room.rects)\n\t\t\t\t{\n\t\t\t\t\tif (rect.OverlapsCardinal(rect2))\n\t\t\t\t\t{\n\t\t\t\t\t\tnum++;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (num != num2)\n\t\t\t\t{\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (num >= minAdjRooms)\n\t\t\t{\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tif (num < minAdjRooms)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t}\n\n\tpublic void ResolveSketch(LayoutRoomParams parms)\n\t{\n\t\tSketchResolveParams parms2 = default(SketchResolveParams);\n\t\tforeach (CellRect rect in parms.room.rects)\n\t\t{\n\t\t\tif (!floorTypes.NullOrEmpty())\n\t\t\t{\n\t\t\t\tTerrainDef def = floorTypes.RandomElement();\n\t\t\t\tforeach (IntVec3 item in rect)\n\t\t\t\t{\n\t\t\t\t\tparms.sketch.AddTerrain(def, item);\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (edgeTerrain != null)\n\t\t\t{\n\t\t\t\tforeach (IntVec3 edgeCell in rect.ContractedBy(1).EdgeCells)\n\t\t\t\t{\n\t\t\t\t\tbool flag = true;\n\t\t\t\t\tforeach (CellRect rect2 in parms.room.rects)\n\t\t\t\t\t{\n\t\t\t\t\t\tif (!(rect2 == rect) && rect2.ContractedBy(1).Contains(edgeCell))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tflag = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (flag)\n\t\t\t\t\t{\n\t\t\t\t\t\tparms.sketch.AddTerrain(edgeTerrain, edgeCell);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tparms2.rect = rect;\n\t\t\tparms2.sketch = parms.sketch;\n\t\t\tif (sketchResolverDef != null)\n\t\t\t{\n\t\t\t\tsketchResolverDef.Resolve(parms2);\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic void PreResolveContents(Map map, LayoutRoom room, Faction faction, float? threatPoints = null)\n\t{\n\t\tContentsWorker?.PreFillRooms(map, room, faction, threatPoints);\n\t}\n\n\tpublic void PostResolveContents(Map map, LayoutRoom room, Faction faction, float? threatPoints = null)\n\t{\n\t\tContentsWorker?.PostFillRooms(map, room, faction, threatPoints);\n\t}\n\n\tpublic void ResolveContents(Map map, LayoutRoom room, float? threatPoints = null, Faction faction = null)\n\t{\n\t\tContentsWorker?.FillRoom(map, room, faction, threatPoints);\n\t}\n\n\tprivate RoomContentsWorker GetWorker(ref RoomContentsWorker worker)\n\t{\n\t\tif (roomContentsWorkerType == null)\n\t\t{\n\t\t\treturn null;\n\t\t}\n\t\tif (worker != null)\n\t\t{\n\t\t\treturn worker;\n\t\t}\n\t\tworker = (RoomContentsWorker)Activator.CreateInstance(roomContentsWorkerType);\n\t\tworker.Initialize(this);\n\t\treturn worker;\n\t}\n}\n\n", "timestamp": "2025-08-25 18:18:04,672" }, "PrefabDef": { "keywords": [ "PrefabDef" ], "question": "PrefabDef", "embedding": [ -0.00308246910572052, 0.03501245379447937, 0.01863211765885353, -0.009116968140006065, 0.052450031042099, -0.0035767625086009502, -0.015460401773452759, 0.009727969765663147, -0.03630311042070389, 0.15707547962665558, 0.031415097415447235, -0.06821250170469284, -0.03509483486413956, -0.06837726384401321, 0.0692560076713562, 0.04454133287072182, -0.0008787439437583089, -0.11116111278533936, 0.01993650384247303, -0.0346280038356781, 0.0041568707674741745, 0.03935125097632408, 0.0007071142899803817, -0.017506226897239685, -0.00046640363871119916, 0.0011233162367716432, -0.04432164877653122, -0.015446671284735203, -0.0014923200942575932, -0.0020818680059164762, -0.00777139188721776, 0.002893676282837987, -0.03157985955476761, 0.00682399608194828, -0.030783498659729958, 0.044788479804992676, 0.036907244473695755, 0.018330048769712448, 0.017780834808945656, -0.08073460310697556, -0.03698962926864624, -0.023314176127314568, -0.008114650845527649, -0.04852314293384552, -0.028888707980513573, 0.02188621647655964, 0.007723335642367601, -0.0446237176656723, -0.031167950481176376, 0.0626654252409935, -0.001646786811761558, 0.006003606133162975, -0.0031356741674244404, 0.021350732073187828, 0.02059556171298027, 0.0165176410228014, 0.03212907537817955, 0.026527082547545433, 0.007235907018184662, 0.005392604507505894, 0.030975723639130592, 0.03147001937031746, -0.044404029846191406, -0.005087103694677353, 0.0028009964153170586, -0.03424355387687683, -0.03852742910385132, 0.01167768333107233, 0.020128728821873665, -0.04393719881772995, -0.028229650110006332, -0.008869822137057781, -0.016833439469337463, -0.019826659932732582, -0.03083842061460018, 0.07601135224103928, -0.009274867363274097, -0.0015764186391606927, -0.031167950481176376, -0.04473355785012245, -0.006515062414109707, 0.032348763197660446, -0.050692543387413025, -0.018316319212317467, -0.029987137764692307, 0.05242256820201874, -0.0236162431538105, -0.03163478150963783, 0.0008976231911219656, 0.025003012269735336, -0.05247749015688896, 0.030618734657764435, 0.018467353656888008, -0.019579512998461723, 0.0514339804649353, 0.019579512998461723, -0.015172063373029232, 0.01476015243679285, 0.009144429117441177, 0.028696483001112938, -0.02202351950109005, -0.05991935357451439, 0.008354933001101017, 0.06579595059156418, -0.029163315892219543, 0.04632628336548805, 0.01370291318744421, -0.01966189593076706, -0.015323097817599773, 0.00672445073723793, -0.0774393081665039, 0.015954695641994476, -0.010448814369738102, 0.07238653302192688, -0.03734661638736725, 0.024206649512052536, -0.02254527434706688, -0.0022637953516095877, 0.001814125687815249, 0.018700769171118736, 0.024453796446323395, -0.021048663184046745, 0.0040710559114813805, -0.03460054472088814, 0.04212478920817375, 0.004740411881357431, 0.0194147489964962, 0.03108556754887104, -0.025771912187337875, 0.016682405024766922, -0.02806488424539566, -0.026032790541648865, -0.00157384411431849, 0.02858663909137249, 0.022627657279372215, -0.06343433260917664, 0.039021722972393036, 0.028943628072738647, 0.004047027789056301, 0.027199871838092804, -0.05203811824321747, 0.003796448465436697, 0.01809663325548172, 0.020375875756144524, 0.11983870714902878, -0.041108742356300354, -0.0071260640397667885, -0.024975551292300224, -0.0430309921503067, 0.006920108571648598, -0.022119633853435516, -0.031003184616565704, -0.05008840560913086, 0.017382653430104256, 0.026774229481816292, -0.038609813898801804, 0.019236253574490547, -0.03957093879580498, 0.014252128079533577, -0.03473784774541855, -0.0013764699688181281, -0.04418434575200081, 0.020636752247810364, -0.00043508122325874865, 0.014128555543720722, -0.04736979305744171, -0.052916862070560455, 0.028366953134536743, -0.028421875089406967, -0.03594611957669258, -0.03465546295046806, -0.01746503636240959, -0.036797404289245605, -0.000994593952782452, -0.0008452761685475707, -0.016572561115026474, -0.014018712565302849, 0.0190165676176548, 0.013064451515674591, 0.017094315961003304, 0.00970050971955061, -0.0008740241173654795, 0.06239081919193268, -0.023520130664110184, 0.04130096733570099, -0.040834132581949234, 0.008512832224369049, 0.006309106945991516, -0.04036730155348778, 0.006721018347889185, -0.005581397097557783, 0.02913585491478443, 0.03322750702500343, 0.03789583221077919, -0.04536515846848488, -0.019304906949400902, -0.011059816926717758, 0.06519182026386261, 0.02976745180785656, 0.002219171728938818, -0.009659318253397942, -0.043717510998249054, 0.02504420280456543, 0.04959411174058914, 0.025469845160841942, 0.004925771616399288, 0.05969966575503349, 0.0037346617318689823, 0.020279763266444206, 0.0011464862618595362, 0.029657607898116112, -0.020224841311573982, -0.006312539801001549, -0.0013361370656639338, -0.016297955065965652, 0.008615809492766857, -0.07551705837249756, -0.03188192844390869, -0.010242858901619911, 0.02820218913257122, -0.008128381334245205, 0.0356440506875515, -0.014348241500556469, 0.035726435482501984, 0.040339838713407516, 0.004047027789056301, -0.0019376990385353565, -0.04418434575200081, -0.007791987620294094, 0.0011902517871931195, 0.047150105237960815, 0.0022140229120850563, -0.06859695166349411, 0.05310908704996109, -0.012103324756026268, -0.001893075299449265, -0.011107873171567917, -0.06255558878183365, 0.0004264997551217675, 0.004088218789547682, 0.031415097415447235, 0.0328155942261219, -0.007764526642858982, -0.007894964888691902, -0.038637273013591766, -0.05288940295577049, -0.1062730997800827, -0.03119540959596634, 0.04179525747895241, 0.0010083243250846863, -0.013421440497040749, -0.003992106299847364, -0.035589128732681274, 0.008650136180222034, 0.04418434575200081, -0.021748913452029228, -0.005464688874781132, -0.02398696355521679, -0.004634001292288303, 0.01048314105719328, -0.013153698295354843, 0.018151555210351944, -0.014416893012821674, 0.04091651365160942, 0.045172929763793945, 0.020938821136951447, -0.004342230968177319, 0.030756037682294846, 0.0020200812723487616, -0.010084959678351879, -0.020417066290974617, -0.005368576385080814, 0.021199697628617287, -0.04132842645049095, 0.006240454968065023, 0.011046086438000202, 0.04978633671998978, 0.0007689009653404355, -0.052642256021499634, -0.038884419947862625, -0.02320433221757412, 0.02150176651775837, 0.032843057066202164, -0.009515149518847466, -0.015707548707723618, -0.005269031040370464, 0.048715367913246155, 0.010730287060141563, 0.020677942782640457, 0.026279935613274574, -0.017094315961003304, -0.006611175369471312, 0.02152922749519348, 0.023959502577781677, -0.0002546555479057133, -0.016682405024766922, 0.045172929763793945, 0.027776546776294708, -0.037703607231378555, 0.004455506335943937, -0.009110103361308575, 0.00806659460067749, -0.019249984994530678, 0.01134815439581871, 0.03514975681900978, 0.034957531839609146, -0.03083842061460018, -0.03855489194393158, 0.03726423531770706, -0.0690363198518753, 0.030481431633234024, 0.004558484070003033, 0.0071466597728431225, -0.003029263811185956, 0.023163141682744026, -0.008801169693470001, -0.028257111087441444, 0.009769161231815815, 0.005330817773938179, 0.04022999480366707, -0.10297780483961105, -0.004434911068528891, -0.041493192315101624, -0.00355616700835526, 0.024165458977222443, -0.04863298684358597, 0.07293574512004852, -0.0047919005155563354, 0.004397152457386255, -0.02505793236196041, -0.023561323061585426, -0.000760748574975878, -0.0073457504622638226, 0.06683946400880814, -0.0020681375171989202, -0.020142458379268646, 0.037181854248046875, 0.05088476836681366, 0.00646014092490077, -0.0364404134452343, 0.009007125161588192, -0.06398354470729828, 0.032074153423309326, 0.005262165796011686, 0.03446323797106743, 0.008759979158639908, 0.055662937462329865, 0.08930235356092453, -0.06167684122920036, -0.006271348334848881, -0.02886124700307846, 8.763840742176399e-05, -0.03262336924672127, -0.0007963617099449039, 0.013435170985758305, -0.009549475274980068, 0.013277271762490273, 0.007215311750769615, -0.020224841311573982, 0.019249984994530678, -0.006954434793442488, 0.0354243665933609, -0.0642581507563591, -0.03698962926864624, 0.038499969989061356, -0.00904831662774086, 0.016050808131694794, 0.048468220978975296, -0.014705230481922626, 0.007469323463737965, -0.018041711300611496, -0.05827170982956886, 0.006645501125603914, 0.024302762001752853, -0.011897369287908077, 0.01938728801906109, 0.004345663357526064, 0.008602079935371876, -0.01731400191783905, -0.0011962588177993894, 0.003974943421781063, 0.042564161121845245, 0.025112854316830635, 0.013510688208043575, -0.012075863778591156, -0.01676478609442711, -0.014128555543720722, 0.029273157939314842, 0.019977694377303123, -0.02990475483238697, 0.08864329755306244, 0.017670990899205208, 0.0398455448448658, -0.0016287656035274267, 0.03254098817706108, 0.01784948632121086, 0.06837726384401321, 0.014856264926493168, 0.021845025941729546, -0.03806059807538986, -0.00298292376101017, 0.013064451515674591, -0.023272983729839325, 0.0030910505447536707, 0.0007551705930382013, 0.02004634588956833, -0.02949284389615059, 0.02623874507844448, -0.0049051763489842415, -0.027735356241464615, -0.04978633671998978, 0.0009628424886614084, 0.020417066290974617, 0.02702137641608715, -0.029300618916749954, -0.0009199350606650114, -0.019854120910167694, 0.017519958317279816, 0.005979578010737896, 0.02752939984202385, -0.022586464881896973, -0.02807861566543579, -0.059095531702041626, 0.02386339008808136, -0.020897628739476204, 0.04179525747895241, -0.055827703326940536, -0.05176351219415665, -0.008602079935371876, 0.020279763266444206, -0.054756730794906616, -0.03347465395927429, -0.06354416906833649, 0.07414402067661285, 0.012178841978311539, -0.023108219727873802, 0.02659573405981064, -0.022119633853435516, -0.035726435482501984, 0.012165111489593983, -0.037950754165649414, -0.006370893679559231, 0.04591437056660652, -0.00022183136024978012, -0.02740582637488842, -0.01598215475678444, 0.057502806186676025, -0.022984646260738373, -0.023918312042951584, -0.019977694377303123, -0.029657607898116112, 0.00505277793854475, 0.045420076698064804, 0.0067828050814569, -0.014375701546669006, 0.005529908463358879, 0.04001031070947647, -0.04470609873533249, 0.03696216642856598, -0.04377243295311928, -0.0030876179225742817, -8.855018677422777e-05, -0.030481431633234024, 0.05286194011569023, 0.008876686915755272, -0.0011104439618065953, -0.010455680079758167, 0.016600022092461586, 0.005169485695660114, -0.01574873924255371, 0.0057255662977695465, -0.010462544858455658, 0.03951601684093475, -0.025936676189303398, 0.0165176410228014, -0.019881581887602806, -0.0014459800440818071, 0.030316665768623352, 0.007019653916358948, 0.0131674287840724, 0.011533514596521854, 0.017670990899205208, -0.037950754165649414, 0.025483574718236923, -0.10934869945049286, -0.026032790541648865, -0.021693991497159004, 0.006285078823566437, 0.010249724611639977, 0.0005470695905387402, -0.020430797711014748, -0.006223292089998722, -0.007785122375935316, 0.05179097130894661, -0.02519523724913597, -0.0025246725417673588, -0.027460748329758644, 0.055937543511390686, 0.013153698295354843, -0.036138344556093216, -0.017739644274115562, -0.004232387989759445, 0.027337174862623215, -0.014540466479957104, -0.04940188676118851, 0.0026293667033314705, -0.04495324566960335, -0.006171803455799818, -0.044101960957050323, 0.0033004386350512505, 0.010675366036593914, -0.039790622889995575, 0.04094397649168968, 0.027460748329758644, -0.060523491352796555, -0.005313654895871878, 0.04001031070947647, 0.02268257923424244, -0.004362826235592365, 0.008883551694452763, 0.011581570841372013, 0.00859521422535181, 0.04088905453681946, -0.019991425797343254, -0.019867852330207825, 0.036660097539424896, -0.00613061198964715, -0.006092853378504515, 0.06749852001667023, -0.02899855002760887, -0.0016716730315238237, -0.002516091102734208, 0.028614100068807602, 0.03199177235364914, 0.051598746329545975, 0.022462891414761543, 0.05313654989004135, -0.0041637360118329525, 0.052367646247148514, 0.02467348240315914, 0.04533769562840462, 0.006408652290701866, 0.017808295786380768, -0.011162794195115566, 0.016490180045366287, 0.009343519806861877, 0.043717510998249054, -0.021062394604086876, 0.014320780523121357, -0.017904408276081085, 0.014718960970640182, 0.007956751622259617, -0.012041538022458553, -0.01127263717353344, 0.007908695377409458, 0.00583540927618742, 0.047562018036842346, 0.059095531702041626, 0.009219946339726448, 0.009151294827461243, 0.013723509386181831, 0.00777139188721776, 0.015913503244519234, -0.030783498659729958, -0.008382393047213554, 0.012165111489593983, -0.05755772814154625, 0.010352701880037785, 0.007105468772351742, -0.022050980478525162, -0.07194716483354568, 0.02384966053068638, -0.03292543813586235, -0.02806488424539566, 0.05442720279097557, -0.034957531839609146, -0.011554109863936901, 0.020211111754179, 0.01730027236044407, 0.037566304206848145, 0.0027941311709582806, 0.011025490239262581, -0.0022363346070051193, -0.009405306540429592, -0.005186649039387703, 0.015158332884311676, 0.03157985955476761, -0.009522014297544956, -0.03525960072875023, 0.012288684956729412, 0.025991598144173622, -0.01574873924255371, -0.026952724903821945, -0.03177208453416824, -0.012631944380700588, 0.028888707980513573, 0.024220380932092667, 0.02634858898818493, 0.011821852065622807, 0.019606973975896835, -0.008526562713086605, -0.0638187825679779, -0.011945425532758236, -0.013950060121715069, 0.00892474316060543, -0.02555222623050213, -0.05689867213368416, -0.0009765728609636426, 0.03476530686020851, -0.022353049367666245, 0.07408910244703293, -0.012631944380700588, 0.012954608537256718, 0.020828977227211, 0.008224493823945522, 0.01588604226708412, -0.008828630670905113, 0.04574960842728615, 0.017080586403608322, 0.0023736385628581047, -0.04239939525723457, -0.005615722853690386, -0.0027701030485332012, -0.06596072018146515, -0.007819448597729206, -0.011306962929666042, 0.030481431633234024, 0.0014674337580800056, -0.07617611438035965, 0.0048708501271903515, -0.0006101435283198953, 0.04841329902410507, -0.02740582637488842, 0.0007813441334292293, -9.76143783191219e-05, -0.03655025735497475, -0.022366778925061226, -0.0013610234018415213, -0.030069518834352493, 0.019071489572525024, -0.00662490539252758, 0.01889299415051937, 0.012899686582386494, -0.014265858568251133, -0.019854120910167694, -0.03081095963716507, -0.04209732636809349, -0.031387634575366974, -0.029080932959914207, -0.010304645635187626, -0.011355019174516201, 0.0021642502397298813, 0.012542696669697762, 0.04613405838608742, -0.0023530428297817707, 0.012419123202562332, 0.012240628711879253, 0.02268257923424244, -0.011046086438000202, -0.005687807686626911, -0.0015266459668055177, 0.01835750974714756, 0.02715867944061756, 0.010840130038559437, 0.029163315892219543, -0.03817044198513031, -0.0012443151790648699, -0.023973233997821808, 0.03185446932911873, -0.0009885869221761823, -0.04077921062707901, 0.0024319924414157867, -0.018522275611758232, 0.0005384880932979286, 0.026073981076478958, 0.00950141903012991, -0.00616493821144104, 0.01614692062139511, 0.05511372163891792, 0.02044452726840973, -0.036934707313776016, -0.024316493421792984, -0.047781702131032944, -0.04511801153421402, -0.026005329564213753, 0.021337002515792847, 0.03498499467968941, 0.03352957218885422, -0.02571699023246765, 0.02479705587029457, 0.050967149436473846, -0.09660691022872925, 0.047232486307621, 0.008808035403490067, -0.01650390960276127, 0.0027906985487788916, -0.030481431633234024, -0.008567753247916698, 0.00924740731716156, 0.0207191351801157, 0.05190081521868706, -0.021419383585453033, 0.047287408262491226, -0.014416893012821674, 0.002129924250766635, 0.013030124828219414, -0.00015993740817066282, -0.013792160898447037, -0.006007038522511721, 0.017780834808945656, 0.0022140229120850563, -0.010421354323625565, 0.001313825137913227, 0.017876947298645973, -0.016860900446772575, 0.008313741534948349, 0.010345837101340294, 0.021968599408864975, -0.06178668513894081, 0.012117055244743824, -0.02765297330915928, 0.051351599395275116, 0.010469410568475723, -0.02229812741279602, -0.07881234586238861, 0.006796535104513168, -0.02309449017047882, -0.01443062350153923, 0.028119806200265884, 0.07299067080020905, -0.05733804404735565, -0.02700764685869217, 0.015680087730288506, 0.0036660099867731333, -0.04522785171866417, -0.05124175548553467, -0.015172063373029232, -0.0032026097178459167, -0.018687039613723755, -0.018330048769712448, 0.02165280096232891, -0.007510514929890633, 0.027447018772363663, 0.0314425565302372, 0.05401529371738434, -0.0438273549079895, -0.025483574718236923, 0.009137564338743687, 0.061566997319459915, -0.010002577677369118, 0.015968425199389458, -0.03243114426732063, -0.016448987647891045, -0.017135506495833397, -0.021845025941729546, -0.008409854024648666, 0.05494895949959755, 0.004009269177913666, 0.020897628739476204, 0.029190775007009506, 0.0003134387079626322, -0.01035956759005785, 0.018920455127954483, 0.017904408276081085, 0.008004807867109776, 0.01677851751446724, -0.0005200379528105259, 0.03726423531770706, 0.007483053952455521, -0.021474305540323257, -0.04423926770687103, -0.01874196156859398, -0.03580881655216217, 0.005934954155236483, 0.015707548707723618, 0.015021029859781265, 0.04690295830368996, -0.009103238582611084, -0.0448434017598629, -0.02700764685869217, 0.00924740731716156, -0.0374564602971077, 0.03125033155083656, -0.034051328897476196, 0.011746334843337536, 0.021982328966259956, 0.02976745180785656, -0.002304986584931612, -0.023025836795568466, 0.007750796154141426, -0.027900120243430138, 0.04599675536155701, 0.027639243751764297, 0.031524937599897385, 0.012075863778591156, -0.0037552574649453163, -0.014334511011838913, 0.039406172931194305, 0.01324981078505516, 0.028614100068807602, 0.00217969692312181, -0.009940790943801403, 0.009350384585559368, -0.0028027126099914312, 0.023369096219539642, -0.0048708501271903515, -0.026856612414121628, -0.06645501405000687, -0.010641040280461311, -0.03196430951356888, -0.029218235984444618, -0.01938728801906109, 0.0374564602971077, 0.03465546295046806, 0.06920108944177628, -0.034957531839609146, -0.004280444234609604, 0.0019497130997478962, 0.046491045504808426, 0.020032616332173347, -0.0001243242440978065, 0.033914025872945786, 0.004417747724801302, 0.018453622236847878, 0.019085220992565155, -0.018824342638254166, -0.036797404289245605, -0.02139192260801792, -0.022462891414761543, 0.011375615373253822, -0.02309449017047882, 0.011560975573956966, 0.022229475900530815, 0.02255900576710701, 0.007805717643350363, -0.017904408276081085, 4.435554365045391e-05, 0.019730547443032265, -0.030371587723493576, 0.05689867213368416, -0.021611608564853668, 0.03627564758062363, 0.0001499614299973473, -0.007249637506902218, -0.0019256849773228168, -0.02346521057188511, 0.012412258423864841, -0.02478332631289959, -0.019991425797343254, 0.0013061017962172627, -0.022888533771038055, 0.02831203117966652, -0.022188285365700722, 0.001659658970311284, 0.054619427770376205, 0.05794217810034752, -0.025373730808496475, 0.06255558878183365, 0.009913329966366291, 0.032870516180992126, -0.0106135793030262, -0.005104266572743654, 0.024302762001752853, -0.014842534437775612, 0.018069172278046608, 0.024563640356063843, 0.02280615083873272, 0.023973233997821808, -0.02006007730960846, -0.01666867360472679, 0.11269891262054443, 0.03668756037950516, -0.007359480485320091, 0.0157212782651186, 0.05319146811962128, -0.011869908310472965, 0.006679826881736517, 0.02913585491478443, -0.013345924206078053, -0.006614607758820057, -0.0005685233045369387, -0.005121429450809956, 0.008883551694452763, 0.008080325089395046, 0.05154382437467575, 0.012377932667732239, 0.007180985528975725, -0.015803661197423935, -0.002416545758023858, -0.005135159939527512, 0.014773882925510406, -0.055553093552589417, 0.022984646260738373, 0.04088905453681946, 0.049758877605199814, -0.0029691935051232576, -0.05991935357451439, 0.03070111759006977, -0.09473958611488342, 0.018687039613723755, 0.026444701477885246, -0.03778598830103874, 0.03190939128398895, -0.008897282183170319, -0.04849568381905556, -0.01875569112598896, -0.01003003865480423, -0.008348067291080952, -0.0530267059803009, -0.040449682623147964, 0.019098950549960136, 0.0028988253325223923, 0.03278813511133194, 0.017808295786380768, -0.017121776938438416, -0.049621570855379105, -0.000780485977884382, 0.060907941311597824, 0.023904582485556602, 0.02373981662094593, 0.015515322797000408, 0.0057976506650447845, 0.023904582485556602, 0.03188192844390869, 0.01953832246363163, 0.040834132581949234, -0.0240144245326519, 0.042811308056116104, -3.6605393688660115e-05, 0.0660705640912056, 0.004757574759423733, 0.03385910391807556, 0.055278487503528595, 0.021845025941729546, 0.008272550068795681, 0.000852999510243535, 0.004331932868808508, -0.023657435551285744, -0.01874196156859398, 0.004678625147789717, 0.0022843910846859217, -0.06035872548818588, 0.008499101735651493, 0.008306876756250858, 0.04769932106137276, -0.015432940796017647, 0.021597879007458687, -0.025895485654473305, 0.050802383571863174, 0.01476015243679285, -0.00930232834070921, -0.023396557196974754, -0.0020887332502752542, 0.01049000583589077, 0.0165176410228014, 0.00963185727596283, 0.004266713745892048, -0.011121602728962898, 0.010181072168052197, -0.04094397649168968, 0.024494986981153488, 0.010641040280461311, -0.021295810118317604, -0.0508573055267334, 0.02608771063387394, -0.015281906351447105, -0.04066937044262886, -0.03424355387687683, 0.026073981076478958, 0.019112680107355118, -0.024179188534617424, -0.005523043219000101, 0.01665494404733181, -0.07205700129270554, -0.0500609427690506, 0.10841503739356995, -0.03163478150963783, -0.03171716630458832, -0.02831203117966652, 0.03168970346450806, 0.0028198757208883762, 0.0165176410228014, 0.02781773917376995, -0.006120314355939627, 0.032074153423309326, -0.02507166378200054, 0.045310236513614655, -0.018014250323176384, 0.00039002843550406396, 0.030481431633234024, 0.014265858568251133, -0.010805804282426834, 0.010270319879055023, -0.040339838713407516, 0.0398455448448658, -0.01716296747326851, -0.0049532325938344, -0.022215746343135834, 0.057118356227874756, 0.008162707090377808, 0.011746334843337536, -0.002739209681749344, 0.03525960072875023, -0.02297091670334339, 0.03951601684093475, -0.007716470398008823, -0.057228200137615204, 0.009412171319127083, -0.04992363974452019, 0.0017574878875166178, -0.005093968939036131, 0.007888100109994411, 0.036797404289245605, -0.00655968626961112, 0.0049051763489842415, 0.0002503647992853075, -0.02660946547985077, 0.014979838393628597, -0.0021213428117334843, -0.03449070081114769, -0.042152248322963715, 0.005564234219491482, -0.03786837309598923, -0.03671501949429512 ], "result": "--- 结果 1 (相似度: 1.000) ---\n文件路径: C:\\Steam\\steamapps\\common\\RimWorld\\Data\\dll1.6\\RimWorld\\PrefabDef.txt\n\npublic class PrefabDef : Def\n{\n\tinternal List things = new List();\n\n\tinternal List prefabs = new List();\n\n\tinternal List terrain = new List();\n\n\tpublic IntVec2 size;\n\n\tpublic RotEnum rotations = RotEnum.All;\n\n\tpublic bool edgeOnly;\n\n\tpublic IEnumerable<(PrefabThingData data, IntVec3 cell)> GetThings()\n\t{\n\t\tforeach (PrefabThingData data in things)\n\t\t{\n\t\t\tbool flag = false;\n\t\t\tif (!data.rects.NullOrEmpty())\n\t\t\t{\n\t\t\t\tforeach (CellRect rect in data.rects)\n\t\t\t\t{\n\t\t\t\t\tforeach (IntVec3 cell in rect.Cells)\n\t\t\t\t\t{\n\t\t\t\t\t\tyield return (data: data, cell: cell);\n\t\t\t\t\t\tflag = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (!data.positions.NullOrEmpty())\n\t\t\t{\n\t\t\t\tforeach (IntVec3 position in data.positions)\n\t\t\t\t{\n\t\t\t\t\tyield return (data: data, cell: position);\n\t\t\t\t\tflag = true;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (!flag)\n\t\t\t{\n\t\t\t\tyield return (data: data, cell: data.position);\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic IEnumerable<(SubPrefabData data, IntVec3 cell)> GetPrefabs()\n\t{\n\t\tforeach (SubPrefabData data in prefabs)\n\t\t{\n\t\t\tif (!data.positions.NullOrEmpty())\n\t\t\t{\n\t\t\t\tforeach (IntVec3 position in data.positions)\n\t\t\t\t{\n\t\t\t\t\tyield return (data: data, cell: position);\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tyield return (data: data, cell: data.position);\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic IEnumerable<(PrefabTerrainData data, IntVec3 cell)> GetTerrain()\n\t{\n\t\tforeach (PrefabTerrainData data in terrain)\n\t\t{\n\t\t\tif (data.rects.NullOrEmpty())\n\t\t\t{\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tforeach (CellRect rect in data.rects)\n\t\t\t{\n\t\t\t\tforeach (IntVec3 cell in rect.Cells)\n\t\t\t\t{\n\t\t\t\t\tyield return (data: data, cell: cell);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\n", "timestamp": "2025-08-25 18:25:35,112" }, "MapGeneratorDef": { "keywords": [ "MapGeneratorDef" ], "question": "MapGeneratorDef", "embedding": [ -0.031396057456731796, 0.06638790667057037, -0.03507234901189804, -0.06096738949418068, 0.01399405486881733, 0.006034349091351032, 0.03440149500966072, 0.059733014553785324, 0.019454821944236755, 0.10964469611644745, -0.017240997403860092, -0.02347995899617672, -0.07594089210033417, -0.01614079438149929, -0.009740828536450863, 0.03303294628858566, -0.01016346737742424, -0.08560121804475784, -0.006876273546367884, 0.0013123619137331843, 0.05431249737739563, -0.023627547547221184, -0.03013484925031662, -0.002363090170547366, -0.035260189324617386, -0.0034213652834296227, 0.05179008096456528, 0.02341287210583687, 0.006121560465544462, -0.030644699931144714, 0.007345872465521097, -0.04720142483711243, 0.03574320673942566, -0.020045176148414612, 0.02246025763452053, 0.023708049207925797, -0.00285281497053802, 0.03858763352036476, 0.01572486385703087, 0.006929941941052675, -0.04881148040294647, 0.004531632177531719, 0.012652343139052391, 0.010378141887485981, -0.04682574421167374, -0.002809209283441305, 0.011230128817260265, -0.05984035134315491, -0.047174591571092606, -0.014262397773563862, 0.0057626524940133095, 0.026445141062140465, -0.004263289738446474, 0.015268681570887566, 0.04682574421167374, 0.028310121968388557, 0.026753734797239304, -0.06611955910921097, 0.0185424592345953, -0.003713187761604786, 0.02453991025686264, 0.017469089478254318, -0.05393681675195694, -0.025304686278104782, 0.10851766169071198, -0.07604823261499405, 0.0700373649597168, -0.030430026352405548, -0.0113710081204772, -0.03257676586508751, -0.017938688397407532, -0.035635869950056076, -0.013142067939043045, 0.0008440206293016672, -0.027907608076930046, 0.009298063814640045, -0.011075831949710846, -0.10019904375076294, -0.013551290147006512, -0.003914444707334042, 0.006829313468188047, -0.008110648021101952, -0.022554177790880203, 0.017938688397407532, 0.03687024489045143, 0.042934782803058624, 0.04658423736691475, 0.0297860037535429, -0.04899931699037552, -0.021158797666430473, 0.016529889777302742, -0.023694632574915886, 0.02247367426753044, -0.0004402492195367813, 0.03815828636288643, 0.019012058153748512, -0.07524320483207703, -0.0027874065563082695, 0.008707710541784763, 0.0029383490327745676, 0.007419666741043329, -0.04371297359466553, -0.03778260573744774, 0.04556453600525856, -0.04339096322655678, 0.08705026656389236, -0.02483508735895157, -0.034804005175828934, -0.016717730090022087, -0.008828463964164257, -0.002904806286096573, -0.026351220905780792, 0.0337306372821331, 0.04237126186490059, 0.017053158953785896, 0.06923233717679977, 0.03617255389690399, 0.011867442168295383, -0.009807913564145565, 0.0027991465758532286, 0.06209442764520645, 0.0024754584301263094, -0.038024116307497025, -0.033515963703393936, 0.016583560034632683, -0.0022624616976827383, 0.020461106672883034, 0.051333896815776825, -0.02949082851409912, -0.021185630932450294, -0.016556724905967712, -0.022970108315348625, -0.02378855273127556, 0.026780569925904274, -0.020541608333587646, -0.03577004000544548, 0.009660325944423676, -0.02307744510471821, -0.008506453596055508, 0.026512227952480316, -0.10052105784416199, -0.02424473501741886, 0.05074354261159897, 0.007775220554322004, 0.06284578889608383, -0.02353362739086151, -0.0063261715695261955, -0.05721059441566467, -0.00030167552176862955, 0.009432234801352024, -0.024432573467493057, 0.005447350442409515, -0.027196500450372696, 0.02593529038131237, -0.06762228161096573, -0.013886718079447746, -0.007312329951673746, -0.04339096322655678, 0.0025190641172230244, -0.06386549025774002, -0.012779805809259415, 0.018730297684669495, -0.00024276599287986755, 0.007708135060966015, 0.02733067236840725, 0.024258151650428772, -0.0160871259868145, 0.029893340542912483, -0.00805697962641716, -0.013256113976240158, 0.008566830307245255, 0.0032653913367539644, -0.00962678249925375, 0.023882471024990082, 0.014316066168248653, -0.028846805915236473, -0.01996467262506485, 0.057317931205034256, 0.002394955838099122, -0.039419494569301605, 0.034857675433158875, 0.024003226310014725, 0.045376695692539215, -0.024419156834483147, -0.01678481511771679, -0.017053158953785896, -0.020192764699459076, 0.02844429202377796, 0.011471636593341827, -0.041888244450092316, 0.008627207949757576, 0.0036092051304876804, 0.051011886447668076, 0.024700915440917015, -0.04384714365005493, -0.0017048126319423318, 0.011431385762989521, 0.0015412915963679552, 0.031771738082170486, -0.009512737393379211, 0.013095107860863209, -0.022554177790880203, 0.018354618921875954, 0.02272859960794449, -0.006520719733089209, -0.02529126964509487, -0.006410028785467148, -0.04594021663069725, 0.0357968732714653, -0.0027874065563082695, 0.01618104614317417, 0.008164317347109318, -0.010096382349729538, -0.035931043326854706, -0.001693911268375814, -0.023949557915329933, -0.01489300187677145, -0.03949999809265137, 0.01434290036559105, 0.043256793171167374, -0.008224694058299065, 0.030000677332282066, 0.019884170964360237, 0.018636377528309822, 0.022218748927116394, -0.013195736333727837, 0.02597554214298725, 0.0066213482059538364, 0.02385563775897026, 0.0006268310244195163, 0.0291419830173254, -0.006208771839737892, -0.049562837928533554, 0.029302988201379776, 0.0022658160887658596, -0.019441405311226845, -0.01716049574315548, -0.04779177904129028, -0.0034213652834296227, 0.0006469567306339741, -0.015268681570887566, 0.015859033912420273, -0.03356963023543358, 0.04457166790962219, -0.005534561816602945, -0.05570787936449051, -0.044008150696754456, -0.024674082174897194, 0.06413383036851883, 0.00042767066042870283, 0.011142916977405548, -0.023654380813241005, 0.008130773901939392, -0.0006897237617522478, 0.02212482877075672, 0.03756793215870857, 0.00771484337747097, -0.021199047565460205, 0.011196586303412914, 0.028900474309921265, -0.0054305787198245525, 0.024271568283438683, -0.04650373384356499, 0.059035323560237885, -0.003412979654967785, 0.01575169712305069, -0.028229618445038795, 0.0386413037776947, -0.08549388498067856, -0.0027387693990021944, -0.00823140237480402, -0.01887788623571396, 0.03144972771406174, -0.0035588908940553665, 0.0029651832301169634, 0.020930705592036247, 0.010934951715171337, -0.009680451825261116, -0.026485392823815346, -0.03475033864378929, 0.005497664678841829, 0.04475950822234154, -0.05645923689007759, -0.006950067821890116, -0.014503905549645424, 0.036279890686273575, 0.009573114104568958, 0.028229618445038795, 0.008620498701930046, -0.0038037532940506935, 0.06649523973464966, 0.019897587597370148, 0.0196426622569561, -0.0062523772940039635, -0.03365013375878334, -0.013725712895393372, 0.046262226998806, -0.009432234801352024, -0.0343746580183506, -0.0035287023056298494, 0.004461192060261965, 0.013041439466178417, -0.058015622198581696, 0.023386038839817047, 0.08667458593845367, -0.003419688204303384, -0.01171985361725092, -0.11120108515024185, 0.017240997403860092, -0.07143273949623108, 0.04518885537981987, 0.0002019905368797481, 0.0012712720781564713, -0.009854873642325401, 0.047469768673181534, -0.019360903650522232, -0.03466983512043953, 0.021521059796214104, 0.0014624659670516849, 0.05919633060693741, -0.09440284967422485, 0.0009182340581901371, -0.011183168739080429, 0.0006121560581959784, 0.055224861949682236, -0.022366337478160858, 0.025532778352499008, 0.02381538599729538, 0.00012022996816085652, -0.022205332294106483, 0.041888244450092316, 0.010029296390712261, -0.006862856447696686, 0.05946467071771622, -0.05109238997101784, 0.010519021190702915, 0.012531588785350323, -0.008325322531163692, -0.0030205289367586374, -0.060108695179224014, -0.03013484925031662, 0.019199896603822708, -0.012578548863530159, 0.03829245641827583, 0.03477717190980911, 0.034159984439611435, -0.011330757290124893, 0.03958050161600113, 0.03300611302256584, 0.026418307796120644, -0.026176799088716507, 0.013162193819880486, 0.034938178956508636, 0.07035937160253525, 0.011089248582720757, -0.0323084220290184, -0.008915675804018974, -0.024593578651547432, -0.023748300969600677, 0.018113110214471817, -0.007929516956210136, 0.023305535316467285, -0.008989470079541206, 0.009928667917847633, 0.03606521710753441, -0.029302988201379776, -0.02801494486629963, 0.005668732803314924, -0.0014792373403906822, 0.03912431746721268, 0.04942866787314415, -0.008674167096614838, -0.01246450375765562, 0.013739129528403282, -0.07400882989168167, 0.08645991235971451, 0.035528529435396194, -0.019749999046325684, -0.053131792694330215, 0.020957540720701218, -0.02798810973763466, 0.037326425313949585, -0.017375169321894646, -0.015456520952284336, 0.0012645634124055505, -0.002296004444360733, -0.0002813402097672224, 0.06778328865766525, -0.0019220022950321436, -0.019119394943118095, 0.07588722556829453, 0.011015454307198524, 0.030752036720514297, -0.014933253638446331, 0.0009291354799643159, 0.02212482877075672, -0.015456520952284336, -0.011109374463558197, -0.004434357862919569, -0.02174915000796318, -0.020568443462252617, -0.023225033655762672, 0.009432234801352024, 0.004363917745649815, -0.04518885537981987, -0.03053736314177513, 0.027183083817362785, -0.012202870100736618, 0.02551935985684395, -1.1805492249550298e-05, -0.0006155103328637779, -0.04443749785423279, 0.06730026751756668, 0.0070238616317510605, -0.034508831799030304, -0.013625084422528744, 0.009076680988073349, 0.01085444912314415, 0.0066582453437149525, 0.012135784141719341, -0.0251973494887352, -0.010861157439649105, -0.0678369551897049, -0.022232165560126305, -0.02494242414832115, -0.002683423925191164, 0.027263585478067398, -0.020152512937784195, -0.05047520250082016, 0.012840182520449162, 0.02841745875775814, -0.027505094185471535, -0.09075339138507843, 0.03998301550745964, -0.006010869517922401, -0.01681165024638176, -0.012384001165628433, -0.04376664385199547, 0.022715182974934578, -0.003944633062928915, -0.01992442086338997, 0.01556385774165392, 0.010592815466225147, -0.008117357268929482, -0.008969344198703766, -0.006889690645039082, 0.039016980677843094, 0.021279551088809967, 0.019884170964360237, 0.03491134196519852, -0.016288382932543755, -0.009519445709884167, -0.0031781799625605345, -0.009371858090162277, 0.015872452408075333, 0.044303327798843384, 0.02243342250585556, -0.012779805809259415, 0.017388585954904556, -0.05396365374326706, 0.01785818487405777, 0.03426732122898102, -0.01194794476032257, 0.03161073103547096, -0.0006058667786419392, 0.02099779061973095, 0.028175950050354004, -0.010659901425242424, -0.04763077199459076, -0.03461616858839989, -0.003934570122510195, 0.046450067311525345, 0.019146228209137917, -0.03249626234173775, 0.0329524427652359, -0.03147656098008156, 0.03491134196519852, 0.02593529038131237, 0.014316066168248653, -0.01753617450594902, -0.01351774763315916, 0.0014180217403918505, -0.006406674161553383, -0.05790828540921211, -0.057693611830472946, -0.02138688787817955, 0.022366337478160858, -0.06483151763677597, -0.006470405496656895, -0.005350076127797365, -0.033435460180044174, -0.01855587586760521, 0.003184888744726777, 0.013625084422528744, -0.009519445709884167, -0.009371858090162277, -0.0019169709412381053, -0.027156248688697815, 0.02734408900141716, 0.03499184548854828, 0.009935376234352589, 0.013470787554979324, -0.007010444533079863, -0.011706436052918434, -0.04143206402659416, 0.009895125404000282, 0.001261209137737751, 0.02384222112596035, -0.04583287984132767, -0.01956215873360634, 0.03161073103547096, -0.05758627504110336, 0.022312669083476067, -0.04701358452439308, -0.04357880353927612, -0.0009719025692902505, 0.054124657064676285, 0.06161141023039818, -0.04459850490093231, 0.0048704142682254314, -0.029302988201379776, -0.010257387533783913, 0.009713994339108467, 0.04899931699037552, -0.06493885815143585, 0.030242186039686203, -0.015939537435770035, 0.030215352773666382, 0.03018851764500141, -0.032066915184259415, -0.011652767658233643, -0.007688009180128574, -0.031744904816150665, 0.008224694058299065, 0.008264944888651371, 0.003602496348321438, -0.005708984099328518, 0.004742951598018408, 0.04000984877347946, 0.10551222413778305, 0.01351774763315916, -0.02419106476008892, -0.007855723612010479, -0.016623809933662415, 0.029624998569488525, 0.03300611302256584, 0.011840607970952988, 0.01209553238004446, 0.012591966427862644, -0.02949082851409912, 0.012008321471512318, -0.006041057873517275, 0.01561752613633871, -0.06300678849220276, -0.01683848351240158, -0.062201764434576035, 0.060055024921894073, 0.04272010549902916, -0.021641813218593597, 0.01188756711781025, 0.005007939878851175, -0.011693019419908524, -0.0005530368653126061, -0.026807403191924095, -0.01681165024638176, 0.020447690039873123, -0.07449184358119965, 0.01581878401339054, -0.028551628813147545, 0.016570141538977623, -0.05774728208780289, 0.004102284088730812, -0.02317136526107788, -0.009063264355063438, 0.023010360077023506, 0.029195651412010193, -0.012524880468845367, 0.00861379038542509, 0.028175950050354004, 0.0033391856122761965, -0.034562498331069946, -0.03788994252681732, -0.012913976795971394, -0.03512601926922798, 0.02729042060673237, -0.007815471850335598, 0.01192781887948513, 0.020581860095262527, 0.0113710081204772, -0.05742526799440384, 0.04658423736691475, 0.042961616069078445, -0.04086854308843613, -0.013967220671474934, 0.024754583835601807, 0.029302988201379776, -0.013256113976240158, 0.013665336184203625, -0.004957625642418861, 0.015080842189490795, 0.01823386549949646, -0.04661107063293457, 0.007459918037056923, -0.009989045560359955, 0.015510189346969128, 0.03751426562666893, 0.00060209323419258, 0.03220108523964882, 0.029571330174803734, -0.01679823361337185, 0.035957880318164825, 0.01422214601188898, -0.03893648087978363, 0.000654923147521913, 0.0015119415475055575, -0.03185224160552025, 0.029893340542912483, 0.009398692287504673, -0.05289028212428093, -0.024056894704699516, -0.024593578651547432, -0.02700866013765335, 0.010391558520495892, -0.019173063337802887, -0.018985223025083542, 0.0350186824798584, -0.016006622463464737, 0.01470516249537468, -0.021091710776090622, -0.027464842423796654, 0.02099779061973095, 0.014664910733699799, -0.030269021168351173, 0.05372214317321777, 0.04336412996053696, -0.013926969841122627, -0.016570141538977623, -0.006185291800647974, 0.02415081486105919, 0.05221942812204361, 0.0476844422519207, -0.018636377528309822, -0.014235563576221466, 0.007620923686772585, -0.0014180217403918505, 0.02310427837073803, -0.05796195566654205, -0.012001613155007362, -0.03848029673099518, -0.005350076127797365, 0.008908967487514019, 0.03236209228634834, 0.04666474089026451, 0.0602160319685936, -0.006339588668197393, -0.0392853245139122, -0.03746059536933899, -0.0008872069884091616, 0.007117781788110733, -0.03236209228634834, -3.5665427276398987e-05, -0.011183168739080429, -0.017415421083569527, 0.056244563311338425, -0.05229993164539337, 0.010928243398666382, 0.011250254698097706, 0.026767153292894363, -0.015188178978860378, 0.030939877033233643, -0.03182540461421013, -0.02173573337495327, -0.01212236750870943, 0.05576154589653015, -0.023211615160107613, 0.03885597735643387, 0.01824728213250637, -0.034133151173591614, 0.0703057050704956, 0.006688433699309826, -0.0078020547516644, 0.04526935890316963, -0.04339096322655678, 0.0077953459694981575, -0.09300746768712997, 0.003894318826496601, 0.04003668203949928, 0.012343749403953552, -0.04306895285844803, 0.0266195647418499, 0.009230977855622768, -0.013443953357636929, 0.03466983512043953, 0.0026767151430249214, -0.03684340789914131, -0.012551714666187763, 0.006312754470854998, -0.016932403668761253, 0.015684612095355988, 0.047120921313762665, -0.03426732122898102, -0.01752275787293911, 0.0196426622569561, -0.02343970723450184, 0.0161542110145092, 0.013316490687429905, 0.0075873807072639465, 0.0007895135786384344, 0.0019739936105906963, -0.005276281852275133, 0.018408287316560745, 0.020434271544218063, 0.010103090666234493, 0.0014431788586080074, 0.013383576646447182, -0.009137057699263096, 0.01922673173248768, 0.01122342050075531, -0.06509986519813538, -0.0026733609847724438, -0.006648182403296232, 0.0021366761066019535, -0.023962974548339844, -0.010706860572099686, -0.07529687136411667, 0.0037232504691928625, 0.026887906715273857, -0.023399455472826958, 0.04030502587556839, 0.03893648087978363, -0.019360903650522232, -0.03998301550745964, 0.010250679217278957, -0.042210254818201065, -0.020581860095262527, -0.025076596066355705, -0.04100271686911583, 0.002884680638089776, -0.01556385774165392, -0.028524795547127724, -0.026123130694031715, -0.0054708304814994335, 0.027639266103506088, -0.011350883170962334, 0.04733559489250183, -0.01229008100926876, -0.012484629638493061, 0.024660665541887283, 0.03856080025434494, -0.03179857134819031, 0.04086854308843613, 0.008439367637038231, -0.05476868152618408, -0.005913595203310251, -0.050341032445430756, 0.015134510584175587, 0.038399793207645416, 0.026552477851510048, 0.0015253587625920773, 0.013215862214565277, 0.010223845019936562, -0.02389588952064514, -0.010519021190702915, 0.052809782326221466, -0.013450661674141884, 0.012880434282124043, -0.037702105939388275, 0.00034989332198165357, -0.010753820650279522, -0.013041439466178417, -0.040170855820178986, -0.021453972905874252, 0.05439300090074539, 0.016999490559101105, 0.039419494569301605, -0.0014574346132576466, 0.006721976678818464, 0.038104619830846786, -0.02027326636016369, -0.038372959941625595, 0.04674524441361427, -0.004860351327806711, 0.0277197677642107, 0.0059974524192512035, 0.014664910733699799, 0.03665556758642197, 0.006617994047701359, -0.003713187761604786, -0.018368035554885864, -0.04459850490093231, -0.04170040786266327, -0.020219597965478897, 0.03461616858839989, 0.004343792330473661, -0.00778192887082696, -0.004638968966901302, 0.010304347611963749, 0.013725712895393372, -0.006929941941052675, 0.06456317752599716, -0.010123216547071934, -0.07846330851316452, -0.005386973265558481, -0.01294081099331379, 0.007050695829093456, 0.013625084422528744, -0.035904210060834885, -0.016274966299533844, 0.02346654050052166, -0.03434782475233078, 0.013276238925755024, 0.02876630239188671, 0.04108321666717529, 0.03861446678638458, -0.012155910022556782, -0.007104364689439535, -0.0329524427652359, -0.003525347914546728, -0.045108355581760406, 0.01506742462515831, 0.033837974071502686, 0.0713254064321518, -0.001057436689734459, 0.04140523076057434, 0.022272417321801186, -0.033515963703393936, -0.003954696003347635, -0.0105324387550354, 0.030591031536459923, -0.008526579476892948, 0.059357333928346634, -0.03340862691402435, 0.009432234801352024, 0.005011294037103653, 0.05079721286892891, -0.0005228483350947499, 0.010653192177414894, 0.013913552276790142, -0.04210291802883148, -0.007506878115236759, -0.012337041087448597, -0.0027572179678827524, -0.01677139848470688, -0.03550169616937637, -0.005631835665553808, 0.013926969841122627, -0.0035588908940553665, -0.052434101700782776, -0.013182319700717926, -0.0019538679625838995, 0.009573114104568958, 0.007325747050344944, -0.041485730558633804, -0.008929092437028885, -0.01189427636563778, 0.018327783793210983, 0.024969259276986122, -0.005578167270869017, 0.017804516479372978, -0.008338739164173603, -0.018998639658093452, -0.06660258024930954, -0.010579398833215237, 0.011760104447603226, 0.002653235336765647, 0.015845617279410362, 0.06429483741521835, 0.008976052515208721, -0.043283626437187195, 0.014557573944330215, 0.010277513414621353, 0.001709844102151692, 0.0034414909314364195, -0.006745456717908382, 0.02307744510471821, 0.0030322689563035965, -0.011827190406620502, 0.029544496908783913, -0.02105145901441574, 0.03933899477124214, 0.01784476824104786, -0.05538586899638176, -0.03794361278414726, -0.0011211680248379707, 0.07298912853002548, 0.012565132230520248, 0.04073437303304672, 0.04000984877347946, -0.005651961546391249, -0.023372622206807137, 0.004987813998013735, 0.007365998346358538, -0.005719047039747238, -0.03531385585665703, 0.01210224162787199, 0.04210291802883148, -0.01754959113895893, 0.001806279644370079, -0.04551086947321892, 0.006577742751687765, 0.0242313165217638, -0.07712160050868988, -0.03464300185441971, 0.00046708344598300755, -0.056566573679447174, -0.060806382447481155, -0.06161141023039818, -0.019870752468705177, 0.027438009157776833, -0.014946670271456242, -0.028980977833271027, 0.02099779061973095, 0.04035869240760803, 0.026109714061021805, -0.04526935890316963, -0.06477785110473633, -0.031744904816150665, 0.023560460656881332, -0.007533712312579155, -0.00533330487087369, 0.02983967214822769, -0.010223845019936562, -0.005108567886054516, 0.04129789397120476, 0.02243342250585556, -0.022513926029205322, -0.044974181801080704, -0.03340862691402435, 0.018864469602704048, 0.06740760803222656, -0.04159306734800339, 0.024781418964266777, 0.02315794676542282, 0.004967688117176294, 0.0005974810919724405, 0.024982675909996033, -0.034481994807720184, -0.05055570602416992, -0.007983186282217503, -0.030671535059809685, 0.0004519892099779099, 0.007231827359646559, 0.0350186824798584, 0.010921535082161427, 0.0419955812394619, 0.01752275787293911, 0.0016612070612609386, -0.01224982924759388, -0.013625084422528744, 0.028658965602517128, -0.042881112545728683, 0.015188178978860378, 0.018448539078235626, -0.0039010273758322, -0.018005773425102234, 0.0328182727098465, -0.01678481511771679, -0.003706479212269187, 0.011364299803972244, -0.022674931213259697, 0.05533219873905182, 0.06687092036008835, 0.019360903650522232, -0.08431317657232285, 0.01607370935380459, -0.04443749785423279, 0.014275814406573772, 0.026928158476948738, 0.010418392717838287, 0.047442931681871414, 0.009023012593388557, 0.013101817108690739, 0.015550441108644009, -0.031718067824840546, 0.025680365040898323, 0.005340013187378645, -0.02381538599729538, -0.002297681523486972, 0.04806011915206909, -0.0051890709437429905, 0.01827411539852619, 0.044383831322193146, -0.013276238925755024, 0.015349184162914753, -0.014248980209231377, -0.007164741400629282, 0.04041236266493797, 0.017710596323013306, -0.004508152138441801, -0.019186479970812798, 0.019119394943118095, 0.008701001293957233, -0.0032586827874183655, 0.04215658828616142, 0.015966372564435005, -0.043659307062625885, -0.005856572650372982, -0.05876697972416878, -0.010565981268882751, -0.02523760125041008, 0.028256453573703766, 0.016878735274076462, 0.04736243188381195, 0.003887610277161002, -0.013712295331060886, 0.019830502569675446, -0.014262397773563862, 0.027585595846176147, -0.005071671213954687, -0.03861446678638458, -0.05678124725818634, 0.004504797514528036, 0.006681725382804871, 0.03126188740134239, -0.030430026352405548, 0.015698028728365898, -0.047872282564640045, -0.013631792739033699, -0.045108355581760406, 0.01106241438537836, 0.012048573233187199, -0.010411684401333332, 0.040519699454307556, 0.026834238320589066 ], "result": "--- 结果 1 (相似度: 1.000) ---\n文件路径: C:\\Steam\\steamapps\\common\\RimWorld\\Data\\dll1.6\\Verse\\MapGeneratorDef.txt\n\npublic class MapGeneratorDef : Def\n{\n\tpublic bool isUnderground;\n\n\tpublic bool forceCaves;\n\n\tpublic List genSteps;\n\n\tpublic PocketMapProperties pocketMapProperties;\n\n\tpublic List customMapComponents = new List();\n\n\tpublic bool ignoreAreaRevealedLetter;\n\n\tpublic RoofDef roofDef;\n\n\tpublic bool disableShadows;\n\n\tpublic bool disableCallAid;\n\n\tpublic bool disableMapClippers;\n\n\tpublic bool renderWorld;\n\n\tpublic bool defeatRequiresCantReachUnfogged = true;\n\n\tpublic TerrainDef defaultUnderGridTerrain;\n\n\tpublic bool validScenarioMap;\n}\n\n", "timestamp": "2025-08-25 18:50:15,860" }, "GenStepDef": { "keywords": [ "GenStepDef" ], "question": "GenStepDef", "embedding": [ -0.0476333312690258, 0.013148783706128597, 0.0033006062731146812, -0.039855364710092545, -0.038809362798929214, -0.01437582541257143, -0.00036710654967464507, 0.05125410854816437, 0.0380852073431015, 0.13431741297245026, -0.03384755924344063, -0.0016092341393232346, -0.03964080289006233, -0.006933117285370827, -0.04047223925590515, 0.019954504445195198, 0.011271344497799873, -0.08330468833446503, 0.03824613243341446, -0.006048038136214018, 0.02553318254649639, -0.01653488166630268, -0.07354199886322021, 0.08791782706975937, -0.001840561511926353, -0.0010770134394988418, 0.028590727597475052, 0.007992529310286045, 0.03277473524212837, -0.04181326925754547, -0.014174670912325382, -0.04280562698841095, 0.0375756174325943, -0.018814628943800926, -0.03953351825475693, 0.03883618488907814, 0.011264638975262642, 0.02837616205215454, -0.008569171652197838, -0.01636054739356041, -0.025922080501914024, -0.0009286621934734285, 0.011506023816764355, -0.0028211886528879404, -0.040445417165756226, 0.03505448251962662, 0.014013747684657574, -0.05696688964962959, -0.03172873333096504, -0.019029194489121437, -0.014590390026569366, -0.011103715747594833, 0.03143370896577835, -0.00251107569783926, 0.002046744804829359, 0.02800067514181137, -0.004354990087449551, -0.027021722868084908, 0.03602002561092377, -0.0034531482961028814, 0.033337969332933426, 0.042027831077575684, 0.008857493288815022, -0.028402982279658318, 0.05211236700415611, -0.02468833327293396, 0.09135086089372635, -0.010869035497307777, -0.0028530380222946405, -0.04248378053307533, -0.05468714237213135, 0.0005510788760147989, -0.02452741004526615, -0.018090473487973213, -0.01941809244453907, -0.012015614658594131, -0.06066812947392464, -0.08201730251312256, -0.05264877900481224, -0.004257765598595142, -0.008951365016400814, -0.021697839722037315, -0.01744678057730198, -0.025171104818582535, 0.06506670266389847, 0.028939394280314445, -0.0024406719021499157, -0.054338473826646805, -0.01640077866613865, 0.10594125092029572, 0.023038869723677635, 0.00780478585511446, 0.03226514533162117, -0.012585552409291267, 0.07579492777585983, 0.0053372932597994804, -0.06163366883993149, 0.0029150606133043766, -0.020571377128362656, -0.014912236481904984, -0.017473600804805756, -0.10331283509731293, 0.003102804534137249, 0.05610863119363785, -0.01021193154156208, -7.6428143074736e-05, -0.042537420988082886, 0.000640341080725193, -0.02167101949453354, 0.008803851902484894, -0.054794423282146454, -0.04296655207872391, 0.00857587717473507, 0.013229245319962502, 0.012062551453709602, -0.010942792519927025, -0.0076170414686203, 0.0004513399035204202, 0.000298588362056762, 0.03390119969844818, 0.013591323047876358, 0.05326564982533455, -0.062331002205610275, -0.033579353243112564, 0.017929550260305405, -0.004908164031803608, -0.00251107569783926, 0.03218468278646469, -0.03942623734474182, -0.023535048589110374, -0.02435307763516903, -0.04267152398824692, 0.0027759289368987083, 0.00528365233913064, 0.004525971133261919, -0.0547407828271389, -0.0016838288865983486, 0.019820401445031166, -0.05415073037147522, -0.010493547655642033, -0.06227736175060272, -0.012350872159004211, -0.002625063294544816, 0.0060614487156271935, 0.04221557453274727, 0.011405447497963905, -0.003193323966115713, -0.042537420988082886, -0.013732131570577621, 0.0244737695902586, 0.00385545683093369, 0.0010677939280867577, -0.02581479772925377, 0.023172972723841667, 0.011371921747922897, -0.015944829210639, -0.0029284709598869085, -0.02104073576629162, -0.012820231728255749, -0.01512680109590292, 0.008763620629906654, -0.03231878578662872, -0.012558731250464916, -0.006004455033689737, 0.00657103955745697, -0.00807299092411995, -0.05369478091597557, -0.008488710038363934, -0.03009267896413803, 0.04707009717822075, -0.019699707627296448, -0.0028312462382018566, 0.020115427672863007, 0.01728585734963417, 0.027424031868577003, -0.013852824456989765, -0.0002679961617104709, 0.020826172083616257, -0.027464263141155243, -0.009259801357984543, 0.04189372807741165, -0.005555210635066032, -0.031111860647797585, -0.00960176344960928, -0.0028295700903981924, -0.001280682161450386, -0.043127477169036865, 0.06265284866094589, 0.025975720956921577, -0.0036844757851213217, 0.014778133481740952, 0.047981999814510345, 0.018465962260961533, 0.02800067514181137, -0.07853062450885773, -0.004589669872075319, 0.00617208331823349, -0.016923779621720314, 0.008186979219317436, 0.012464859522879124, 0.014067388139665127, -0.011016548611223698, -0.005934050772339106, 0.05146867409348488, 0.0779942125082016, -0.021282121539115906, 0.027316749095916748, -0.05932709947228432, 0.029180780053138733, -0.0007660625269636512, 0.02837616205215454, 0.005166312213987112, -0.03518858551979065, -0.02535884827375412, 0.0035939563531428576, 0.03355253115296364, -0.002355181146413088, -0.02448718063533306, 0.015046339482069016, 0.041571881622076035, 0.007067219819873571, 0.05361431837081909, 0.003262051846832037, 0.013986926525831223, -0.012042435817420483, 0.008180273696780205, 0.04766015335917473, -0.015850955620408058, 0.025332028046250343, 0.0015975001733750105, 0.01975334994494915, 0.013007976114749908, -0.03427668660879135, 0.025130873546004295, 0.002522809896618128, -0.008146747946739197, -0.03854115679860115, -0.06485213339328766, -0.04535358399152756, 0.01357791293412447, 0.01787590980529785, 0.03540315106511116, 1.9342764062457718e-05, 0.021201660856604576, -0.013303002342581749, -0.03309658169746399, -0.053292471915483475, -0.06361839175224304, 0.03982854634523392, 0.033123403787612915, 0.011210997588932514, -0.02167101949453354, 0.001959577901288867, 0.010386265814304352, 0.02875165082514286, 0.005783185362815857, -0.023467998951673508, 0.0404185988008976, -0.00528365233913064, -0.0008578391280025244, -0.025600234046578407, 0.0013728778576478362, -0.025627054274082184, 0.013732131570577621, -0.012397808022797108, -0.0008129985071718693, 0.0026887620333582163, 0.00611844239756465, -0.07343471795320511, -0.04760650917887688, -0.0259489007294178, 0.05181733891367912, 0.028402982279658318, -0.03725377097725868, -0.026726696640253067, 0.030602268874645233, 0.02146986499428749, -0.021241890266537666, -4.447395258466713e-05, -0.03556407615542412, 0.027209468185901642, -0.0027390506584197283, 0.007771260105073452, -0.04698963835835457, -0.004901458974927664, 0.03457171469926834, 0.06538854539394379, 0.051790520548820496, 0.0380852073431015, 0.04999354109168053, 0.03972126170992851, 0.029100317507982254, 0.02050432562828064, -0.02737039141356945, -0.031192321330308914, -0.03017313964664936, 0.05294380336999893, 0.01117076724767685, -0.01649465039372444, -0.006272660568356514, -0.006520750932395458, 0.007684092968702316, -0.00065919931512326, 0.04379798844456673, 0.032238323241472244, 0.012116191908717155, 0.005659140180796385, -0.10894515365362167, -0.028993034735322, -0.06200915575027466, 0.004499150440096855, -0.007221438456326723, 0.04398573189973831, -0.015260904096066952, 0.0389971062541008, -0.027008313685655594, -0.04615819826722145, 0.004006322473287582, 0.025600234046578407, 0.02038363181054592, -0.08899065107107162, -0.0400162898004055, -0.041705984622240067, 0.013269476592540741, 0.031889658421278, -0.057932429015636444, 0.036475975066423416, -0.022194020450115204, -0.028510265052318573, 0.0023149503394961357, -0.02845662459731102, -0.002041715895757079, 0.023213202133774757, 0.06919706612825394, -0.007918773218989372, 0.019739938899874687, 0.017460189759731293, 0.02531861700117588, -0.06050720438361168, -0.009467661380767822, 0.008857493288815022, 0.05766422301530838, 0.005380876827985048, -0.006470462307333946, 0.003127948846668005, 0.047847896814346313, -0.018063653260469437, 0.04757969081401825, -0.0006587802199646831, 0.0013879644684493542, -0.007254964206367731, -0.009856559336185455, -0.0040800790302455425, 0.0552503727376461, -0.004254412837326527, -0.029073497280478477, -0.0028597430791705847, -0.018130704760551453, -0.0476333312690258, 0.009031826630234718, -0.01286716852337122, 0.004411983769387007, -0.021778302267193794, 0.018519602715969086, 0.020973684266209602, -0.041330497711896896, -0.011961974203586578, 0.0035973088815808296, -0.024554230272769928, 0.030199961736798286, 0.005112670827656984, -0.034920379519462585, -0.01176081970334053, 0.03100457787513733, -0.06624680757522583, 0.04934984818100929, 0.009722456336021423, -0.016467830166220665, -0.05018128454685211, 0.0027289928402751684, 0.010413086041808128, 0.0471237413585186, 0.0017818915657699108, 0.012210064567625523, 0.024876078590750694, 0.01878780871629715, 0.051790520548820496, 0.10068441927433014, -0.035134945064783096, 0.001983045833185315, 0.03610048443078995, 0.025506360456347466, 0.024218974635004997, -0.0014206520281732082, 0.07960344851016998, 0.018559833988547325, -0.017714986577630043, -0.007462823297828436, 0.014000337570905685, -0.02644508145749569, 0.016722625121474266, -0.006420173682272434, -0.02934170328080654, -0.03945305570960045, -0.009762687608599663, -0.041786447167396545, -0.0022914824075996876, 0.015006108209490776, 0.023213202133774757, -0.025224745273590088, -0.04779425263404846, -0.022247662767767906, 0.0931210145354271, -0.01240451354533434, -0.023280253633856773, -0.0064671095460653305, -0.01979357935488224, -0.011935153044760227, -0.006457052193582058, 0.00931344274431467, -0.02640485018491745, 0.017084702849388123, -0.054794423282146454, 0.029100317507982254, -0.022703612223267555, 0.04299337416887283, 0.031058218330144882, -0.01408079918473959, -0.039265312254428864, 0.023655742406845093, -0.03146052733063698, -0.006262602750211954, -0.09510573744773865, 0.01493905670940876, -0.009259801357984543, -0.0214296355843544, 0.008937954902648926, -0.006309539079666138, -0.025130873546004295, -0.008515531197190285, -0.029556266963481903, 0.010245457291603088, 0.0404185988008976, -0.03129960596561432, 0.01422831229865551, 0.009219571016728878, 0.034383971244096756, 0.0152340829372406, 0.010989728383719921, 0.03339160978794098, -0.016038700938224792, -0.004646663554012775, -0.019391272217035294, 0.029824472963809967, -0.0046533686108887196, -0.003322398057207465, 0.008193683810532093, -0.008589287288486958, 0.03720013052225113, -0.03784382343292236, 0.01996791362762451, 0.0676414743065834, -0.0173663180321455, 0.07665318995714188, -0.011988794431090355, 0.01452333852648735, 0.0017031060997396708, -0.023079099133610725, -0.005736249033361673, -0.037146490067243576, 0.0030726315453648567, 0.02665964514017105, 0.010540483519434929, -0.015207262709736824, -0.01086233090609312, -0.039479877799749374, 0.025211334228515625, 0.028563905507326126, 0.01925716921687126, -0.04562178999185562, -0.026847390457987785, -0.011412152089178562, -0.0052031902596354485, -0.026471901684999466, -0.05519673228263855, -0.03516176715493202, -0.030414525419473648, -0.0194985531270504, 0.00929332710802555, -0.030360884964466095, -0.025466131046414375, -0.04189372807741165, -0.027263108640909195, -0.0036878283135592937, -0.010600830428302288, -0.03481309860944748, -0.011821165680885315, -0.03779018297791481, 0.003020666539669037, -0.04079408571124077, -0.002682056976482272, 0.015193852595984936, -0.027102185413241386, 0.0006395029486157, -0.05152231454849243, 0.0008766973624005914, 0.015515699051320553, 0.005464691203087568, -0.009159224107861519, -0.0011717235902324319, 0.0016151011222973466, -0.03135324642062187, 0.06463757157325745, -0.02623051591217518, -0.02263656072318554, -0.010594124905765057, 0.004100194666534662, 0.01586436666548252, -0.024044640362262726, -0.004934984724968672, -0.01774180680513382, -0.04653368890285492, 0.0008440098026767373, 0.04347614198923111, -0.09247732162475586, 0.043663885444402695, -0.009541417472064495, -0.0011742380447685719, 0.08110540360212326, -0.015502288937568665, -0.013879644684493542, 0.018881680443882942, 0.010781869292259216, -0.005310472566634417, 0.0013586294371634722, 0.002529514953494072, -0.0019897508900612593, -0.008213799446821213, 0.023709382861852646, 0.07407841086387634, 0.024031229317188263, -0.0013007975649088621, -0.0007610336760990322, 0.014416055753827095, 0.008790441788733006, 0.05002036318182945, 0.016749445348978043, -0.05447257682681084, 0.016588522121310234, -0.025546591728925705, 0.018318448215723038, 0.026391441002488136, 0.01483177486807108, -0.030226781964302063, 0.0244737695902586, -0.020893223583698273, 0.016038700938224792, 0.03677099943161011, 0.01886827126145363, 0.03905075043439865, 0.008669748902320862, -0.009735866449773312, 0.02644508145749569, -0.027303339913487434, 0.014107619412243366, 0.015287724323570728, -0.08593310415744781, -0.04226921871304512, 0.016186213120818138, -0.009494481608271599, -0.06104361638426781, 0.019739938899874687, -0.02210014872252941, 0.030950937420129776, -0.01086233090609312, -0.008166863583028316, -0.001845590420998633, -0.04489763453602791, 0.057986069470644, 0.00420747697353363, -0.044253937900066376, -0.0015170384431257844, -0.009990662336349487, -0.018975552171468735, -0.02794703282415867, -0.008542351424694061, 0.008770326152443886, 0.007945593446493149, -0.00362412934191525, 0.01483177486807108, 0.0538288839161396, 0.05213918536901474, 0.0023300370667129755, -0.013866234570741653, 0.011626716703176498, 0.04562178999185562, -0.0005988530465401709, 0.01967288739979267, -0.02188558503985405, 0.03811202943325043, -0.027209468185901642, -0.05058359354734421, -0.028483444824814796, 0.006346417125314474, 0.021349173039197922, -0.0016528175910934806, -0.011881512589752674, 0.017768627032637596, 0.008482005447149277, -0.02737039141356945, 0.03553725406527519, 0.04846476763486862, -0.010708112269639969, -0.00016113294987007976, -0.014121029525995255, -0.01795637048780918, -0.005390934646129608, 0.04578271135687828, -0.019404681399464607, -0.06549583375453949, -0.07284466922283173, -0.015931418165564537, 0.022234251722693443, -0.03838023543357849, -0.008971480652689934, 0.016803085803985596, -0.007429297547787428, 0.011264638975262642, -0.05884432792663574, -0.042832449078559875, -0.061204537749290466, 0.027759289368987083, -0.03336478769779205, 0.03687828406691551, 0.02518451400101185, 0.003905745455995202, -0.06501305848360062, -0.04146460071206093, 0.0072750793769955635, 0.04334203898906708, 0.022649969905614853, 0.0034464432392269373, -0.001885821227915585, -0.029851293191313744, -0.008696569129824638, 0.01762111485004425, -0.02104073576629162, 0.007422592490911484, -0.02703513391315937, -0.01803683303296566, 0.009400609880685806, 0.03966762125492096, 0.015703443437814713, 0.0485452301800251, -0.032238323241472244, -0.03846069797873497, -0.059917151927948, -0.011043369770050049, 0.018881680443882942, -0.038648441433906555, -0.0010392970871180296, 0.02247563749551773, -0.0049718632362782955, 0.05841520056128502, -0.003272109432145953, 0.08325104415416718, 0.013054911978542805, 0.03159463033080101, -0.014603800140321255, -0.008696569129824638, -0.06683685630559921, -0.015529109165072441, 0.01508656982332468, 0.026431670412421227, -0.009065352380275726, 0.04489763453602791, 0.027397211641073227, -0.015247493982315063, 0.05154913291335106, 0.011975384317338467, -0.03481309860944748, -0.008026055060327053, -0.061365462839603424, 0.01041979156434536, -0.022194020450115204, 0.01762111485004425, 0.009755982086062431, 0.014576978981494904, 0.00126308121252805, -0.007295195013284683, 0.045970454812049866, -0.06892886012792587, 0.023923948407173157, -0.029448984190821648, -0.03612730652093887, 0.01870734617114067, -0.01837209053337574, -0.007610336411744356, 0.033498890697956085, 0.057556942105293274, -0.02979765273630619, 0.003188295057043433, -0.019525375217199326, 0.014389235526323318, -0.015287724323570728, 0.025747746229171753, -0.015006108209490776, -0.005471396259963512, 0.008622813038527966, 0.023749614134430885, 0.037226948887109756, 0.022529277950525284, -0.055304013192653656, 0.0010795278940349817, 0.006312891375273466, 0.058146994560956955, 0.007221438456326723, 0.033498890697956085, -0.041357316076755524, -0.031406886875629425, -0.0029787595849484205, 0.0010736609110608697, -0.013095143251121044, 0.016119161620736122, -0.07670682668685913, 0.025305207818746567, 0.05125410854816437, -0.035295870155096054, 0.04527312144637108, 0.017983192577958107, -0.04833066463470459, -0.022408585995435715, 0.024031229317188263, -0.007402477320283651, -0.01508656982332468, -0.020034965127706528, -0.0722009688615799, -0.01770157553255558, -0.010299098677933216, -0.006058095954358578, -0.009762687608599663, -0.011975384317338467, 0.00658109737560153, 0.009722456336021423, 0.04564860835671425, -0.02138940431177616, -0.046506866812705994, -0.011251228861510754, 0.05685960501432419, -0.06254556775093079, 0.028805291280150414, 0.011961974203586578, -0.026606004685163498, -0.03449125215411186, -0.05932709947228432, 0.009031826630234718, 0.037521976977586746, 0.028644368052482605, -0.008448479697108269, 0.010600830428302288, 0.010701406747102737, -0.03194329887628555, 0.010406380519270897, 0.015354775823652744, 0.012572142295539379, 0.013960106298327446, -0.011888217180967331, -0.04020403325557709, -0.022690201178193092, -0.04741876572370529, -0.06474485248327255, 0.0004243097791913897, 0.003774995217099786, 0.023360716179013252, -0.0006667425623163581, -0.023843485862016678, 0.0194985531270504, 0.006333007011562586, -0.0580933541059494, -0.045675430446863174, 0.027383800595998764, -0.04361024498939514, -0.07016260921955109, 0.019351040944457054, 0.016038700938224792, 0.030521808192133904, 0.010493547655642033, 0.008274145424365997, -0.0019897508900612593, -0.004472329746931791, -0.027061954140663147, -0.01682990789413452, 0.06522762775421143, 0.04615819826722145, 0.005649082362651825, -0.0533192902803421, 0.00642352644354105, -0.031031398102641106, 0.04302019253373146, 0.0457022488117218, 0.019860630854964256, -0.05342657491564751, -0.045755889266729355, -0.034732636064291, 0.026056183502078056, 0.006547571625560522, -0.02113460935652256, 0.021992865949869156, -0.03414258360862732, 0.005980987101793289, -0.004606432747095823, 0.019283989444375038, 0.05916617438197136, 0.02415192313492298, 0.030441345646977425, 0.046131379902362823, -0.034839920699596405, -0.007925477810204029, -0.014657441526651382, 0.02745085209608078, 0.0290466770529747, 0.05712781101465225, -0.011995499953627586, 0.018278218805789948, 0.016052110120654106, -0.010386265814304352, -0.0072080278769135475, -0.011713883839547634, 0.023655742406845093, 0.012793411500751972, -0.003805168205872178, -0.018814628943800926, 0.047311484813690186, 0.02008860558271408, 0.0418400876224041, -0.00887090340256691, -0.0034833215177059174, 0.008931249380111694, -0.02762518636882305, 0.0048209973610937595, -0.025895260274410248, 0.03720013052225113, 0.01098302286118269, -0.029931755736470222, -0.005213248077780008, 0.01389305479824543, 0.010319214314222336, -0.02958308719098568, -0.030736371874809265, 0.005055677145719528, 0.04023085534572601, 0.0041638934053480625, -0.01207596156746149, -0.00897818524390459, 0.003132977755740285, 0.03770972043275833, -0.0214296355843544, -0.0008909457828849554, 0.03827295079827309, -0.019941093400120735, -0.020155657082796097, -0.06790968030691147, 0.017607703804969788, 0.03325750678777695, 0.013644964434206486, 0.04556814581155777, 0.013054911978542805, -0.009823033586144447, -0.004908164031803608, 0.0026518837548792362, 0.006051390897482634, 0.06796332448720932, 0.0017936255317181349, 0.04969851300120354, -0.0009915229165926576, 0.021992865949869156, 0.009132403880357742, -0.002611652947962284, -0.040311314165592194, 0.008488710038363934, 0.03009267896413803, -0.026847390457987785, -0.021858764812350273, 0.0034162700176239014, 0.06817788630723953, 0.0485452301800251, 0.016709214076399803, 0.013718721456825733, -0.03827295079827309, -0.02628415822982788, -0.0045293234288692474, 0.02117483876645565, -0.006678321864455938, 0.0055283899419009686, 0.0101046497002244, 0.008421658538281918, -0.005434517748653889, 0.016387367621064186, -0.05498216673731804, -0.00976939219981432, 0.03921167179942131, -0.04208147153258324, -0.01019181590527296, 0.02109437808394432, -0.03639551252126694, -0.032533351331949234, -0.026833979412913322, -0.017057882621884346, -0.018090473487973213, -0.00746952835470438, -0.008374722674489021, 0.010634355247020721, 0.0269144419580698, 0.02146986499428749, -0.016601933166384697, -0.05648411810398102, 0.021536916494369507, 0.06238464266061783, 0.02632438950240612, -0.016896959394216537, 0.028322521597146988, 0.01762111485004425, 0.016186213120818138, 0.028483444824814796, 0.02494313009083271, 0.03931895270943642, -0.00504226703196764, 0.021443044766783714, 0.0101046497002244, 0.04698963835835457, -0.009152519516646862, 0.041705984622240067, 0.006259250454604626, 0.016964010894298553, 0.031487349420785904, 0.023669151589274406, -0.02749108336865902, -0.0547407828271389, -0.020236119627952576, 0.009206159971654415, 0.0034330328926444054, 0.02092004381120205, 0.0014617210254073143, 0.014979287981987, 0.04436122253537178, 0.012290526181459427, 0.01586436666548252, 0.01301468163728714, 0.005685960873961449, 0.017004240304231644, -0.04618502035737038, 0.030655911192297935, 0.00120022043120116, -0.018010012805461884, -0.03497402369976044, 0.022998638451099396, 0.01937786117196083, -0.014563568867743015, -0.013537682592868805, -0.03650279343128204, 0.054928526282310486, 0.022247662767767906, 0.020611606538295746, -0.08244642615318298, 0.018050242215394974, -0.017004240304231644, -0.02092004381120205, 0.014483107253909111, 0.006400058511644602, 0.008468594402074814, -0.015877777710556984, 0.016038700938224792, 0.01025216281414032, -0.014469697140157223, -0.045594967901706696, 0.037682898342609406, -0.020397042855620384, -0.05417754873633385, 0.01681649684906006, -0.015207262709736824, 0.008052876219153404, 0.04969851300120354, 0.007610336411744356, 0.018841449171304703, -0.013986926525831223, 0.02297181822359562, 0.043502964079380035, 0.027678826823830605, 0.026297567412257195, 0.025050411000847816, 0.009279916994273663, 0.01904260367155075, -0.014268542639911175, -0.008931249380111694, 0.01892191171646118, -0.018841449171304703, 0.033793918788433075, -0.02762518636882305, 0.03682463988661766, -0.03832659497857094, -0.0006763812270946801, -0.02012883685529232, 0.025305207818746567, -0.014751313254237175, -0.0008021026733331382, 0.01129816472530365, -0.054553039371967316, 0.016548290848731995, 0.00015044663450680673, -0.019686298444867134, -0.00822050403803587, 0.01623985543847084, -0.027517903596162796, 0.03695874288678169, 0.007945593446493149, -0.03821931034326553, -0.010781869292259216, 0.0023568575270473957, 0.0280811358243227, 0.008904429152607918, -0.02682056836783886, -0.024084871634840965, -0.002950262511149049, -0.01715175434947014 ], "result": "--- 结果 1 (相似度: 1.000) ---\n文件路径: C:\\Steam\\steamapps\\common\\RimWorld\\Data\\dll1.6\\Verse\\GenStepDef.txt\n\npublic class GenStepDef : Def\n{\n\tpublic SitePartDef linkWithSite;\n\n\tpublic float order;\n\n\tpublic GenStep genStep;\n\n\tpublic List preventsGenSteps;\n\n\tpublic override void PostLoad()\n\t{\n\t\tbase.PostLoad();\n\t\tgenStep.def = this;\n\t}\n}\n\n", "timestamp": "2025-08-25 18:50:24,032" } }