コード例 #1
0
ファイル: Ghost.cs プロジェクト: Danko37/City_Builder
    public void Update()
    {
        gameObject.transform.position = Cursor._transform.position;

        if (Cursor._hit.collider != null && Cursor._hit.collider.gameObject.layer != 8)
        {
            GhostRenderer.enabled = true;
            if (Input.GetMouseButtonDown(0))
            {
                Gas            gas            = typeOfBuildForConstraction as Gas;
                minerals       minerals       = typeOfBuildForConstraction as minerals;
                gas_silos      gas_Silos      = typeOfBuildForConstraction as gas_silos;
                minerals_silos minerals_Silos = typeOfBuildForConstraction as minerals_silos;

                if (gas)
                {
                    Instantiate(buildings[0], gameObject.transform.position, Quaternion.identity);
                    _DestroyGhost();
                    Destroy(gameObject);
                }
                if (minerals)
                {
                    Instantiate(buildings[1], gameObject.transform.position, Quaternion.identity);
                    _DestroyGhost();
                    Destroy(gameObject);
                }

                if (gas_Silos)
                {
                    Instantiate(buildings[2], gameObject.transform.position, Quaternion.identity);
                    _DestroyGhost();
                    Destroy(gameObject);
                }

                if (minerals_Silos)
                {
                    Instantiate(buildings[3], gameObject.transform.position, Quaternion.identity);
                    _DestroyGhost();
                    Destroy(gameObject);
                }
            }
        }
        else
        {
            GhostRenderer.enabled = false;
        }
    }
コード例 #2
0
ファイル: Shop.cs プロジェクト: Danko37/City_Builder
    void Resource_request(AbstractBuild build)
    {
        Gas            gas            = build as Gas;
        minerals       minerals       = build as minerals;
        gas_silos      gas_Silos      = build as gas_silos;
        minerals_silos minerals_Silos = build as minerals_silos;

        //проверка ресурсов в зависимости от типа постройки

        if (gas)
        {
            if (int.Parse(resourses._mineralsValue.text) >= int.Parse(ShopInfo.price.text) & !build_Panel.IsBuilding)//ресурсов достаточно
            {
                resourses.Set_Minerals(-int.Parse(ShopInfo.price.text));
                startBuild(Gas_.GetComponent <Image>(), ShopInfo.buildT, selectedBuild);
            }
            else if (!(int.Parse(resourses._mineralsValue.text) >= int.Parse(ShopInfo.price.text)))//если нет ресурсов
            {
                AlertText.fontSize = 18;
                AlertText.text     = "Not enough resources!!!";
                StartCoroutine("ShowAlert");
            }
            else if (build_Panel.IsBuilding)//если уже что то строится
            {
                AlertText.fontSize = 20;
                AlertText.text     = "Building Process...";
                StartCoroutine("ShowAlert");
            }
        }


        if (gas_Silos)
        {
            if (int.Parse(resourses._mineralsValue.text) >= int.Parse(ShopInfo.price.text) & build_Panel.IsBuilding != true)
            {
                resourses.Set_Minerals(-int.Parse(ShopInfo.price.text));
                startBuild(gasSilos_.GetComponent <Image>(), ShopInfo.buildT, selectedBuild);
            }
            else if (!(int.Parse(resourses._mineralsValue.text) >= int.Parse(ShopInfo.price.text)))
            {
                AlertText.fontSize = 18;
                AlertText.text     = "Not enough resources!!!";
                StartCoroutine("ShowAlert");
            }
            else if (build_Panel.IsBuilding)
            {
                AlertText.fontSize = 20;
                AlertText.text     = "Building Process...";
                StartCoroutine("ShowAlert");
            }
        }


        if (minerals)
        {
            if (int.Parse(resourses._gasValue.text) >= int.Parse(ShopInfo.price.text) & build_Panel.IsBuilding != true)
            {
                resourses.Set_Gas(-int.Parse(ShopInfo.price.text));
                startBuild(minShop.GetComponent <Image>(), ShopInfo.buildT, selectedBuild);
            }
            else if (!(int.Parse(resourses._gasValue.text) >= int.Parse(ShopInfo.price.text)))
            {
                AlertText.fontSize = 18;
                AlertText.text     = "Not enough resources!!!";
                StartCoroutine("ShowAlert");
            }
            else if (build_Panel.IsBuilding)
            {
                AlertText.fontSize = 20;
                AlertText.text     = "Building Process...";
                StartCoroutine("ShowAlert");
            }
        }

        if (minerals_Silos)
        {
            if (int.Parse(resourses._gasValue.text) >= int.Parse(ShopInfo.price.text) & !build_Panel.IsBuilding)
            {
                resourses.Set_Gas(-int.Parse(ShopInfo.price.text));
                startBuild(mineralsSilos_.GetComponent <Image>(), ShopInfo.buildT, selectedBuild);
            }
            else if (!(int.Parse(resourses._gasValue.text) >= int.Parse(ShopInfo.price.text)))
            {
                AlertText.fontSize = 18;
                AlertText.text     = "Not enough resources!!!";
                StartCoroutine("ShowAlert");
            }
            else if (build_Panel.IsBuilding)
            {
                AlertText.fontSize = 20;
                AlertText.text     = "Building Process...";
                StartCoroutine("ShowAlert");
            }
        }
    }