Newer
Older
TheVengeance-Project-IADE-Unity2D / Assets / 2D Customizable Characters / Characters / Male / Scripts / CharacterSetup.cs
@Rackday Rackday on 18 Aug 2024 22 KB Project Added
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. [ExecuteInEditMode]
  5. public class CharacterSetup : MonoBehaviour {
  6. [Header("Direction Game Objects")]
  7. public GameObject downDirection;
  8. public GameObject upDirection;
  9. public GameObject leftDirection;
  10. public GameObject rightDirection;
  11. [Header("Weapons")]
  12. public Sprite swingWeapon;
  13. public Sprite thrustWeapon;
  14. public Sprite bowWeapon;
  15. [Header("Base")]
  16. public Color skinColor;
  17. public Sprite eyeShape;
  18. public Color eyeColor;
  19. [Header("Hair")]
  20. public Sprite hair;
  21. public Sprite facialHair;
  22. public Sprite eyebrowShape;
  23. public Color hairColor;
  24. [Header("Headwear")]
  25. public Sprite headwear;
  26. public Color headwearColor;
  27. [Header("Shoulders")]
  28. public Sprite leftShoulder;
  29. public Color leftShoulderColor;
  30. [Space(5)]
  31. public Sprite rightShoulder;
  32. public Color rightShoulderColor;
  33. [Header("Left Arm")]
  34. public Sprite leftUpperArmEquipment;
  35. public Color leftUpperArmEquipmentColor;
  36. [Space(5)]
  37. public Sprite leftLowerArmEquipment;
  38. public Color leftLowerArmEquipmentColor;
  39. [Space(5)]
  40. public Sprite leftHandEquipment;
  41. public Color leftHandEquipmentColor;
  42. [Header("Right Arm")]
  43. public Sprite rightUpperArmEquipment;
  44. public Color rightUpperArmEquipmentColor;
  45. [Space(5)]
  46. public Sprite rightLowerArmEquipment;
  47. public Color rightLowerArmEquipmentColor;
  48. [Space(5)]
  49. public Sprite rightHandEquipment;
  50. public Color rightHandEquipmentColor;
  51. [Header("Upper Body")]
  52. public Sprite chestEquipment;
  53. public Color chestEquipmentColor;
  54. [Space(5)]
  55. public Sprite bodyEquipment;
  56. public Color bodyEquipmentColor;
  57. [Space(5)]
  58. public Sprite belt;
  59. public Color beltColor;
  60. [Space(5)]
  61. public Sprite hipEquipment;
  62. public Color hipEquipmentColor;
  63. [Header("Left Leg")]
  64. public Sprite leftUpperLegEquipment;
  65. public Color leftUpperLegEquipmentColor;
  66. [Space(5)]
  67. public Sprite leftLowerLegEquipment;
  68. public Color leftLowerLegEquipmentColor;
  69. [Space(5)]
  70. public Sprite leftFootEquipment;
  71. public Color leftFootEquipmentColor;
  72. [Header("Right Leg")]
  73. public Sprite rightUpperLegEquipment;
  74. public Color rightUpperLegEquipmentColor;
  75. [Space(5)]
  76. public Sprite rightLowerLegEquipment;
  77. public Color rightLowerLegEquipmentColor;
  78. [Space(5)]
  79. public Sprite rightFootEquipment;
  80. public Color rightFootEquipmentColor;
  81. private GameObject previousDownDirection;
  82. private SpriteRenderer[] cachedUpSpriteRenderers = null;
  83. private SpriteRenderer[] cachedLeftSpriteRenderers = null;
  84. private SpriteRenderer[] cachedDownSpriteRenderers = null;
  85. private SpriteRenderer[] cachedRightSpriteRenderers = null;
  86. void Awake()
  87. {
  88. if (downDirection != null)
  89. {
  90. UpdateCachedSpriteRenderers(downDirection, ref cachedDownSpriteRenderers);
  91. if (cachedDownSpriteRenderers != null && cachedDownSpriteRenderers.Length > 0)
  92. {
  93. swingWeapon = GetSpriteRendererBySlotName(cachedDownSpriteRenderers, "__swing weapon slot").sprite;
  94. thrustWeapon = GetSpriteRendererBySlotName(cachedDownSpriteRenderers, "__thrust weapon slot").sprite;
  95. bowWeapon = GetSpriteRendererBySlotName(cachedDownSpriteRenderers, "__bow weapon slot").sprite;
  96. skinColor = GetSpriteRendererBySlotName(cachedDownSpriteRenderers, "head").color;
  97. eyeShape = GetSpriteRendererBySlotName(cachedDownSpriteRenderers, "eyes").sprite;
  98. eyebrowShape = GetSpriteRendererBySlotName(cachedDownSpriteRenderers, "eyebrows").sprite;
  99. eyeColor = GetSpriteRendererBySlotName(cachedDownSpriteRenderers, "eye color").color;
  100. hairColor = GetSpriteRendererBySlotName(cachedDownSpriteRenderers, "__hair slot").color;
  101. hair = GetSpriteRendererBySlotName(cachedDownSpriteRenderers, "__hair slot").sprite;
  102. facialHair = GetSpriteRendererBySlotName(cachedDownSpriteRenderers, "__facial hair slot").sprite;
  103. headwear = GetSpriteRendererBySlotName(cachedDownSpriteRenderers, "__headwear slot").sprite;
  104. headwearColor = GetSpriteRendererBySlotName(cachedDownSpriteRenderers, "__headwear slot").color;
  105. rightShoulder = GetSpriteRendererBySlotName(cachedDownSpriteRenderers, "__right shoulder slot").sprite;
  106. rightShoulderColor = GetSpriteRendererBySlotName(cachedDownSpriteRenderers, "__right shoulder slot").color;
  107. rightUpperArmEquipment = GetSpriteRendererBySlotName(cachedDownSpriteRenderers, "__right upper arm slot").sprite;
  108. rightUpperArmEquipmentColor = GetSpriteRendererBySlotName(cachedDownSpriteRenderers, "__right upper arm slot").color;
  109. rightLowerArmEquipment = GetSpriteRendererBySlotName(cachedDownSpriteRenderers, "__right lower arm slot").sprite;
  110. rightLowerArmEquipmentColor = GetSpriteRendererBySlotName(cachedDownSpriteRenderers, "__right lower arm slot").color;
  111. rightHandEquipment = GetSpriteRendererBySlotName(cachedDownSpriteRenderers, "__right hand slot").sprite;
  112. rightHandEquipmentColor = GetSpriteRendererBySlotName(cachedDownSpriteRenderers, "__right hand slot").color;
  113. leftShoulder = GetSpriteRendererBySlotName(cachedDownSpriteRenderers, "__left shoulder slot").sprite;
  114. leftShoulderColor = GetSpriteRendererBySlotName(cachedDownSpriteRenderers, "__left shoulder slot").color;
  115. leftUpperArmEquipment = GetSpriteRendererBySlotName(cachedDownSpriteRenderers, "__left upper arm slot").sprite;
  116. leftUpperArmEquipmentColor = GetSpriteRendererBySlotName(cachedDownSpriteRenderers, "__left upper arm slot").color;
  117. leftLowerArmEquipment = GetSpriteRendererBySlotName(cachedDownSpriteRenderers, "__left lower arm slot").sprite;
  118. leftLowerArmEquipmentColor = GetSpriteRendererBySlotName(cachedDownSpriteRenderers, "__left lower arm slot").color;
  119. leftHandEquipment = GetSpriteRendererBySlotName(cachedDownSpriteRenderers, "__left hand slot").sprite;
  120. leftHandEquipmentColor = GetSpriteRendererBySlotName(cachedDownSpriteRenderers, "__left hand slot").color;
  121. chestEquipment = GetSpriteRendererBySlotName(cachedDownSpriteRenderers, "__chest slot").sprite;
  122. chestEquipmentColor = GetSpriteRendererBySlotName(cachedDownSpriteRenderers, "__chest slot").color;
  123. bodyEquipment = GetSpriteRendererBySlotName(cachedDownSpriteRenderers, "__body slot").sprite;
  124. bodyEquipmentColor = GetSpriteRendererBySlotName(cachedDownSpriteRenderers, "__body slot").color;
  125. belt = GetSpriteRendererBySlotName(cachedDownSpriteRenderers, "__belt slot").sprite;
  126. beltColor = GetSpriteRendererBySlotName(cachedDownSpriteRenderers, "__belt slot").color;
  127. hipEquipment = GetSpriteRendererBySlotName(cachedDownSpriteRenderers, "__hip slot").sprite;
  128. hipEquipmentColor = GetSpriteRendererBySlotName(cachedDownSpriteRenderers, "__hip slot").color;
  129. rightUpperLegEquipment = GetSpriteRendererBySlotName(cachedDownSpriteRenderers, "__right upper leg slot").sprite;
  130. rightUpperLegEquipmentColor = GetSpriteRendererBySlotName(cachedDownSpriteRenderers, "__right upper leg slot").color;
  131. rightLowerLegEquipment = GetSpriteRendererBySlotName(cachedDownSpriteRenderers, "__right lower leg slot").sprite;
  132. rightLowerLegEquipmentColor = GetSpriteRendererBySlotName(cachedDownSpriteRenderers, "__right lower leg slot").color;
  133. rightFootEquipment = GetSpriteRendererBySlotName(cachedDownSpriteRenderers, "__right foot slot").sprite;
  134. rightFootEquipmentColor = GetSpriteRendererBySlotName(cachedDownSpriteRenderers, "__right foot slot").color;
  135. leftUpperLegEquipment = GetSpriteRendererBySlotName(cachedDownSpriteRenderers, "__left upper leg slot").sprite;
  136. leftUpperLegEquipmentColor = GetSpriteRendererBySlotName(cachedDownSpriteRenderers, "__left upper leg slot").color;
  137. leftLowerLegEquipment = GetSpriteRendererBySlotName(cachedDownSpriteRenderers, "__left lower leg slot").sprite;
  138. leftLowerLegEquipmentColor = GetSpriteRendererBySlotName(cachedDownSpriteRenderers, "__left lower leg slot").color;
  139. leftFootEquipment = GetSpriteRendererBySlotName(cachedDownSpriteRenderers, "__left foot slot").sprite;
  140. leftFootEquipmentColor = GetSpriteRendererBySlotName(cachedDownSpriteRenderers, "__left foot slot").color;
  141. }
  142. }
  143. }
  144. void Update()
  145. {
  146. if (!Application.isPlaying)
  147. {
  148. if (downDirection != previousDownDirection)
  149. {
  150. Awake();
  151. previousDownDirection = downDirection;
  152. }
  153. UpdateSprites(true);
  154. }
  155. }
  156. public void UpdateSprites(bool updateColorOnly)
  157. {
  158. UpdateCachedSpriteRenderersForAllDirections();
  159. UpdateSpritesForDirection(cachedDownSpriteRenderers, "down", updateColorOnly);
  160. UpdateSpritesForDirection(cachedUpSpriteRenderers, "up", updateColorOnly);
  161. if (rightDirection != leftDirection && rightDirection != null)
  162. {
  163. UpdateSpritesForDirection(cachedLeftSpriteRenderers, "side", updateColorOnly);
  164. UpdateSpritesForDirection(cachedRightSpriteRenderers, "side", updateColorOnly);
  165. }
  166. else
  167. {
  168. UpdateSpritesForDirection(cachedLeftSpriteRenderers, "side", updateColorOnly);
  169. }
  170. }
  171. private void UpdateCachedSpriteRenderersForAllDirections()
  172. {
  173. UpdateCachedSpriteRenderers(downDirection, ref cachedDownSpriteRenderers);
  174. UpdateCachedSpriteRenderers(upDirection, ref cachedUpSpriteRenderers);
  175. UpdateCachedSpriteRenderers(leftDirection, ref cachedLeftSpriteRenderers);
  176. if (rightDirection != leftDirection)
  177. {
  178. UpdateCachedSpriteRenderers(rightDirection, ref cachedRightSpriteRenderers);
  179. }
  180. }
  181. private void UpdateCachedSpriteRenderers(GameObject directionGameObject, ref SpriteRenderer[] cachedSpriteRenderers)
  182. {
  183. if (directionGameObject != null)
  184. {
  185. if (cachedSpriteRenderers == null || cachedSpriteRenderers.Length == 0)
  186. {
  187. cachedSpriteRenderers = directionGameObject.GetComponentsInChildren<SpriteRenderer>(true);
  188. }
  189. }
  190. }
  191. private void UpdateSpritesForDirection(SpriteRenderer[] cachedSpriteRenderers, string direction, bool updateColorOnly)
  192. {
  193. if (cachedSpriteRenderers != null && cachedSpriteRenderers.Length > 0)
  194. {
  195. bool isMainDirection = direction == "down";
  196. bool updateSprites = isMainDirection || !updateColorOnly;
  197. //weapons
  198. SpriteRenderer swingWeaponSlotSR = GetSpriteRendererBySlotName(cachedSpriteRenderers, "__swing weapon slot");
  199. UpdateSprite(swingWeaponSlotSR, swingWeapon, swingWeaponSlotSR.color, direction, isMainDirection, updateSprites);
  200. SpriteRenderer thrustWeaponSlotSR = GetSpriteRendererBySlotName(cachedSpriteRenderers, "__thrust weapon slot");
  201. UpdateSprite(thrustWeaponSlotSR, thrustWeapon, thrustWeaponSlotSR.color, direction, isMainDirection, updateSprites);
  202. SpriteRenderer bowWeaponSlotSR = GetSpriteRendererBySlotName(cachedSpriteRenderers, "__bow weapon slot");
  203. UpdateSprite(bowWeaponSlotSR, bowWeapon, bowWeaponSlotSR.color, direction, isMainDirection, updateSprites);
  204. //face
  205. SpriteRenderer headSR = GetSpriteRendererBySlotName(cachedSpriteRenderers, "head");
  206. headSR.color = skinColor;
  207. SpriteRenderer eyesClosedSR = GetSpriteRendererBySlotName(cachedSpriteRenderers, "eyes closed");
  208. eyesClosedSR.color = new Color (skinColor.r, skinColor.g, skinColor.b, eyesClosedSR.color.a);
  209. SpriteRenderer eyebrowShapeSR = GetSpriteRendererBySlotName(cachedSpriteRenderers, "eyebrows");
  210. UpdateSprite(eyebrowShapeSR, eyebrowShape, hairColor, direction, isMainDirection, updateSprites);
  211. SpriteRenderer eyesSR = GetSpriteRendererBySlotName(cachedSpriteRenderers, "eye color");
  212. eyesSR.color = eyeColor;
  213. SpriteRenderer eyeshapeSR = GetSpriteRendererBySlotName(cachedSpriteRenderers, "eyes");
  214. UpdateSprite(eyeshapeSR, eyeShape, Color.white, direction, isMainDirection, updateSprites);
  215. //hair and headwear
  216. SpriteRenderer hairSlotSR = GetSpriteRendererBySlotName(cachedSpriteRenderers, "__hair slot");
  217. UpdateSprite(hairSlotSR, hair, hairColor, direction, isMainDirection, updateSprites);
  218. SpriteRenderer facialHairSlotSR = GetSpriteRendererBySlotName(cachedSpriteRenderers, "__facial hair slot");
  219. UpdateSprite(facialHairSlotSR, facialHair, hairColor, direction, isMainDirection, updateSprites);
  220. SpriteRenderer headwearSlotSR = GetSpriteRendererBySlotName(cachedSpriteRenderers, "__headwear slot");
  221. UpdateSprite(headwearSlotSR, headwear, headwearColor, direction, isMainDirection, updateSprites);
  222. //right arm
  223. SpriteRenderer rightShoulderSlotSR = GetSpriteRendererBySlotName(cachedSpriteRenderers, "__right shoulder slot");
  224. UpdateSprite(rightShoulderSlotSR, rightShoulder, rightShoulderColor, direction, isMainDirection, updateSprites);
  225. SpriteRenderer rightUpperArmSlotSR = GetSpriteRendererBySlotName(cachedSpriteRenderers, "__right upper arm slot");
  226. UpdateSprite(rightUpperArmSlotSR, rightUpperArmEquipment, rightUpperArmEquipmentColor, direction, isMainDirection, updateSprites);
  227. SpriteRenderer rightLowerArmSlotSR = GetSpriteRendererBySlotName(cachedSpriteRenderers, "__right lower arm slot");
  228. UpdateSprite(rightLowerArmSlotSR, rightLowerArmEquipment, rightLowerArmEquipmentColor, direction, isMainDirection, updateSprites);
  229. SpriteRenderer rightHandSlotSR = GetSpriteRendererBySlotName(cachedSpriteRenderers, "__right hand slot");
  230. UpdateSprite(rightHandSlotSR, rightHandEquipment, rightHandEquipmentColor, direction, isMainDirection, updateSprites);
  231. SpriteRenderer rightUpperArmSR = GetSpriteRendererBySlotName(cachedSpriteRenderers, "right upper arm");
  232. rightUpperArmSR.color = skinColor;
  233. SpriteRenderer rightLowerArmSR = GetSpriteRendererBySlotName(cachedSpriteRenderers, "right lower arm");
  234. rightLowerArmSR.color = skinColor;
  235. SpriteRenderer rightHandSR = GetSpriteRendererBySlotName(cachedSpriteRenderers, "right hand");
  236. rightHandSR.color = skinColor;
  237. //left arm
  238. SpriteRenderer leftShoulderSlotSR = GetSpriteRendererBySlotName(cachedSpriteRenderers, "__left shoulder slot");
  239. UpdateSprite(leftShoulderSlotSR, leftShoulder, leftShoulderColor, direction, isMainDirection, updateSprites);
  240. SpriteRenderer leftUpperArmSlotSR = GetSpriteRendererBySlotName(cachedSpriteRenderers, "__left upper arm slot");
  241. UpdateSprite(leftUpperArmSlotSR, leftUpperArmEquipment, leftUpperArmEquipmentColor, direction, isMainDirection, updateSprites);
  242. SpriteRenderer leftLowerArmSlotSR = GetSpriteRendererBySlotName(cachedSpriteRenderers, "__left lower arm slot");
  243. UpdateSprite(leftLowerArmSlotSR, leftLowerArmEquipment, leftLowerArmEquipmentColor, direction, isMainDirection, updateSprites);
  244. SpriteRenderer leftHandSlotSR = GetSpriteRendererBySlotName(cachedSpriteRenderers, "__left hand slot");
  245. UpdateSprite (leftHandSlotSR, leftHandEquipment, leftHandEquipmentColor, direction, isMainDirection, updateSprites);
  246. SpriteRenderer leftUpperArmSR = GetSpriteRendererBySlotName(cachedSpriteRenderers, "left upper arm");
  247. leftUpperArmSR.color = skinColor;
  248. SpriteRenderer leftLowerArmSR = GetSpriteRendererBySlotName(cachedSpriteRenderers, "left lower arm");
  249. leftLowerArmSR.color = skinColor;
  250. SpriteRenderer leftHandSR = GetSpriteRendererBySlotName(cachedSpriteRenderers, "left hand");
  251. leftHandSR.color = skinColor;
  252. //chest
  253. SpriteRenderer chestSR = GetSpriteRendererBySlotName(cachedSpriteRenderers, "chest");
  254. chestSR.color = skinColor;
  255. SpriteRenderer chestSlotSR = GetSpriteRendererBySlotName(cachedSpriteRenderers, "__chest slot");
  256. UpdateSprite(chestSlotSR, chestEquipment, chestEquipmentColor, direction, isMainDirection, updateSprites);
  257. //body
  258. SpriteRenderer bodySR = GetSpriteRendererBySlotName(cachedSpriteRenderers, "body");
  259. bodySR.color = skinColor;
  260. SpriteRenderer bodySlotSR = GetSpriteRendererBySlotName(cachedSpriteRenderers, "__body slot");
  261. UpdateSprite(bodySlotSR, bodyEquipment, bodyEquipmentColor, direction, isMainDirection, updateSprites);
  262. SpriteRenderer beltSlotSR = GetSpriteRendererBySlotName(cachedSpriteRenderers, "__belt slot");
  263. UpdateSprite(beltSlotSR, belt, beltColor, direction, isMainDirection, updateSprites);
  264. SpriteRenderer hipSlotSR = GetSpriteRendererBySlotName(cachedSpriteRenderers, "__hip slot");
  265. UpdateSprite(hipSlotSR, hipEquipment, hipEquipmentColor, direction, isMainDirection, updateSprites);
  266. //right leg
  267. SpriteRenderer rightUpperLegSR = GetSpriteRendererBySlotName(cachedSpriteRenderers, "right upper leg");
  268. rightUpperLegSR.color = skinColor;
  269. SpriteRenderer rightUpperLegSlotSR = GetSpriteRendererBySlotName(cachedSpriteRenderers, "__right upper leg slot");
  270. UpdateSprite(rightUpperLegSlotSR, rightUpperLegEquipment, rightUpperLegEquipmentColor, direction, isMainDirection, updateSprites);
  271. SpriteRenderer rightLowerLegSR = GetSpriteRendererBySlotName(cachedSpriteRenderers, "right lower leg");
  272. rightLowerLegSR.color = skinColor;
  273. SpriteRenderer rightLowerLegSlotSR = GetSpriteRendererBySlotName(cachedSpriteRenderers, "__right lower leg slot");
  274. UpdateSprite(rightLowerLegSlotSR, rightLowerLegEquipment, rightLowerLegEquipmentColor, direction, isMainDirection, updateSprites);
  275. SpriteRenderer rightFootSR = GetSpriteRendererBySlotName(cachedSpriteRenderers, "right foot");
  276. rightFootSR.color = skinColor;
  277. SpriteRenderer rightFootSlotSR = GetSpriteRendererBySlotName(cachedSpriteRenderers, "__right foot slot");
  278. UpdateSprite(rightFootSlotSR, rightFootEquipment, rightFootEquipmentColor, direction, isMainDirection, updateSprites);
  279. //left leg
  280. SpriteRenderer leftUpperLegSR = GetSpriteRendererBySlotName(cachedSpriteRenderers, "left upper leg");
  281. leftUpperLegSR.color = skinColor;
  282. SpriteRenderer leftUpperLegSlotSR = GetSpriteRendererBySlotName(cachedSpriteRenderers, "__left upper leg slot");
  283. UpdateSprite(leftUpperLegSlotSR, leftUpperLegEquipment, leftUpperLegEquipmentColor, direction, isMainDirection, updateSprites);
  284. SpriteRenderer leftLowerLegSR = GetSpriteRendererBySlotName(cachedSpriteRenderers, "left lower leg");
  285. leftLowerLegSR.color = skinColor;
  286. SpriteRenderer leftLowerLegSlotSR = GetSpriteRendererBySlotName(cachedSpriteRenderers, "__left lower leg slot");
  287. UpdateSprite(leftLowerLegSlotSR, leftLowerLegEquipment, leftLowerLegEquipmentColor, direction, isMainDirection, updateSprites);
  288. SpriteRenderer leftFootSR = GetSpriteRendererBySlotName(cachedSpriteRenderers, "left foot");
  289. leftFootSR.color = skinColor;
  290. SpriteRenderer leftFootSlotSR = GetSpriteRendererBySlotName(cachedSpriteRenderers, "__left foot slot");
  291. UpdateSprite(leftFootSlotSR, leftFootEquipment, leftFootEquipmentColor, direction, isMainDirection, updateSprites);
  292. }
  293. }
  294. private void UpdateSprite(SpriteRenderer spriteRenderer, Sprite sprite, Color color, string direction, bool isMainDirection, bool updateSprite)
  295. {
  296. #if UNITY_EDITOR
  297. if (spriteRenderer != null)
  298. {
  299. spriteRenderer.color = color;
  300. if (updateSprite)
  301. {
  302. if (isMainDirection)
  303. {
  304. spriteRenderer.sprite = sprite;
  305. }
  306. else
  307. {
  308. if (sprite != null)
  309. {
  310. string spriteName = sprite.name;
  311. spriteName = spriteName.Replace("down", direction);
  312. spriteName = spriteName.Replace("Down", direction.Substring(0,1).ToUpper() + direction.Substring(1, direction.Length - 1));
  313. string[] assets = UnityEditor.AssetDatabase.FindAssets(spriteName);
  314. for (int i = 0; i < assets.Length; i++)
  315. {
  316. string path = UnityEditor.AssetDatabase.GUIDToAssetPath(assets[0]);
  317. if (UnityEditor.AssetDatabase.GetMainAssetTypeAtPath(path) == typeof(Sprite))
  318. {
  319. Sprite loadedSprite = UnityEditor.AssetDatabase.LoadAssetAtPath<Sprite>(path);
  320. spriteRenderer.sprite = sprite;
  321. break;
  322. }
  323. else if (UnityEditor.AssetDatabase.GetMainAssetTypeAtPath(path) == typeof(Texture2D))
  324. {
  325. bool set = false;
  326. Object[] spriteArray = UnityEditor.AssetDatabase.LoadAllAssetsAtPath(path);
  327. for (int j = 0; j < spriteArray.Length; j++)
  328. {
  329. if (spriteArray[j].GetType() == typeof(Sprite) && spriteArray[j].name == spriteName)
  330. {
  331. spriteRenderer.sprite = spriteArray[j] as Sprite;
  332. set = true;
  333. break;
  334. }
  335. }
  336. if (set)
  337. {
  338. break;
  339. }
  340. }
  341. }
  342. }
  343. }
  344. }
  345. }
  346. #endif
  347. }
  348. private SpriteRenderer GetSpriteRendererBySlotName(SpriteRenderer[] cachedSpriteRenderers, string name)
  349. {
  350. for (int i = 0; i < cachedSpriteRenderers.Length; i++)
  351. {
  352. if (cachedSpriteRenderers[i].transform.parent.name == name)
  353. {
  354. return cachedSpriteRenderers[i];
  355. }
  356. }
  357. return null;
  358. }
  359. }