Пример #1
0
    void CheckItFell()
    {
        try
        {
            if (pin.up.y < 0.7f)
            {
                RollBall.ballSound.Stop();
                if (pinDown == false)
                {
                    pinsDown.Play();
                    pinDown = true;
                }
                scoreGameObject.Add(point);
                gameObject.GetComponent <Collider>().enabled = false;


                Destroy(attachedPin, 5);
                waitSignTime = 5;
                waitTextGameObject.displayMessage();
            }
        }
        catch
        {
            Debug.Log("Pin Went To Dead Zone!");
        }
    }
Пример #2
0
    public void Harvest()
    {
        if (placementScript.isPlacing == false)
        {
            if (canTree == true)
            {
                isHarvesting           = true;
                treeScript.isHarvested = true;

                treeTimer += Time.deltaTime;
                if (treeTimer >= treeTime)
                {
                    scoreScript.Add(0, 1);
                    treeTimer = 0f;
                }
            }
            else
            {
                isHarvesting = false;
                if (currentTree != null)
                {
                    treeScript.isHarvested = false;
                }
            }
            if (canStone == true)
            {
                isHarvesting            = true;
                stoneScript.isHarvested = true;

                stoneTimer += Time.deltaTime;
                if (stoneTimer >= stoneTime)
                {
                    scoreScript.Add(1, 1);
                    stoneTimer = 0f;
                }
            }
            else
            {
                isHarvesting = false;
                if (currentStone != null)
                {
                    stoneScript.isHarvested = false;
                }
            }
        }
    }
Пример #3
0
    // Update is called once per frame
    void Update()
    {
        if (isPlacing == true)
        {
            if (isGold == true || limitScript.gold == limitScript.goldLimit)
            {
                if (requiredStone <= scoreScript.stone && requiredWood <= scoreScript.wood && requiredGold <= scoreScript.gold)
                {
                    if (previousPos != new Vector3(Mathf.Round(Input.mousePosition.x), Mathf.Round(Input.mousePosition.y), 0f))
                    {
                        canPlace = true;

                        currentObject = Instantiate(tileFaded, map.transform);

                        currentObject.transform.position = Camera.main.ScreenToWorldPoint(Input.mousePosition);
                        pos = currentObject.transform.position;
                        currentObject.transform.position = new Vector3(Mathf.Round(pos.x), Mathf.Round(pos.y), 0f);
                        pos = currentObject.transform.position;


                        if (type == "Wall")
                        {
                            if (limitScript.walls >= limitScript.wallLimit)
                            {
                                canPlace = false;
                            }
                        }
                        else if (type == "Gold")
                        {
                            if (limitScript.gold >= limitScript.goldLimit)
                            {
                                canPlace = false;
                            }
                        }
                        else if (type == "Mine")
                        {
                            if (limitScript.mines >= limitScript.mineLimit)
                            {
                                canPlace = false;
                            }
                        }


                        if (isBig == true)
                        {
                            if (occupied.Contains(currentObject.transform.position) || occupied.Contains(new Vector3(currentObject.transform.position.x, currentObject.transform.position.y + 1f, currentObject.transform.position.z)) || occupied.Contains(new Vector3(currentObject.transform.position.x + 1f, currentObject.transform.position.y + 1f, currentObject.transform.position.z)) || occupied.Contains(new Vector3(currentObject.transform.position.x + 1f, currentObject.transform.position.y, currentObject.transform.position.z)))
                            {
                                canPlace = false;
                            }
                        }
                        else
                        {
                            if (occupied.Contains(currentObject.transform.position))
                            {
                                canPlace = false;
                            }
                        }

                        if (canPlace == false)
                        {
                            Destroy(currentObject);
                            currentObject = Instantiate(tileRed, map.transform);

                            currentObject.transform.position = Camera.main.ScreenToWorldPoint(Input.mousePosition);
                            pos = currentObject.transform.position;
                            currentObject.transform.position = new Vector3(Mathf.Round(pos.x), Mathf.Round(pos.y), 0f);
                        }

                        Destroy(previousObject);
                        previousObject = currentObject;
                        previousPos    = previousObject.transform.position;
                    }
                    if (Input.GetMouseButtonDown(0))
                    {
                        if (canPlace == true)
                        {
                            Destroy(currentObject);
                            currentObject = Instantiate(tile, map.transform);

                            currentObject.transform.position = Camera.main.ScreenToWorldPoint(Input.mousePosition);
                            pos = currentObject.transform.position;
                            currentObject.transform.position = new Vector3(Mathf.Round(pos.x), Mathf.Round(pos.y), 0f);

                            occupied.Add(currentObject.transform.position);

                            if (isBig == true)
                            {
                                occupied.Add(new Vector3(currentObject.transform.position.x, currentObject.transform.position.y + 1f, currentObject.transform.position.z));
                                occupied.Add(new Vector3(currentObject.transform.position.x + 1f, currentObject.transform.position.y, currentObject.transform.position.z));
                                occupied.Add(new Vector3(currentObject.transform.position.x + 1f, currentObject.transform.position.y + 1f, currentObject.transform.position.z));
                            }

                            currentObject = null;

                            scoreScript.Add(0, -requiredWood);
                            scoreScript.Add(1, -requiredStone);
                            scoreScript.Add(2, -requiredGold);

                            if (type == "Wall")
                            {
                                limitScript.walls += 1;
                            }
                            else if (type == "Gold")
                            {
                                limitScript.gold += 1;
                            }
                            else if (type == "Mine")
                            {
                                limitScript.mines += 1;
                            }

                            previousPos = new Vector3(1000f, 1000f, 0f);
                            isPlacing   = false;
                            isPlacing   = true;
                        }
                    }
                    else if (Input.GetMouseButtonDown(1))
                    {
                        Destroy(currentObject);
                        previousPos = new Vector3(1000f, 1000f, 0f);
                        isPlacing   = false;
                    }
                }
                else
                {
                    Destroy(currentObject);
                    previousPos = new Vector3(1000f, 1000f, 0f);
                    isPlacing   = false;
                }
            }
        }
    }