예제 #1
0
    public void LoadQuadroData(QuadroData data)
    {
        List <PistaFrame> frames = new List <PistaFrame>();

        foreach (QuadroData.Item item in data.items)
        {
            InventoryItem inv = GlobalProfile.getInstance().GetItems(textureManager).Find(new System.Predicate <InventoryItem>((InventoryItem i) => {
                return(i.itemID == item.id);
            }));
            frames.Add(inventory.InsertPistaFrame(item.position, inv));
        }

        foreach (QuadroData.Connection conn in data.connections)
        {
            GameObject     lineConection = Instantiate(connectionPrefab);
            ItemConnection connection    = lineConection.GetComponent <ItemConnection>();
            connection.connectorSelector = connectionPanel;
            connection.objectA           = frames[conn.itemA].outerPin;
            connection.objectB           = frames[conn.itemB].outerPin;
            connection.isOnMouse         = false;
            connection.menu      = menu;
            connection.status    = conn.status;
            connection.connector = conn.connectionName;
            lineConection.transform.SetParent(lineGroup.transform, false);
        }
    }
예제 #2
0
    public void SaveQuadro()
    {
        QuadroData data = CreateQuadroData();

        SaveGameSystem.SaveGame(data, "slot" + GlobalProfile.Slot + "_quadro");
        GlobalProfile.getInstance().SaveGame();
    }
예제 #3
0
    public QuadroData CreateQuadroData()
    {
        QuadroData data = new QuadroData();

        PistaFrame[] pistas = content.transform.GetComponentsInChildren <PistaFrame>();

        foreach (PistaFrame pista in pistas)
        {
            QuadroData.Item i = new QuadroData.Item();
            i.name        = pista.item.displayName;
            i.id          = pista.item.itemID;
            i.description = pista.item.description;
            i.position    = pista.transform.position;
            data.items.Add(i);
        }

        ItemConnection[] connections = content.transform.Find("LinhasGroup").transform.GetComponentsInChildren <ItemConnection>();

        foreach (ItemConnection conn in connections)
        {
            QuadroData.Connection connect = new QuadroData.Connection();
            connect.itemA          = -1;
            connect.itemB          = -1;
            connect.status         = conn.status;
            connect.connectionName = conn.connector;

            for (int i = 0; i < pistas.Length; i++)
            {
                if (pistas[i] == conn.GetPistaA())
                {
                    connect.itemA = i;
                }
                if (pistas[i] == conn.GetPistaB())
                {
                    connect.itemB = i;
                }
                if (connect.itemA != -1 && connect.itemB != -1)
                {
                    break;
                }
            }
            data.connections.Add(connect);
        }

        return(data);
    }