예제 #1
0
    private void DrawRoads()
    {
        // 도로를 그림
        foreach (var road in roads)
        {
            CityUI city1 = cityUIs[road.city1];
            CityUI city2 = cityUIs[road.city2];

            RoadUI roadUI = Instantiate(roadUIPrafab);
            roadUI.name = road.ToString();
            roadUI.transform.SetParent(roadHolder, false);
            roadUI.SetRoad(road);

            // 방향
            Vector2 dir = city2.transform.position - city1.transform.position;

            // 위치
            Vector2 roadCenter = (city1.transform.position + city2.transform.position) / 2;
            roadUI.transform.position = roadCenter;

            // 각도
            float angle    = Mathf.Atan2(dir.y, dir.x) * 180 / 3.14f;
            float distance = dir.magnitude;
            roadUI.transform.rotation = Quaternion.Euler(0, 0, angle);

            // 길이
            RectTransform roadRectTransform = roadUI.GetComponent <RectTransform>();
            Vector2       sizeDelta         = roadRectTransform.sizeDelta;
            sizeDelta.x = distance / canvas.transform.localScale.x;
            roadRectTransform.sizeDelta = sizeDelta;

            // 도로 완료
            roadUI.gameObject.SetActive(true);
        }
    }
예제 #2
0
파일: Options.cs 프로젝트: kvakvs/TMPE
        /// <summary>
        /// Invoked on options change to refresh the main menu and possibly update the labels for
        /// a new language. Takes a second, very slow.
        /// </summary>
        internal static void RebuildMenu()
        {
            if (ModUI.Instance != null)
            {
                Log._Debug("Rebuilding the TM:PE menu...");
                ModUI.Instance.RebuildMenu();

                // TM:PE main button also needs to be uidated
                if (ModUI.Instance.MainMenuButton != null)
                {
                    ModUI.Instance.MainMenuButton.UpdateButtonImageAndTooltip();
                }

                RoadUI.ReloadTexturesWithTranslation();
                TrafficLightTextures.ReloadTexturesWithTranslation();
                TMPELifecycle.Instance.TranslationDatabase.ReloadTutorialTranslations();
                TMPELifecycle.Instance.TranslationDatabase.ReloadGuideTranslations();
            }
            else
            {
                Log._Debug("Rebuilding the TM:PE menu: ignored, ModUI is null");
            }
        }