Exemplo n.º 1
0
 internal void Populate(UniverseData universeData, EditableData editableData, WUIMenuBuildEditObjects parent)
 {
     _data.universeData         = universeData;
     _data.editableData         = editableData;
     _components.nameLabel.text = editableData.name;
     _components.parent         = parent;
 }
Exemplo n.º 2
0
        public MainForm()
        {
            InitializeComponent();

            Assembly a = typeof(MainForm).Assembly;

            Text += " v" + a.GetName().Version;

            mUniverseData   = new UniverseData();
            mStartingSeason = 0;

            comboBoxSavedGame.Items.Add("(None)");
            for (int i = 0; i < mUniverseData.SavedGames.Count; i++)
            {
                comboBoxSavedGame.Items.Add(mUniverseData.SavedGames[i].GameName);
            }
            if (mUniverseData.SavedGames.Count > 0)
            {
                comboBoxSavedGame.SelectedIndex = 0;
            }

            string settingsPath = System.IO.Path.Combine(WindowsUtilities.OutputLocation.Get(), "Interrogator.ini");

            mSettings = new WindowsUtilities.XMLSettings(settingsPath);
        }
Exemplo n.º 3
0
 internal void Populate(UniverseData universeData, WUIMenuBuildEditUniverses parent, Action clickAction)
 {
     _data.universeData         = universeData;
     _data.clickAction          = clickAction;
     _components.nameLabel.text = universeData.name;
     _components.parent         = parent;
 }
Exemplo n.º 4
0
    public void CreateWorld()
    {
        // File structure setup
        string name        = createWorldName.text;
        int    i           = 1;
        string newUnivPath = pUnivDataPath + "/" + name;

        while (Directory.Exists(newUnivPath))
        {
            newUnivPath = pUnivDataPath + "/" + name + "_" + i;
            i++;
        }

        string univDataPath   = newUnivPath + "/univ.dat";
        string playerDataPath = newUnivPath + "/player.dat";

        Directory.CreateDirectory(newUnivPath);
        Directory.CreateDirectory(newUnivPath + "/zones");
        var fs = File.Create(univDataPath);

        fs.Close();

        fs = File.Create(playerDataPath);
        fs.Close();

        // univ.dat setup

        UniverseData uData = new UniverseData();

        RNGCryptoServiceProvider rng = new RNGCryptoServiceProvider();

        byte[] seeds = new byte[16];
        rng.GetBytes(seeds);

        // Adding seeds
        long seed1 = BitConverter.ToInt64(seeds, 0);
        long seed2 = BitConverter.ToInt64(seeds, 8);

        uData.seed1 = seed1;
        uData.seed2 = seed2;

        // Writing to univ.dat

        string univDat = JsonConvert.SerializeObject(uData);

        File.WriteAllText(univDataPath, univDat, Encoding.UTF8);

        // player.dat setup
        PlayerState playerState = new PlayerState(new Inventory(), Vector3.zero, true);

        string playerDat = JsonConvert.SerializeObject(playerState);

        File.WriteAllText(playerDataPath, playerDat, Encoding.UTF8);

        PlayerPrefs.SetString("univPath", newUnivPath);

        sceneTransition.GoToScene(1);
    }
Exemplo n.º 5
0
    internal void Launch(UniverseData universeData)
    {
        GameHead.instance.universeData = universeData;
        GameHead.instance.EnterGameState(GameState.Runtime);

        Editable editable = ModuleHead.instance.Spawn(universeData.maps[0]);

        editable.OnAttach(UserHead.instance.localUsers[0]);
    }
Exemplo n.º 6
0
        public UniverseData CreateNewUniverse(string name)
        {
            var data = new UniverseData()
            {
                Name = name
            };

            data.SetupDefaultValues();
            return(data);
        }
Exemplo n.º 7
0
    internal void Edit(UniverseData universeData, EditableData editableData)
    {
        GameHead.instance.universeData = universeData;
        this.editableData = editableData;


        GameHead.instance.EnterGameState(GameState.Editor);

        editable = ModuleHead.instance.Spawn(editableData);
        editable.transform.position = Vector3.zero;
    }
Exemplo n.º 8
0
    public void UE_NewGame()
    {
        UniverseData universeData = new UniverseData
        {
            name    = "test",
            maps    = new List <EditableData>(),
            objects = new List <EditableData>(),
        };

        wUI.user.userData.universeDatas.Add(universeData);
        _components.wUIMenuBuildEditExisting.Inspect(universeData);
        UserHead.SaveAllUsersData();
    }
Exemplo n.º 9
0
        private List <WorldData> CreateSevenWorlds(UniverseData universe)
        {
            List <WorldData> worlds = new List <WorldData>();

            for (int i = 0; i < 7; i++)
            {
                worlds.Add(
                    worldFactory.CreateNewWorld(
                        $"World {i}",
                        universe.Id,
                        i
                        )
                    );
            }
            return(worlds);
        }
Exemplo n.º 10
0
    public UniverseData(UniverseData universeData)
    {
        name      = universeData.name;
        uniqueIds = universeData.uniqueIds;

        maps = new List <EditableData>();
        foreach (EditableData editableData in universeData.maps)
        {
            maps.Add(new SandboxData((SandboxData)editableData));
        }

        objects = new List <EditableData>();
        foreach (EditableData editableData in universeData.objects)
        {
            objects.Add(new SandboxObjectData((SandboxObjectData)editableData));
        }

        savedColors = new List <SerializableColor>(universeData.savedColors);
    }
Exemplo n.º 11
0
    private static ZoneState GetZone(Vector3Int zone)
    {
        PlayerState  playerState  = GameState.GetInstance()._PlayerState;
        UniverseData universeData = GameState.GetInstance()._UniverseData;

        string zoneFolder = $"{PlayerPrefs.GetString("univPath")}/dim{playerState.currentZone.z}/zones/{playerState.currentZone.x},{playerState.currentZone.y}";

        // If there's no file with the current zone, create it and store it
        // If there is, read it and load it
        zoneDataPath = $"{zoneFolder}/{playerState.currentZone.x}.{playerState.currentZone.y}.zone";

        SZoneState newZoneState;

        Debug.Log("Zone: " + zoneDataPath);
        if (!File.Exists(zoneDataPath))
        {
            Debug.Log("Creating new zone...");
            // Generate all the surrounding ones?
            Directory.CreateDirectory(zoneFolder);

            // Create one and write it
            newZoneState = TerrainGenerator.GenerateNewZone_v0(universeData.seed1, playerState.currentZone);
            string zoneDat = JsonConvert.SerializeObject(newZoneState);

            Debug.Log("New portals: " + newZoneState.portalInfo);

            FileStream fs = File.Create(zoneDataPath);
            fs.Close();

            File.WriteAllText(zoneDataPath, zoneDat, Encoding.UTF8);
        }
        else
        {
            string zoneDat = File.ReadAllText(zoneDataPath);
            newZoneState = JsonConvert.DeserializeObject <SZoneState>(zoneDat);
            // print(zoneDat);
            // print(newZoneState.tileIDs.Count);
        }

        return(new ZoneState(newZoneState));
    }
Exemplo n.º 12
0
 public void Add(UniverseData data)
 {
     universes.Add(data);
 }
Exemplo n.º 13
0
 internal void Inspect(UniverseData universeData)
 {
     _data.universeData         = universeData;
     _components.nameLabel.text = universeData.name;
     Stack();
 }
Exemplo n.º 14
0
 internal void Inspect(UniverseData universeData)
 {
     _data.universeData = universeData;
     Stack();
     Populate(_data.editorType == EditorType.Map ? universeData.maps : universeData.objects);
 }
Exemplo n.º 15
0
 internal static SandboxObjectData GetSandboxObjectDataById(UniverseData universeData, int id)
 {
     return((SandboxObjectData)universeData.objects.Find(sbo => sbo.id == id));
 }