PatchOperationSequence - solaris0115/RimWorldModGuide GitHub Wiki

PatchOperationSequence

์ผ๋ จ์˜ ํŒจ์น˜ ๊ณผ์ •๋“ค์„ ์ˆœ์ฐจ์ ์œผ๋กœ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

์•„๋ž˜์˜ ์˜ˆ์ œ๋ฅผ ๋ณด๊ธฐ์ „ success์— ๋Œ€ํ•ด ์„ค๋ช…ํ•˜๋ฉด ๋ชจ๋“  ํŒจ์น˜๋ช…๋ น์€ ํ•ด๋‹น ์ž‘์—…์„ ๋งˆ์น˜๊ณ  ์„ฑ๊ณต ์‹คํŒจ์—ฌ๋ถ€๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
๋งŒ์•ฝ ๋๊นŒ์ง€ ๋งˆ๋ฌด๋ฆฌ๊ฐ€ ์ž˜ ๋˜์—ˆ๋‹ค๋ฉด True๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ณ  ๊ฒฝ๋กœ์— ๋Œ€์ƒ์ด ์—†๊ฑฐ๋‚˜ ํŒจ์น˜๋ฅผ ์‹คํŒจํ•˜๋ฉด False๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

์‹œํ€€์Šค๋Š” ๊ทธ๋Ÿฌํ•œ ์„ฑ๊ณต์ •๋ณด๋ฅผ ๊ฐ€์ง€๊ณ  ํŒจ์น˜๋ช…๋ น ๋ฆฌ์ŠคํŠธ์—์„œ ๋‹ค์Œ ํŒจ์น˜๋ฅผ ์ ์šฉํ• ์ง€ ์—ฌ๋ถ€๋ฅผ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค.
๋งŒ์•ฝ ์ค‘๊ฐ„์— false๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ๋ช…๋ น์ด ์žˆ์„ ๊ฒฝ์šฐ ํ•ด๋‹น ์ง€์ ์—์„œ ์ค‘๋‹จํ•˜๊ณ  ์‹œํ€€์Šค ํŒจ์น˜๋ฅผ ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค.

<Operation Class="PatchOperationSequence">
	<success>Always</success>
	<operations>
		<li Class="PatchOperationTest">
			<xpath>*/ThingDef[defName = "DiningChair"]/costList</xpath>
			<success>Invert</success>
		</li>
		<li Class="PatchOperationAdd">
			<xpath>*/ThingDef[defName = "DiningChair"]</xpath>
			<value>
				<costList>
					<Steel>15</Steel>
				</costList>
			</value>
		</li>
	</operations>
</Operation>

์œ„ ์˜ˆ์ œ์—์„œ๋Š” DiningChair์˜ ๊ณ ์ • ์žฌ๋ฃŒ์ธ ๋…ธ๋“œ์˜ ์กด์žฌ ์œ ๋ฌด๋ฅผ ํ™•์ธ ํ›„ ์—†๋‹ค๋ฉด ์•„๋ž˜์˜ ํŒจ์น˜์ž‘์—…์„ ์‹คํ–‰ํ•˜๋Š” ๋ช…๋ น์ž…๋‹ˆ๋‹ค.
๋จผ์ € PatchOperationSequence์˜ operations์—๋Š” 2๊ฐœ์˜ ๋ช…๋ น์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.

PatchOperationTest์™€ PatchOperationAdd

PatchOperationTest์—์„œ xpath(๊ฒฝ๋กœ)์ƒ์˜ ๋…ธ๋“œ๊ฐ€ ์กด์žฌํ•˜๋Š”์ง€ ํ™•์ธ ํ›„ ์กด์žฌํ•˜์ง€ ์•Š๋Š”๋‹ค๋ฉด false๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
์ด๋•Œ PatchOperationTest์˜ success๋Š” Invert๊ฐ’์œผ๋กœ ์‹ค์ œ DiningChair์ •์˜์— <costList>๋…ธ๋“œ๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์œผ๋‹ˆ
false์— ๋Œ€ํ•œ Invert(๋ฐ˜์ „)๊ฐ’์ธ true๊ฐ€ ๋˜๊ณ  ๋”ฐ๋ผ์„œ ์•„๋ž˜์˜ PatchOperationAdd๋ช…๋ น์ด ๊ทธ๋Œ€๋กœ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

๋ฌผ๋ก  PatchOperationAdd๋ช…๋ น๋งŒ์„ ์ด์šฉํ•ด ๋ฐ”๋กœ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ๋ฒ•๋„ ์žˆ์ง€๋งŒ
์œ„์™€ ๊ฐ™์ด ํ•˜๋Š” ์ด์œ ๋Š” ๋‹ค๋ฅธ ๋ชจ๋“œ์—์„œ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ํ˜น์€ ์•ˆ์ •์„ฑ์„ ์œ„ํ•ด ์กด์žฌ ์œ ๋ฌด๋ฅผ ํ•œ๋ฒˆ ๊ฒ€์‚ฌํ•˜๊ณ  ์ถ”๊ฐ€๋ฅผ ํ•จ์œผ๋กœ์จ
์˜ค๋ฅ˜๋กœ๋ถ€ํ„ฐ ์•ˆ์ „ํ•ด์งˆ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

โš ๏ธ **GitHub.com Fallback** โš ๏ธ