Untitled

 avatar
unknown
plain_text
a year ago
5.8 kB
1
Indexable
public void OffOrOpenRegionClick(bool turn)
    {
        for (int i = 0; i < allRegion.Count; i++)
        {
            allRegion[i].CloseThisObjectClickable(true);

        }
        if (turn)
        {
            for (int i = 0; i < allRegion.Count; i++)
            {
                if (allRegion[i].attackerID != "")
                {
                    if (allRegion[i].attackerID != GameManager.Instance.activeUser.steamid)
                    {
                        allRegion[i].clickable = false;
                        for (int j = 0; j < allRegion[i].canAttack.Count; j++)
                        {
                            Region newRegions = allRegion[i].canAttack[j].GetComponent<Region>();
                            if (newRegions.attackerID == "")
                            {
                                newRegions.SetTurn(false);
                                newRegions.CloseThisObjectClickable(false);
                                for (int k = 0; k < newRegions.canAttack.Count; k++)
                                {
                                    newRegions.canAttack[k].GetComponent<Region>().SetTurn(false);
                                    newRegions.canAttack[k].GetComponent<Region>().CloseThisObjectClickable(false);
                                }
                            }
                        }
                    }
                    else
                    {
                        allRegion[i].SetTurn(false);
                    }
                }
            }
        }
        else
        {
            for (int i = 0; i < allRegion.Count; i++)
            {
                allRegion[i].CloseThisObjectClickable(true);
                allRegion[i].SetTurn(false);
            }
        }
    }

    public void ChooseTreeArea(bool turn)
    {
        if (turn)
        {
            for (int i = 0; i < allRegion.Count; i++)
            {
                if (allRegion[i].attackerID == "")
                {
                    allRegion[i].SetAllObjectVisible(false);
                    allRegion[i].SetTurn(false);
                }
            }

            for (int i = 0; i < allRegion.Count; i++)
            {
                if (allRegion[i].attackerID == GameManager.Instance.activeUser.steamid)
                {
                    allRegion[i].SetTurn(false);
                    allRegion[i].SetAllObjectVisible(true);
                    List<Region> canAttackableRegions = new List<Region>();
                    for (int j = 0; j < allRegion[i].canAttack.Count; j++)
                    {
                        Region newRegions = allRegion[i].canAttack[j].GetComponent<Region>();
                        newRegions.SetTurn(true);
                        newRegions.CloseThisObjectClickable(true);
                        GameObject newArrow = Instantiate(ServiceProvider.GetPrefabLibrary.arrowPrefab);
                        newArrow.GetComponent<ArrowRenderer>().SetPositions(
                            allRegion[i].gameObject.transform.Find("CreatePoint").transform.position,
                            newRegions.gameObject.transform.Find("CreatePoint").transform.position);
                        newArrow.SetActive(false);
                        canAttackableRegions.Add(newRegions);
                        newRegions.arrow = newArrow;
                    }

                    float zPos = (allRegion[i].transform.position.z - 1);

                    LeanTween.move(Camera.main.gameObject,
                        new Vector3(allRegion[i].transform.position.x, 5.63f, zPos), 0.6f).setDelay(1.5f).setOnStart(
                        () =>
                        {
                            CameraMovement.Instance.CanMove = false;
                        }).setOnComplete(
                        () =>
                        {
                            foreach (Region items in canAttackableRegions)
                            {
                                items.arrow.SetActive(true);
                            }
                        });
                    break;
                }
            }
        }
        else
        {
            for (int i = 0; i < allRegion.Count; i++)
            {
                allRegion[i].CloseThisObjectClickable(true);
                allRegion[i].SetTurn(false);
            }
        }
    }
    public void ChooseAttack(bool turn)
    {
        for (int i = 0; i < allRegion.Count; i++)
        {
            if (allRegion[i].attackerID != GameManager.Instance.activeUser.steamid)
            {
                allRegion[i].SetAllObjectVisible(false);
            }
            else
            {
                allRegion[i].SetAllObjectVisible(true);
            }
            allRegion[i].SetTurn(false);
        }
        
        if (turn)
        {
            for (int i = 0; i < allRegion.Count; i++)
            {
                if (allRegion[i].attackerID == GameManager.Instance.activeUser.steamid)
                {
                    for (int j = 0; j < allRegion[i].canAttack.Count; j++)
                    {
                        if (allRegion[i].canAttack[j].GetComponent<Region>().attackerID != GameManager.Instance.activeUser.steamid)
                        {
                            allRegion[i].canAttack[j].GetComponent<Region>().SetTurn(true);
                            allRegion[i].canAttack[j].GetComponent<Region>().CloseThisObjectClickable(true);
                        }
                    }
                }
            }
        }
        else
        {
            for (int i = 0; i < allRegion.Count; i++)
            {
                allRegion[i].CloseThisObjectClickable(true);
                allRegion[i].SetTurn(false);
            }
        }
    }