Esempio n. 1
0
    private void updateAuctionPanel()
    {
        Debug.Log("Update Auction Panel ___________________________");
        App            app         = UnityEngine.Object.FindObjectOfType <App>();
        int            playerIndex = app.GetHumanIndex();
        Nation         player      = State.getNations()[playerIndex];
        AuctionHandler auction     = State.getAuctionHandler();
        Nation         item        = State.getNations()[auction.getIndexOfCurrentItem()];

        // Debug.Log(playerIndex);
        //TextMeshProUGUI currentPlayerBid = currentBidAmount.GetComponent<TextMeshProUGUI>();
        currentBidAmount.text = auction.getPlayerBid(playerIndex).ToString();
        if (auction.getPlayerBid(playerIndex) > 0 && !auction.getIfPlayerPass(playerIndex))
        {
            decreaseBid.interactable = true;
        }
        else
        {
            decreaseBid.interactable = false;
        }

        if (player.ColonialPoints <= State.CurrentColonyAuctionBid || player.RecognizingTheseClaims.Contains(item.getIndex()) ||
            auction.getIfPlayerPass(playerIndex) || player.landForces.Strength < 2)
        {
            increaseBid.interactable = false;
        }
        else
        {
            increaseBid.interactable = true;
        }

        biddingTable.ClearRows();
        for (int i = 0; i < auction.getBiddingOrder().Count; i++)
        {
            int    currNationIndex = auction.getBiddingOrder()[i];
            Nation currNat         = State.getNations()[currNationIndex];

            TableRow newRow = Instantiate <TableRow>(biddingRow);
            newRow.gameObject.SetActive(true);
            newRow.preferredHeight = 30;
            newRow.name            = currNat.getIndex().ToString();
            biddingTable.AddRow(newRow);
            biddingConnector.SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical, (biddingTable.transform as RectTransform).rect.height);

            int currNatIndex = currNat.getIndex();
            //   Debug.Log("Current Nation: " + currNatIndex);
            int currentNatBid = auction.getPlayerBid(currNatIndex);

            newRow.Cells[0].GetComponentInChildren <Text>().text = currentNatBid.ToString();
            newRow.Cells[1].GetComponentInChildren <Text>().text = currNat.getNationName().ToString();
            // Transform res = newRow.Cells[2].transform.GetChild(0);

            UIObject3D flagImage = newRow.Cells[2].GetComponentInChildren <UIObject3D>();
            // flagImage.sprite = Resources.Load("Flags/" + currNat.getNationName().ToString(), typeof(Sprite)) as Sprite;
            GameObject flagPrefab = Instantiate(Resources.Load <GameObject>("Flags/Prefabs/" + currNat.getNationName()));
            flagImage.ObjectPrefab   = flagPrefab.transform;
            flagImage.RenderScale    = 0;
            flagImage.LightIntensity = 1;
            Transform statusTransform = newRow.Cells[3].transform.GetChild(0);
            Image     statusImage     = statusTransform.GetComponent <Image>();
            if (auction.getIfPlayerPass(currNatIndex) == true)
            {
                statusImage.sprite = Resources.Load("Sprites/GUI/Dark_Red_x", typeof(Sprite)) as Sprite;
            }
            else
            {
                statusImage.sprite = Resources.Load("Sprites/GUI/AuctionHammer", typeof(Sprite)) as Sprite;
            }
        }
        if (auction.getPlayerBid(playerIndex) > State.CurrentColonyAuctionBid)
        {
            bid.interactable = true;
        }
        else
        {
            bid.interactable = false;
        }
        TextMeshProUGUI passButtonText = pass.GetComponentInChildren <TextMeshProUGUI>();

        if (auction.getIfPlayerPass(playerIndex) || auction.getHighestBidderSoFar() == playerIndex)
        {
            passButtonText.SetText("Continue");
        }
        else
        {
            passButtonText.SetText("Pass");
        }
    }
Esempio n. 2
0
    private void showTradeResults(Nation player)
    {
        Debug.Log("Preparing Trade Results");
        Market market = State.market;
        TradeResults.SetActive(true);
        tradeResultsEnter.Play();
        float imports = player.getImportValues();
        float exports = player.getExportValue();
        imports = (float)Math.Round(imports, 2);
        exports = (float)Math.Round(exports, 2);
        float difference = Mathf.Abs(imports - exports);
        difference = (float)Math.Round(difference, 2);

        TextMeshProUGUI _importExportDif = importExportDif.GetComponent<TextMeshProUGUI>();
        if (imports > exports)
        {
            _importExportDif.SetText("Imports: " + imports + " Exports: " + exports + " Deficit: " + difference);
            _importExportDif.color = new Color32(255, 0, 0, 255);
        }
        else
        {
            _importExportDif.SetText("Imports: " + imports + " Exports: " + exports + " Surplus: " + difference);
            _importExportDif.color = new Color32(0, 204, 0, 255);
        }

        ImportsResultTable.ClearRows();
        foreach(Signal imp in player.getImports())
        {
            TableRow newRow = Instantiate<TableRow>(resSoldRow);

            newRow.gameObject.SetActive(true);
            newRow.preferredHeight = 25;
            ImportsResultTable.AddRow(newRow);
            importsConnector.SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical, (ImportsResultTable.transform as RectTransform).rect.height);

            newRow.Cells[0].GetComponentInChildren<Text>().text = "Bought";
            //Image
            Transform res = newRow.Cells[1].transform.GetChild(0);
            Image resImg = res.GetComponent<Image>();
            resImg.preserveAspect = true;
            if (imp.getRes())
            {
                resImg.sprite = Resources.Load("Resource/" + imp.getResourceType().ToString(), typeof(Sprite)) as Sprite;
            }
            else
            {
                resImg.sprite = Resources.Load("FinishedGoods/" + imp.getGoodType().ToString(), typeof(Sprite)) as Sprite;

            }
            newRow.Cells[2].GetComponentInChildren<Text>().text = "from";
            Transform flag = newRow.Cells[3].transform.GetChild(0);
            //Image flagImg = flag.GetComponent<Image>();
            UIObject3D flagObject = flag.GetComponent<UIObject3D>();
           // flagImg.preserveAspect = true;
            Nation owner = State.getNations()[imp.getOwnerIndex()];
            GameObject flagPrefab = Instantiate(Resources.Load<GameObject>("Flags/Prefabs/" + owner.getNationName()));
            flagObject.ObjectPrefab = flagPrefab.transform;
            // flagImg.sprite = Resources.Load("Flags/" + owner.getName().ToString(), typeof(Sprite)) as Sprite;
            newRow.Cells[4].GetComponentInChildren<Text>().text = "for " + imp.getPriceSold().ToString("0.0");

        }

        ExportsResultTable.ClearRows();
        foreach (Signal exp in player.getExports())
        {
            TableRow newRow = Instantiate<TableRow>(resSoldRow);
            newRow.gameObject.SetActive(true);
            newRow.preferredHeight = 25;
            ExportsResultTable.AddRow(newRow);
            exportConnector.SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical, (ExportsResultTable.transform as RectTransform).rect.height);

            newRow.Cells[0].GetComponentInChildren<Text>().text = "Sold";
            Transform res = newRow.Cells[1].transform.GetChild(0);
            Image resImg = res.GetComponent<Image>();
            resImg.preserveAspect = true;
            if (exp.getRes())
            {
                resImg.sprite = Resources.Load("Resource/" + exp.getResourceType().ToString(), typeof(Sprite)) as Sprite;
            }
            else
            {
                resImg.sprite = Resources.Load("FinishedGoods/" + exp.getGoodType().ToString(), typeof(Sprite)) as Sprite;

            }
            newRow.Cells[2].GetComponentInChildren<Text>().text = "to";
            Transform flag = newRow.Cells[3].transform.GetChild(0);
            //Image flagImg = flag.GetComponent<Image>();
            //flagImg.preserveAspect = true;
            Nation owner = State.getNations()[exp.getOwnerIndex()];
            UIObject3D flagObject = flag.GetComponent<UIObject3D>();
            Debug.Log(owner.getNationName());
            GameObject flagPrefab = Instantiate(Resources.Load<GameObject>("Flags/Prefabs/" + owner.getNationName()));
            flagObject.ObjectPrefab = flagPrefab.transform;
            //flagImg.sprite = Resources.Load("Flags/" + owner.getName().ToString(), typeof(Sprite)) as Sprite;
            newRow.Cells[4].GetComponentInChildren<Text>().text = "for " + exp.getPriceSold().ToString("0.0");
        }

        Debug.Log("Finished Preparing Trade Results");

        //  State.advanceGamePhase();
    }