Esempio n. 1
0
    public void IControlUpdate()
    {
        manager.modeStringEnum = GameManager.ModeString.Camera_Control;

        if (control.AL())
        {
            if (manager.titleActive)
            {
                manager.DestroyDioReset();
                TitleScreenMode.Instance().SetupMode();
                return;
            }
            SelectObjectMode.Instance().SetupMode();
        }

        float time = TOD_Sky.Instance.Cycle.Hour;

        time += control.RHX() * manager.lastDeltaTime * 3;
        if (time > 24)
        {
            time -= 24;
        }
        if (time < 0)
        {
            time += 24;
        }

        TOD_Sky.Instance.Cycle.Hour = time;
    }
Esempio n. 2
0
 public static TitleScreenMode Instance()
 {
     if (instance == null)
     {
         instance = new TitleScreenMode();
         manager  = SL.Get <GameManager>();
         control  = SL.Get <IVRControl>();
         shared   = SL.Get <WorldBuilderMain>();
     }
     return(instance);
 }
Esempio n. 3
0
    public void ButtonActivate(Node n, bool shift = false)
    {
        manager.startPoint.position = n.transform.position;
        manager.startPoint.rotation = n.transform.rotation;
        Vector3 forward = manager.startPoint.forward;

        forward.y = 0;
        manager.startPoint.forward = forward;

        PlayerPrefs.SetFloat("StartPosX", manager.startPoint.position.x);
        PlayerPrefs.SetFloat("StartPosY", manager.startPoint.position.y);
        PlayerPrefs.SetFloat("StartPosZ", manager.startPoint.position.z);

        PlayerPrefs.SetFloat("StartRotX", manager.startPoint.rotation.x);
        PlayerPrefs.SetFloat("StartRotY", manager.startPoint.rotation.y);
        PlayerPrefs.SetFloat("StartRotZ", manager.startPoint.rotation.z);
        PlayerPrefs.SetFloat("StartRotW", manager.startPoint.rotation.w);

        PlayerPrefs.Save();

        TitleScreenMode.Instance().SetupMode();
    }
Esempio n. 4
0
    private void RightDetailText()
    {
        if (mode == ExploreMode.Instance())
        {
            string   timeText = "Viewer Mode\nLeft and Right change the Time of Day\n\n";
            TimeSpan timeSpan = TimeSpan.FromHours(TOD_Sky.Instance.Cycle.Hour);
            timeText += string.Format("{0:D2}:{1:D2}", (timeSpan.Hours % 12) + 1, timeSpan.Minutes) + (((int)timeSpan.Hours / 12) == 1 ? " PM" : " AM");

            timeText += "\n\nLeft Hand Trigger to Exit ";

            rightText.text = timeText;
            return;
        }

        string text = "Current Mode: " + modeStringEnum.ToString().Replace("_", " ") + "\n";

        if (mode == TitleScreenMode.Instance())
        {
            text += "\n\nQuality Level: " + QualitySettings.names[quality] + "\n";
        }

        if (WorldBuilderMain.currentZone != null)
        {
            if (WorldBuilderMain.currentZone.mapType != MapTag.None)
            {
                text += "Tag: " + WorldBuilderMain.currentZone.mapType.ToString() + "\n";
            }
            else
            {
                text += "\n";
            }

            if (WorldBuilderMain.currentZone.name != "")
            {
                text += "Name: " + WorldBuilderMain.currentZone.name + "\n";
            }
            else
            {
                text += "\n";
            }
        }
        else
        {
            text += "\n";
        }

        if (builderModes.Contains(modeStringEnum))
        {
            text += "ZoneID: " + WorldBuilderMain.currentZoneId + "\n";
            text += "Working Layer: " + WorldBuilderMain.currentLayer.ToString() + "\n";
            text += "Lock Mode: ";
            if (PlaceObjectMode.posLock == PlaceObjectMode.PosLock.Grid)
            {
                text += "Grid Locked\n";
            }
            else if (PlaceObjectMode.posLock == PlaceObjectMode.PosLock.RotLock)
            {
                text += "Rotation Locked\n";
            }
            else
            {
                text += "Unlocked\n";
            }
        }

        text += DateTime.Now.ToString("hh:mm tt") + " - Last Save: " + (lastSaveTime == null ? "NA" : ((DateTime)lastSaveTime).ToString("hh:mm tt"));

        rightText.text = text;
    }
Esempio n. 5
0
    void Start()
    {
        KeyboardMode.Hook();

        int i = Application.dataPath.LastIndexOf("/");

        Globals.WORLDPATH = Application.dataPath.Substring(0, i) + "/Worlds/";
        Directory.CreateDirectory(Globals.WORLDPATH);

        Globals.BACKUPS = Application.dataPath.Substring(0, i) + "/BackupFiles/";
        Directory.CreateDirectory(Globals.BACKUPS);

        Globals.BUNDLEPATH = Application.dataPath.Substring(0, i) + "/ArtPacks/";
        Directory.CreateDirectory(Globals.BUNDLEPATH);

        Globals.TEMPFOLDER = Application.dataPath.Substring(0, i) + "/DWTemp/";
        Directory.CreateDirectory(Globals.TEMPFOLDER);

        Globals.TODPATH = Application.dataPath.Substring(0, i) + "/tod2.tbl";

        Globals.LEGACYPATH = Application.dataPath.Substring(0, i) + "/all.tbl";

        Globals.FAVPATH = Application.dataPath.Substring(0, i) + "/dw.fav";
        favorites       = TODV2.LoadGeneric <List <int> >(Globals.FAVPATH);
        if (favorites == default(List <int>))
        {
            favorites = new List <int>();
        }

        if (Application.isEditor)
        {
            AssetBundleCreateRequest a = AssetBundleManager.Polygon_Adventure;
        }
        else
        {
            AssetBundleManager.Prewarm();
        }

        SL.Add <GameManager>(this);
        SL.Add <Keyboard>(keyboard);

        hmd = rig.GetComponent <IVRHmd>();
        hmd.Init();
        SL.Add <IVRHmd>(hmd);

        control = rig.GetComponent <IVRControl>();
        control.Init(this);
        SL.Add <IVRControl>(control);

        poserWidget.SetActive(false);

        if (control.GetControlStyle() == ControlerStyle.ViveWand)
        {
            lb1 = "Down";
            lb2 = "Up";
            rb1 = "Down";
            rb2 = "Up";
        }
        else if (control.GetControlStyle() == ControlerStyle.RiftTouch)
        {
            lb1 = "X";
            lb2 = "Y";
            rb1 = "A";
            rb2 = "B";
        }

        activeFM.Init(this);
        SL.Add <FileManagerV2>(activeFM);

        SetPrefs();
        DeactivateStarter();

        mode = WorldBuilderMain.Instance();

        if (startPoint.position == Vector3.zero)
        {
            CalibrationMode.Instance().SetupMode();
        }
        else
        {
            TitleScreenMode.Instance().SetupMode();
        }
    }
Esempio n. 6
0
    public void ButtonActivate(Node n, bool shift = false)
    {
        if (n.nodeType == "prefab")
        {
            if (shift)
            {
                if (!manager.favorites.Contains(n.todID))
                {
                    manager.favorites.Add(n.todID);
                    manager.SetToolTip("Added " + n.fileName + " to favorites.");
                }
                else
                {
                    manager.favorites.Remove(n.todID);
                    manager.SetToolTip("Removed " + n.fileName + " from favorites.");
                }
                TODV2.SaveGeneric <List <int> >(Globals.FAVPATH, manager.favorites);
            }
            else
            {
                SpawnNewObject(n);
                ChoosePlaceMode();
            }
        }
        else if (n.nodeType == "zone")
        {
            int id       = -1;
            int lastChar = n.fileName.IndexOf(":");
            if (lastChar < 0 || !int.TryParse(n.fileName.Substring(0, lastChar), out id))
            {
                id = currentWorld.zones.Max(x => x.zoneId) + 1;
            }


            if (shift)
            {
                currentZoneId = id;
                LoadZone();
                manager.activeFM.LoadZoneList();
                return;
            }

            SpawnNewObject(n);
            TextMeshPro tmp = selectedObject.GetComponentInChildren <TextMeshPro>();
            if (tmp)
            {
                tmp.text = id.ToString();
            }
            manager.activeFM.CloseFolder();
            ChoosePlaceMode();
        }
        else if (n.nodeType == "button")
        {
            switch (n.fileName)
            {
            case "QUALITYUP":
                manager.quality++;
                if (manager.quality >= QualitySettings.names.Length)
                {
                    manager.quality = QualitySettings.names.Length - 1;
                }
                QualitySettings.SetQualityLevel(manager.quality, true);
                manager.SetToolTip(QualitySettings.names[manager.quality] + " Setting Selected (For this session only)");
                return;

            case "QUALITYDOWN":
                manager.quality--;
                if (manager.quality < 0)
                {
                    manager.quality = 0;
                }
                QualitySettings.SetQualityLevel(manager.quality, true);
                manager.SetToolTip(QualitySettings.names[manager.quality] + " Setting Selected (For this session only)");
                return;

            case "EXPLORE":
                ExploreMode.Instance().SetupMode();
                return;

            case "LIGHTSETUP":
                LightSetupMode.Instance().SetupMode();
                return;

            case "RESETLIGHT":
                TOD_Sky.Instance.Day.LightIntensity   = 1;
                TOD_Sky.Instance.Night.LightIntensity = 5;
                TOD_Sky.Instance.Cycle.Hour           = 12;
                PlayerPrefs.SetFloat("DayIntensity", TOD_Sky.Instance.Day.LightIntensity);
                PlayerPrefs.SetFloat("NightIntensity", TOD_Sky.Instance.Night.LightIntensity);
                PlayerPrefs.SetFloat("TimeOfDay", TOD_Sky.Instance.Cycle.Hour);
                PlayerPrefs.Save();
                return;

            case "VIEWPOINT":
                manager.SetToolTip("Coming Soon");
                return;

            case "UpFolder":
                manager.activeFM.CloseFolder();
                return;

            case "NextPage":
                manager.activeFM.NextPage();
                break;

            case "LastPage":
                manager.activeFM.LastPage();
                break;

            case "FavTest":
                manager.activeFM.LoadFavList(manager.favorites);
                break;

            case "ZONES":
                manager.activeFM.LoadZoneList();
                break;


            //WristTop
            case "SAVE":
                SaveWorld();
                break;

            case "ZONENAME":
                manager.keyboard.gameObject.SetActive(true);
                manager.builderObjects.SetActive(false);
                manager.Diorama.SetActive(false);
                manager.StartCoroutine(ZoneNameWait());
                break;

            case "ZONETAG":
                CycleZoneTag();
                break;

            case "UNLOCKLOCK":
                PlaceObjectMode.posLock = PlaceObjectMode.PosLock.Free;
                manager.SetToolTip("Position Unlocked");
                break;

            case "ROTATIONLOCK":
                PlaceObjectMode.posLock = PlaceObjectMode.PosLock.RotLock;
                manager.SetToolTip("Rotation Locked");
                break;

            case "GRIDLOCK":
                PlaceObjectMode.posLock = PlaceObjectMode.PosLock.Grid;
                if (selectedObject)
                {
                    Vector3 e = selectedObject.transform.localRotation.eulerAngles;
                    objAngleY = Mathf.RoundToInt(e.y / 90) * 90;
                    objAngleX = 0f;
                    objAngleZ = 0f;
                    selectedObject.transform.localRotation = Quaternion.Euler(new Vector3(objAngleX, objAngleY, objAngleZ));
                }
                manager.SetToolTip("Grid Mode Activated");
                break;

            case "LAYERDOWN":
                ChangeLayer(-1);
                break;

            case "LAYERVISIBLE":
                manager.SetToolTip("Coming Soon");
                break;

            case "LAYERUP":
                ChangeLayer(1);
                break;

            //Botton Menu
            case "SAVEEXIT":
                SaveWorld();
                manager.DestroyDioReset();
                TitleScreenMode.Instance().SetupMode();
                break;

            case "SPAWNMODE":
                SaveWorld();
                AdventureTester.Instance().SetupMode();
                manager.SetToolTip("Play Test Mode Activated");
                break;

            case "TOGGLEGRID":
                manager.grid.SetActive(!manager.grid.activeInHierarchy);
                manager.SetToolTip("Grid " + (manager.grid.activeInHierarchy ? "Visible" : "Hidden"));
                break;

            //Front Menu
            case "EXITNOSAVE":
                Application.Quit();
                return;


            //case "Clear All Viewpoints":
            //    currentZone.viewpoints.Clear();
            //    break;

            //case "Show Help Panels On":
            //    manager.showControls = false;
            //    PlayerPrefs.SetInt("BM Show Controls", (manager.showControls ? 0 : 1));
            //    PlayerPrefs.Save();

            //    break;
            //case "Show Help Panels Off":
            //    manager.showControls = true;
            //    PlayerPrefs.SetInt("BM Show Controls", (manager.showControls ? 0 : 1));
            //    PlayerPrefs.Save();

            //    break;

            //case "SetView":
            //    SetView();
            //    //manager.UpdateLog("View Saved");
            //    break;
            //case "LoadView":
            //    LoadView();
            //    break;
            default:
                n.ActivateNode();
                break;
            }
        }
        else
        {
            n.ActivateNode();
        }
    }