Initial commit
This commit is contained in:
5764 files changed
+464615
No files matched your search
@@ -0,0 +1,207 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
public class ObjectLoader : MonoBehaviour
|
||||
{
|
||||
[SerializeField] private Canvas canvas;
|
||||
|
||||
private string levelData = "kS29,1_40_2_62_3_255_4_0_5_0,kS30,1_0_2_19_3_200_4_0_5_0,kS31,1_255_2_255_3_255_4_0_5_0,kS32,1_255_2_255_3_255_4_0_5_0,kS33,1_255_2_255_3_255_4_0_5_0,kS34,1_255_2_255_3_255_4_0_5_0,kS35,1_255_2_255_3_255_4_0_5_0,kS36,1_255_2_255_3_255_4_0_5_0,kS37,1_255_2_255_3_255_4_0_5_0,kA13,0,kA15,0,kA16,0,kA14,,kA6,0,kA7,0,kA2,0,kA3,0,kA8,0,kA4,0,kA9,0,kA10,0,kA11,0;1,29,2,135,3,135,7,158,8,3,9,255,10,10;1,30,2,135,3,165,7,96,8,0,9,185,10,10;1,8,2,525,3,15;1,39,2,975,3,6;1,8,2,1005,3,15;1,8,2,1485,3,15;1,8,2,1455,3,15;1,1,2,1515,3,15;1,9,2,1545,3,2;1,9,2,1575,3,2;1,20,2,1575,3,13;1,16,2,1515,3,44;1,1,2,1635,3,45;1,9,2,1605,3,2;1,9,2,1635,3,2;1,9,2,1665,3,2;1,7,2,1635,3,15;1,9,2,1695,3,2;1,19,2,1695,3,19;1,16,2,1635,3,74;1,9,2,1725,3,2;1,1,2,1755,3,75;1,7,2,1755,3,45;1,7,2,1755,3,15;1,16,2,1755,3,104;1,8,2,2385,3,15;1,8,2,2415,3,15;1,3,2,2595,3,15;1,2,2,2625,3,15;1,2,2,2655,3,15;1,2,2,2685,3,15;1,2,2,2715,3,15;1,2,2,2745,3,15;1,2,2,2775,3,15;1,3,2,2805,3,15,4,1;1,9,2,2835,3,2;1,9,2,2865,3,2;1,9,2,2895,3,2;1,20,2,2865,3,13;1,3,2,2925,3,15;1,2,2,2955,3,15;1,2,2,2985,3,15;1,2,2,3015,3,15;1,2,2,3045,3,15;1,2,2,3075,3,15;1,8,2,3075,3,45;1,2,2,3105,3,15;1,2,2,3135,3,15;1,2,2,3165,3,15;1,2,2,3195,3,15;1,3,2,3225,3,15,4,1;1,9,2,3255,3,2;1,9,2,3285,3,2;1,21,2,3285,3,7;1,9,2,3315,3,2;1,3,2,3345,3,45;1,2,2,3345,3,15,6,-90;1,2,2,3375,3,45;1,5,2,3375,3,15;1,2,2,3405,3,45;1,2,2,3435,3,45;1,2,2,3465,3,45;1,2,2,3495,3,45;1,5,2,3405,3,15;1,5,2,3435,3,15;1,5,2,3465,3,15;1,5,2,3495,3,15;1,2,2,3525,3,45;1,5,2,3525,3,15;1,2,2,3585,3,45;1,2,2,3555,3,45;1,5,2,3585,3,15;1,5,2,3555,3,15;1,8,2,3555,3,75;1,2,2,3645,3,45;1,2,2,3675,3,45;1,2,2,3615,3,45;1,5,2,3615,3,15;1,5,2,3645,3,15;1,5,2,3675,3,15;1,27,2,3615,3,165;1,9,2,3765,3,2;1,9,2,3795,3,2;1,3,2,3735,3,45,4,1;1,2,2,3735,3,15,6,90;1,5,2,3705,3,15;1,2,2,3705,3,45;1,9,2,3825,3,2;1,9,2,3885,3,2;1,9,2,3855,3,2;1,40,2,3855,3,83;1,17,2,3855,3,71,5,1;1,18,2,3855,3,19;1,9,2,3915,3,2;1,9,2,3945,3,2;1,9,2,3975,3,2;1,40,2,3975,3,113;1,17,2,3975,3,101,5,1;1,9,2,4005,3,2;1,9,2,4035,3,2;1,9,2,4065,3,2;1,9,2,4095,3,2;1,21,2,4035,3,7;1,40,2,4095,3,143;1,17,2,4095,3,131,5,1;1,9,2,4125,3,2;1,9,2,4155,3,2;1,9,2,4185,3,2;1,9,2,4215,3,2;1,9,2,4245,3,2;1,9,2,4275,3,2;1,19,2,4209,3,19;1,40,2,4215,3,173;1,17,2,4215,3,161,5,1;1,9,2,4305,3,2;1,9,2,4335,3,2;1,9,2,4365,3,2;1,9,2,4395,3,2;1,40,2,4335,3,203;1,17,2,4335,3,191,5,1;1,18,2,4305,3,19;1,9,2,4425,3,2;1,9,2,4455,3,2;1,9,2,4485,3,2;1,20,2,4455,3,13;1,6,2,4455,3,165,6,-90;1,7,2,4485,3,165,6,-90;1,2,2,4515,3,135,6,-90;1,2,2,4515,3,105,6,-90;1,2,2,4515,3,75,6,-90;1,2,2,4515,3,45,6,-90;1,2,2,4515,3,15,6,-90;1,2,2,4575,3,165;1,5,2,4545,3,135;1,5,2,4575,3,135;1,5,2,4575,3,15;1,5,2,4545,3,15;1,5,2,4545,3,45;1,5,2,4545,3,75;1,5,2,4575,3,105;1,5,2,4545,3,105;1,5,2,4575,3,75;1,5,2,4575,3,45;1,2,2,4545,3,165;1,2,2,4515,3,165;1,2,2,4605,3,165;1,2,2,4635,3,165;1,2,2,4665,3,165;1,2,2,4695,3,165;1,5,2,4605,3,135;1,5,2,4635,3,135;1,5,2,4665,3,135;1,5,2,4695,3,135;1,5,2,4695,3,15;1,5,2,4665,3,15;1,5,2,4635,3,15;1,5,2,4605,3,15;1,5,2,4605,3,75;1,5,2,4605,3,105;1,5,2,4605,3,45;1,5,2,4635,3,45;1,5,2,4665,3,45;1,5,2,4695,3,45;1,5,2,4695,3,105;1,5,2,4665,3,105;1,5,2,4635,3,105;1,5,2,4635,3,75;1,5,2,4665,3,75;1,5,2,4695,3,75;1,8,2,4635,3,195;1,40,2,4695,3,233;1,8,2,4665,3,195;1,8,2,4695,3,195;1,40,2,4665,3,233;1,2,2,4725,3,165;1,2,2,4755,3,165;1,2,2,4785,3,165;1,5,2,4725,3,135;1,5,2,4755,3,135;1,5,2,4785,3,135;1,5,2,4785,3,15;1,5,2,4755,3,15;1,5,2,4725,3,15;1,5,2,4725,3,45;1,5,2,4755,3,45;1,5,2,4785,3,45;1,5,2,4785,3,75;1,5,2,4785,3,105;1,5,2,4755,3,105;1,5,2,4725,3,105;1,5,2,4725,3,75;1,5,2,4755,3,75;1,8,2,4725,3,195;1,2,2,4815,3,165;1,5,2,4815,3,135;1,5,2,4815,3,105;1,5,2,4815,3,75;1,5,2,4815,3,45;1,5,2,4815,3,15;1,8,2,4875,3,195;1,2,2,4845,3,165;1,2,2,4875,3,165;1,5,2,4845,3,15;1,5,2,4875,3,15;1,5,2,4875,3,135;1,5,2,4845,3,135;1,5,2,4845,3,105;1,5,2,4845,3,75;1,5,2,4875,3,75;1,5,2,4875,3,45;1,5,2,4875,3,105;1,5,2,4845,3,45;1,40,2,4905,3,233;1,40,2,4935,3,233;1,8,2,4905,3,195;1,8,2,4935,3,195;1,8,2,4965,3,195;1,2,2,4905,3,165;1,2,2,4935,3,165;1,2,2,4965,3,165;1,2,2,4995,3,165;1,5,2,4905,3,15;1,5,2,4935,3,15;1,5,2,4965,3,15;1,5,2,4995,3,15;1,5,2,4995,3,105;1,5,2,4965,3,105;1,5,2,4965,3,135;1,5,2,4935,3,135;1,5,2,4905,3,135;1,5,2,4905,3,45;1,5,2,4935,3,45;1,5,2,4965,3,45;1,5,2,4995,3,45;1,5,2,4995,3,135;1,5,2,4995,3,75;1,5,2,4965,3,75;1,5,2,4935,3,75;1,5,2,4905,3,75;1,5,2,4905,3,105;1,5,2,4935,3,105;1,2,2,5025,3,165;1,2,2,5055,3,165;1,5,2,5025,3,15;1,5,2,5055,3,15;1,5,2,5085,3,15;1,5,2,5085,3,45;1,5,2,5085,3,75;1,5,2,5085,3,105;1,5,2,5055,3,135;1,5,2,5025,3,135;1,5,2,5025,3,105;1,5,2,5025,3,45;1,5,2,5055,3,45;1,5,2,5055,3,75;1,5,2,5055,3,105;1,5,2,5025,3,75;1,3,2,5085,3,165,4,1;1,4,2,5085,3,135,4,1;1,5,2,5175,3,15;1,5,2,5145,3,15;1,5,2,5115,3,15;1,5,2,5115,3,45;1,5,2,5115,3,75;1,5,2,5115,3,105;1,5,2,5175,3,45;1,5,2,5145,3,45;1,5,2,5145,3,75;1,5,2,5145,3,105;1,5,2,5175,3,105;1,5,2,5175,3,75;1,2,2,5115,3,135;1,2,2,5145,3,135;1,2,2,5175,3,135;1,5,2,5295,3,
Line truncated
|
||||
//private string levelData = "kS1,40,kS2,125,kS3,255,kS4,0,kS5,102,kS6,255,kA1,0;1,1,2,345,3,135;1,2,2,405,3,135;1,3,2,465,3,135;1,4,2,525,3,135;1,5,2,585,3,135;1,6,2,645,3,135;1,7,2,705,3,135;1,8,2,765,3,135;1,39,2,825,3,126;1,9,2,885,3,122;1,40,2,945,3,143;1,35,2,1005,3,122;1,36,2,1065,3,135;1,10,2,1125,3,135;1,11,2,1185,3,135;1,12,2,1245,3,135;1,13,2,1305,3,135;1,15,2,1365,3,141;1,16,2,1425,3,134;1,17,2,1485,3,127;1,18,2,1545,3,139;1,19,2,1605,3,139;1,20,2,1665,3,133;1,21,2,1725,3,127;1,41,2,1785,3,153;1,22,2,1845,3,135;1,24,2,1905,3,135;1,23,2,1965,3,135;1,25,2,2025,3,135;1,26,2,2085,3,135;1,27,2,2145,3,135;1,29,2,2205,3,135,7,244,8,255,9,255,10,0.5;1,30,2,2265,3,135,7,244,8,255,9,255,10,0.5;1,33,2,2385,3,135;1,32,2,2445,3,135;";
|
||||
|
||||
public static Dictionary<string, string> SplitGd(string input, string splitKey)
|
||||
{
|
||||
var parts = input.Split(new[] { splitKey }, System.StringSplitOptions.None);
|
||||
var result = new Dictionary<string, string>();
|
||||
|
||||
for (int i = 0; i < parts.Length - 1; i += 2)
|
||||
{
|
||||
result[parts[i]] = parts[i + 1];
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
void Start()
|
||||
{
|
||||
var objs = levelData.Split(";")[1..^1];
|
||||
foreach (var objData in objs)
|
||||
{
|
||||
var parsedObjData = SplitGd(objData, ",");
|
||||
Debug.Log(string.Join(", ", parsedObjData.Select(kvp => $"{kvp.Key}: {kvp.Value}")));
|
||||
|
||||
GameObject obj = new();
|
||||
obj.transform.parent = canvas.transform;
|
||||
if (parsedObjData.ContainsKey("6")) obj.transform.rotation = Quaternion.Euler(0f, 0f, -float.Parse(parsedObjData["6"]));
|
||||
obj.name = parsedObjData["1"];
|
||||
|
||||
|
||||
Vector2 scale = Vector2.one;
|
||||
if (parsedObjData.ContainsKey("4")) scale.x = parsedObjData["4"] == "1" ? -1 : 1;
|
||||
if (parsedObjData.ContainsKey("5")) scale.y = parsedObjData["5"] == "1" ? -1 : 1;
|
||||
obj.transform.localScale = scale;
|
||||
|
||||
RectTransform objRect = obj.AddComponent<RectTransform>();
|
||||
objRect.anchorMin = new Vector2(0, 0);
|
||||
objRect.anchorMax = new Vector2(0, 0);
|
||||
objRect.anchoredPosition = new(
|
||||
(float.Parse(parsedObjData["2"]) - 15f) * (100f / 30f) + 50f,
|
||||
(float.Parse(parsedObjData["3"]) - 15f) * (100f / 30f) + 50f
|
||||
);
|
||||
|
||||
Image objSprite = obj.AddComponent<Image>();
|
||||
switch (int.Parse(parsedObjData["1"]))
|
||||
{
|
||||
case 1:
|
||||
objSprite.sprite = Resources.Load<Sprite>("GJ_GameSheet/square_01_001");
|
||||
break;
|
||||
case 2:
|
||||
objSprite.sprite = Resources.Load<Sprite>("GJ_GameSheet/square_02_001");
|
||||
break;
|
||||
case 3:
|
||||
objSprite.sprite = Resources.Load<Sprite>("GJ_GameSheet/square_03_001");
|
||||
break;
|
||||
case 4:
|
||||
objSprite.sprite = Resources.Load<Sprite>("GJ_GameSheet/square_04_001");
|
||||
break;
|
||||
case 5:
|
||||
objSprite.sprite = Resources.Load<Sprite>("GJ_GameSheet/square_05_001");
|
||||
break;
|
||||
case 6:
|
||||
objSprite.sprite = Resources.Load<Sprite>("GJ_GameSheet/square_06_001");
|
||||
break;
|
||||
case 7:
|
||||
objSprite.sprite = Resources.Load<Sprite>("GJ_GameSheet/square_07_001");
|
||||
break;
|
||||
case 8:
|
||||
objSprite.sprite = Resources.Load<Sprite>("GJ_GameSheet/spike_01_001");
|
||||
break;
|
||||
case 39:
|
||||
objSprite.sprite = Resources.Load<Sprite>("GJ_GameSheet/spike_02_001");
|
||||
objRect.SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical, 40f);
|
||||
break;
|
||||
case 9:
|
||||
objSprite.sprite = Resources.Load<Sprite>("GJ_GameSheet/pit_03_001");
|
||||
objSprite.color = Color.black;
|
||||
break;
|
||||
case 40:
|
||||
objRect.SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical, 40f);
|
||||
objRect.SetSizeWithCurrentAnchors(RectTransform.Axis.Horizontal, 90f);
|
||||
objSprite.sprite = Resources.Load<Sprite>("GJ_GameSheet/plank_01_color_001");
|
||||
objSprite.color = Color.black;
|
||||
|
||||
GameObject subSpriteObj = new();
|
||||
subSpriteObj.transform.parent = obj.transform;
|
||||
subSpriteObj.transform.localPosition = Vector2.zero;
|
||||
subSpriteObj.transform.localScale = Vector2.one;
|
||||
RectTransform subSpriteRect = subSpriteObj.AddComponent<RectTransform>();
|
||||
subSpriteRect.SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical, 50f);
|
||||
Image subSprite = subSpriteObj.AddComponent<Image>();
|
||||
subSprite.sprite = Resources.Load<Sprite>("GJ_GameSheet/plank_01_001");
|
||||
break;
|
||||
case 35:
|
||||
objSprite.sprite = Resources.Load<Sprite>("GJ_GameSheet/bump_01_001");
|
||||
objRect.SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical, 16f);
|
||||
break;
|
||||
case 36:
|
||||
objSprite.sprite = Resources.Load<Sprite>("GJ_GameSheet/ring_01_001");
|
||||
break;
|
||||
case 10:
|
||||
objSprite.sprite = Resources.Load<Sprite>("GJ_GameSheet02/portal_01_front_001");
|
||||
objRect.SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical, 250f);
|
||||
break;
|
||||
case 11:
|
||||
objSprite.sprite = Resources.Load<Sprite>("GJ_GameSheet02/portal_02_front_001");
|
||||
objRect.SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical, 250f);
|
||||
break;
|
||||
case 12:
|
||||
objSprite.sprite = Resources.Load<Sprite>("GJ_GameSheet02/portal_03_front_001");
|
||||
objRect.SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical, 250f);
|
||||
objRect.SetSizeWithCurrentAnchors(RectTransform.Axis.Horizontal, 120f);
|
||||
break;
|
||||
case 13:
|
||||
objSprite.sprite = Resources.Load<Sprite>("GJ_GameSheet02/portal_04_front_001");
|
||||
objRect.SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical, 250f);
|
||||
objRect.SetSizeWithCurrentAnchors(RectTransform.Axis.Horizontal, 120f);
|
||||
break;
|
||||
case 15:
|
||||
objSprite.sprite = Resources.Load<Sprite>("GJ_GameSheet/rod_01_001");
|
||||
objRect.SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical, 140f);
|
||||
objRect.SetSizeWithCurrentAnchors(RectTransform.Axis.Horizontal, 20f);
|
||||
break;
|
||||
case 16:
|
||||
objSprite.sprite = Resources.Load<Sprite>("GJ_GameSheet/rod_02_001");
|
||||
objRect.SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical, 90f);
|
||||
objRect.SetSizeWithCurrentAnchors(RectTransform.Axis.Horizontal, 20f);
|
||||
break;
|
||||
case 17:
|
||||
objSprite.sprite = Resources.Load<Sprite>("GJ_GameSheet/rod_03_001");
|
||||
objRect.SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical, 40);
|
||||
objRect.SetSizeWithCurrentAnchors(RectTransform.Axis.Horizontal, 20f);
|
||||
break;
|
||||
case 18:
|
||||
objSprite.sprite = Resources.Load<Sprite>("GJ_GameSheet/d_spikes_01_001");
|
||||
objRect.SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical, 126.66f);
|
||||
objRect.SetSizeWithCurrentAnchors(RectTransform.Axis.Horizontal, 425f);
|
||||
break;
|
||||
case 19:
|
||||
objSprite.sprite = Resources.Load<Sprite>("GJ_GameSheet/d_spikes_02_001");
|
||||
objRect.SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical, 126.66f);
|
||||
objRect.SetSizeWithCurrentAnchors(RectTransform.Axis.Horizontal, 330f);
|
||||
break;
|
||||
case 20:
|
||||
objSprite.sprite = Resources.Load<Sprite>("GJ_GameSheet/d_spikes_03_001");
|
||||
objRect.SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical, 89.334f);
|
||||
objRect.SetSizeWithCurrentAnchors(RectTransform.Axis.Horizontal, 235f);
|
||||
break;
|
||||
case 21:
|
||||
objSprite.sprite = Resources.Load<Sprite>("GJ_GameSheet/d_spikes_04_001");
|
||||
objRect.SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical, 46.672f);
|
||||
objRect.SetSizeWithCurrentAnchors(RectTransform.Axis.Horizontal, 120f);
|
||||
break;
|
||||
case 41:
|
||||
objSprite.sprite = Resources.Load<Sprite>("GJ_GameSheet/chain_01_001");
|
||||
objRect.SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical, 230f);
|
||||
objRect.SetSizeWithCurrentAnchors(RectTransform.Axis.Horizontal, 80f);
|
||||
break;
|
||||
case 22:
|
||||
objSprite.sprite = Resources.Load<Sprite>("GJ_GameSheet02/edit_eeNoneBtn_001");
|
||||
break;
|
||||
case 24:
|
||||
objSprite.sprite = Resources.Load<Sprite>("GJ_GameSheet02/edit_eeFTBtn_001");
|
||||
objRect.SetSizeWithCurrentAnchors(RectTransform.Axis.Horizontal, 60f);
|
||||
break;
|
||||
case 23:
|
||||
objSprite.sprite = Resources.Load<Sprite>("GJ_GameSheet02/edit_eeFBBtn_001");
|
||||
objRect.SetSizeWithCurrentAnchors(RectTransform.Axis.Horizontal, 60f);
|
||||
break;
|
||||
case 25:
|
||||
objSprite.sprite = Resources.Load<Sprite>("GJ_GameSheet02/edit_eeFLBtn_001");
|
||||
objRect.SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical, 60f);
|
||||
break;
|
||||
case 26:
|
||||
objSprite.sprite = Resources.Load<Sprite>("GJ_GameSheet02/edit_eeFRBtn_001");
|
||||
objRect.SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical, 60f);
|
||||
break;
|
||||
case 27:
|
||||
objSprite.sprite = Resources.Load<Sprite>("GJ_GameSheet02/edit_eeSUBtn_001");
|
||||
objRect.SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical, 40f);
|
||||
break;
|
||||
case 29:
|
||||
case 30:
|
||||
objSprite.sprite = Resources.Load<Sprite>("GJ_GameSheet02/edit_eTintCol01Btn_001");
|
||||
objRect.SetSizeWithCurrentAnchors(RectTransform.Axis.Horizontal, 80f);
|
||||
break;
|
||||
case 33:
|
||||
objSprite.sprite = Resources.Load<Sprite>("GJ_GameSheet02/edit_eGhostDBtn_001");
|
||||
objRect.SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical, 65f);
|
||||
break;
|
||||
case 32:
|
||||
objSprite.sprite = Resources.Load<Sprite>("GJ_GameSheet02/edit_eGhostEBtn_001");
|
||||
objRect.SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical, 65f);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user