예제 #1
0
    public void ResetField()
    {
        GameObject           Pg    = GameObject.Find("Playground");
        PlaygroundParameters param = Pg.GetComponent <PlaygroundParameters>();

        param.N = N;
        param.M = M;

        // On retire tout
        ClearPlayground();

        Pg.GetComponent <GridLayoutGroup>().constraintCount = N;

        CreateSlotFrontier(Pg, "Field/SlotCorner", "Frontiers/Corner", 6, 0);
        CreateSlotEdge(0, true);

        for (int i = 1; i < N - 1; i++)
        {
            CreateSlotFrontier(Pg, "Field/SlotWall", "Frontiers/Wall", 0, 1);
        }
        CreateSlotFrontier(Pg, "Field/SlotCorner", "Frontiers/Corner", 0, 0);
        CreateSlotEdge(0, false);

        for (int j = 1; j < M - 1; j++)
        {
            int type = Mathf.Min(j + 1, 4);
            CreateSlotFrontier(Pg, "Field/SlotWall", "Frontiers/Wall", 1, type);
            CreateSlotEdge(type, true);
            for (int i = 1; i < N - 1; i++)
            {
                CreateSlotComponent(Pg, "Field/SlotComponent", "", 0);                             //empty component
            }
            CreateSlotFrontier(Pg, "Field/SlotWall", "Frontiers/Wall", 3, type);
            CreateSlotEdge(type, false);
        }

        CreateSlotFrontier(Pg, "Field/SlotCorner", "Frontiers/Corner", 5, 5);
        CreateSlotEdge(5, true);

        for (int i = 1; i < N - 1; i++)
        {
            CreateSlotFrontier(Pg, "Field/SlotWall", "Frontiers/Wall", 2, 4);
        }

        CreateSlotFrontier(Pg, "Field/SlotCorner", "Frontiers/Corner", 2, 5);
        CreateSlotEdge(5, false);

        GameObject.FindGameObjectWithTag("GameController").GetComponent <GameController>().InitializePlayground();
    }
예제 #2
0
    static public void SaveToString(bool reset = false)
    {
        GameObject PG = GameObject.Find("Playground");

        PGdata = "";
        PlaygroundParameters parameters = FindObjectOfType <PlaygroundParameters>();

        PGdata = JsonUtility.ToJson(parameters) + "\n";

        GameController gc   = GameObject.FindGameObjectWithTag("GameController").GetComponent <GameController>();
        Transform      deck = gc.GetComponent <GameController>().Deck.transform;

        foreach (Transform slot in deck)
        {
            BaseComponent component = slot.GetComponentInChildren <BaseComponent>();
            if (component != null && component.name != "" && !reset)
            {
                string path = component.PrefabPath;
                PGdata += path + "\n";
                PGdata += JsonUtility.ToJson(component) + "\n";
            }
            else
            {
                PGdata += "empty\n";
            }
        }

        foreach (Transform slot in PG.transform)
        {
            BaseComponent component = slot.GetComponentInChildren <BaseComponent>();
            if (component != null && component.name != "")
            {
                string path = component.PrefabPath;
                PGdata += path + "\n";
                PGdata += JsonUtility.ToJson(component) + "\n";
            }
            else
            {
                PGdata += "empty\n";
                PGdata += "\n";
            }
        }
    }