Example #1
0
    private void LocationSelected()
    {
        gameObject.GetComponent <UIManager>().GetStartAndFinishPoint();
        gameObject.GetComponent <UIManager>().IsPanelState();

        switch (_floorManager.currentFloor)
        {
        case FloorManager.Floor.First:
            _floorManager.Floor0Management();
            break;

        case FloorManager.Floor.Second:
            _floorManager.Floor1Management();
            break;

        case FloorManager.Floor.Third:
            _floorManager.Floor2Management();
            break;

        default:
            throw new ArgumentOutOfRangeException();
        }
        Variables.Instance().isLocationSelected = true;
    }
    private void LocationSettings()
    {
        if (Variables.Instance().isLocationSelected)
        {
            switch (_uiManager.StartObject.tag)
            {
            case "Floor0_Places":
                _floorManager.Floor0Management();
                break;

            case "Floor1_Places":
                _floorManager.Floor1Management();
                break;

            case "Floor2_Places":
                _floorManager.Floor2Management();
                break;
            }

            //TODO LOCATION SELECT REMOVE BEFORE LOCATIONS
//            if (_firstLocationSelect)
//            {
//                switch (_uiManager.tag1)
//                {
//                    case "Floor0_Places":
//                       GameObject.Find("Floor0").transform.GetChild(0).GetChild(_index1).GetChild(0).gameObject.SetActive(false);
//                        break;
//                    case "Floor1_Places":
//                        GameObject.Find("Floor1").transform.GetChild(0).GetChild(_index1).GetChild(0).gameObject.SetActive(false);
//                        break;
//                    case "Floor2_Places":
//                        GameObject.Find("Floor2").transform.GetChild(0).GetChild(_index1).GetChild(0).gameObject.SetActive(false);
//                        break;
//                }
//                switch (_uiManager.tag2)
//                {
//                    case "Floor0_Places":
//                        GameObject.Find("Floor0").transform.GetChild(0).GetChild(_index2).GetChild(0).gameObject.SetActive(false);
//                        break;
//                    case "Floor1_Places":
//                        GameObject.Find("Floor1").transform.GetChild(0).GetChild(_index2).GetChild(0).gameObject.SetActive(false);
//                        break;
//                    case "Floor2_Places":
//                        GameObject.Find("Floor2").transform.GetChild(0).GetChild(_index2).GetChild(0).gameObject.SetActive(false);
//                        break;
//                }
//            }


            //TODO CONTROL FLOOR
            if (!_uiManager.StartObject.CompareTag(_uiManager.FinishObject.tag)) //DIFFERENT FLOOR CONTROL
            {
                if (_uiManager.StartObject.CompareTag("Floor0_Places"))
                {
                    //MERDİVENLER SIKINTILI
                    //EN YAKIN MERDİVENE YÖNLENDİR
                    GameObject stair1 = GameObject.Find("Giris-Merdiven").gameObject;
                    GameObject stair2 = GameObject.Find("Kantin-Merdiven").gameObject;
                    Vector3    dist1  = _uiManager.StartObject.transform.position - stair1.transform.position;
                    Vector3    dist2  = _uiManager.FinishObject.transform.position - stair2.transform.position;
                    _pointRoot = GameObject.Find("Floor0").transform.GetChild(1).gameObject;
                    if (dist1.sqrMagnitude < dist2.sqrMagnitude)
                    {
                        Debug.Log("giris daha yakin");
                        StartPosition.position = _pointRoot.transform
                                                 .GetChild(_uiManager.StartObject.transform.GetSiblingIndex()).transform.position;

                        TargetPosition.position = _pointRoot.transform.GetChild(stair1.transform.GetSiblingIndex())
                                                  .transform.position;
                    }
                    else
                    {
                        Debug.Log("kantin daha yakin");
                        StartPosition.position = _pointRoot.transform
                                                 .GetChild(_uiManager.StartObject.transform.GetSiblingIndex()).transform.position;
                        TargetPosition.position = _pointRoot.transform.GetChild(stair2.transform.GetSiblingIndex())
                                                  .transform.position;
                    }
                }
            }
            else
            {
                if (_uiManager.StartObject.CompareTag("Floor0_Places"))
                {
                    _pointRoot = GameObject.Find("Floor0").transform.GetChild(1).gameObject;
                    //FLOOR 0 ROOT PLACE
                }
                else if (_uiManager.StartObject.CompareTag("Floor1_Places"))
                {
                    _pointRoot = GameObject.Find("Floor1").transform.GetChild(1).gameObject;
                    //FLOOR 1 ROOT PLACE
                }
                else if (_uiManager.StartObject.CompareTag("Floor2_Places"))
                {
                    _pointRoot = GameObject.Find("Floor2").transform.GetChild(1).gameObject;
                    //FLOOR 2 ROOT PLACE
                }

                StartPosition.position = _pointRoot.transform
                                         .GetChild(_uiManager.StartObject.transform.GetSiblingIndex()).transform.position;


                TargetPosition.position = _pointRoot.transform
                                          .GetChild(_uiManager.FinishObject.transform.GetSiblingIndex()).transform.position;
            }

            _uiManager.StartObject.transform.GetChild(0).gameObject.SetActive(true);
            _uiManager.FinishObject.transform.GetChild(0).gameObject.SetActive(true);


            _index1 = _uiManager.StartLocIndex;
            _index2 = _uiManager.FinishLocIndex;


            FindPath(StartPosition.position, TargetPosition.position);//Find a path to the goal


            _gridReference.DrawPath();

            Variables.Instance().isLocationSelected = false;

            _firstLocationSelect = true;
        }
    }