public static void Start() { //var assetUri = "game://Morrowind/Morrowind.bsa"; var dataUri = "game://Morrowind/Morrowind.esm"; //var dataUri = "game://Morrowind/Bloodmoon.esm"; //var dataUri = "game://Morrowind/Tribunal.esm"; //var assetUri = "game://Oblivion/Oblivion*"; //var dataUri = "game://Oblivion/Oblivion.esm"; //var assetUri = "game://SkyrimVR/Skyrim*"; //var dataUri = "game://SkyrimVR/Skyrim.esm"; //var assetUri = "game://Fallout4/Fallout4*"; //var dataUri = "game://Fallout4/Fallout4.esm"; //var assetUri = "game://Fallout4VR/Fallout4*"; //var dataUri = "game://Fallout4VR/Fallout4.esm"; var assetManager = AssetManager.GetAssetManager(EngineId.Tes); //Asset = assetManager.GetAssetPack(assetUri).Result; Data = assetManager.GetDataPack(dataUri).Result; //TestLoadCell(new Vector3(((-2 << 5) + 1) * ConvertUtils.ExteriorCellSideLengthInMeters, 0, ((-1 << 5) + 1) * ConvertUtils.ExteriorCellSideLengthInMeters)); //TestLoadCell(new Vector3((-1 << 3) * ConvertUtils.ExteriorCellSideLengthInMeters, 0, (-1 << 3) * ConvertUtils.ExteriorCellSideLengthInMeters)); TestLoadCell(new Vector3(0 * ConvertUtils.ExteriorCellSideLengthInMeters, 0, 0 * ConvertUtils.ExteriorCellSideLengthInMeters)); //TestLoadCell(new Vector3((1 << 3) * ConvertUtils.ExteriorCellSideLengthInMeters, 0, (1 << 3) * ConvertUtils.ExteriorCellSideLengthInMeters)); //TestLoadCell(new Vector3((1 << 5) * ConvertUtils.ExteriorCellSideLengthInMeters, 0, (1 << 5) * ConvertUtils.ExteriorCellSideLengthInMeters)); //TestAllCells(); }
public static void Start() { var assetUri = "game://Morrowind/Morrowind.bsa"; var dataUri = "game://Morrowind/Morrowind.esm"; var assetManager = AssetManager.GetAssetManager(EngineId.Tes); Asset = assetManager.GetAssetPack(assetUri).Result; Data = assetManager.GetDataPack(dataUri).Result; CellManager = assetManager.GetCellManager(Asset, Data, LoadBalancer); // ambient RenderSettings.ambientMode = UnityEngine.Rendering.AmbientMode.Flat; RenderSettings.ambientIntensity = 1.5f; // sun _sunObj = GameObjectUtils.CreateDirectionalLight(Vector3.zero, Quaternion.Euler(new Vector3(50, 330, 0))); _sunObj.GetComponent <Light>().shadows = LightShadows.Soft; _sunObj.SetActive(false); Cursor.SetCursor(Asset.LoadTexture("tx_cursor", 1), Vector2.zero, CursorMode.Auto); // engine SpawnPlayer(PlayerPrefab, new Vector3Int(-2, -9, 0), new Vector3(-137.94f, 2.30f, -1037.6f)); }
public static void Start() { var assetManager = AssetManager.GetAssetManager(EngineId.Ultima); Asset = assetManager.GetAssetPack(null).Result; Data = assetManager.GetDataPack(null).Result; }
void Start() { var dataPath = FileManager.GetFilePath(".", _gameId); _asset = new TesAssetPack(dataPath, null); _data = new TesDataPack(dataPath, null, _gameId); _engine = new TesEngine(AssetManager.GetAssetManager(EngineId.Tes), _asset, _data, UIManager); if (_playMusic) { // Start the music. _musicPlayer = new MusicPlayer(); if (_gameId == GameId.Morrowind) { foreach (var songFilePath in Directory.GetFiles(dataPath + "/Music/Explore")) { if (!songFilePath.Contains("Morrowind Title")) { _musicPlayer.AddSong(songFilePath); } } } _musicPlayer.Play(); } // Spawn the player. _engine.SpawnPlayer(PlayerPrefab, new Vector3(-137.94f, 2.30f, -1037.6f)); // new Vector3Int(-2, -9, 0), }
public static void Start() { var assetManager = AssetManager.GetAssetManager(EngineId.Ultima); Asset = assetManager.GetAssetPack(null).Result; Data = assetManager.GetDataPack(null).Result; //MakeObject("sta010").transform.Translate(Vector3.left * 1 + Vector3.up); //MakeObject("sta069").transform.Translate(Vector3.left * 1 + Vector3.down); MakeObject("lnd001").transform.Translate(Vector3.right * 1); MakeObject("lnd002").transform.Translate(Vector3.right * 1 + Vector3.up); MakeObject("lnd516").transform.Translate(Vector3.right * 1 + Vector3.down); //MakeObject("gmp065").transform.Translate(Vector3.back * 5); //MakeTexture("sta010"); //MakeTexture("sta069"); //MakeTexture("lnd001"); //MakeTexture("lnd002"); //MakeTexture("lnd516"); //MakeTexture("lnd1137"); //MakeTexture("gmp065"); //MakeTexture("tex789"); }
public Order(string id, string order, string target, Timestamp timestamp, IDataPack dataPack) { ExactOrder = order; Target = target; Data = dataPack ?? throw new ArgumentNullException(nameof(dataPack), "A dataPack is required, cannot replace it with null"); Timestamp = timestamp; ID = id; }
public Reply(string id, string replyTo, Timestamp timestamp, IDataPack dataPack) { ReplyTo = replyTo ?? throw new ArgumentNullException(nameof(replyTo), $"{nameof(Reply)} has to have a target (something to reply to)."); Timestamp = timestamp ?? throw new ArgumentNullException(nameof(timestamp), "Missing Timestamp."); Data = dataPack ?? throw new ArgumentNullException(nameof(dataPack), "Cannot substitute DataPack with NULL."); ID = id; }
public Task <bool> SendAsync(AbstractSlaveUnit sender, string targetCommand, IDataPack data = null) { _ = sender ?? throw new ArgumentNullException(nameof(sender), $"Unit has to be a valid child of {nameof(AbstractSlaveUnit)}."); if (string.IsNullOrEmpty(targetCommand)) { throw new ArgumentNullException(nameof(targetCommand), "Target command cannot be empty!"); } var order = _orderFactory.Create(targetCommand, sender.ID, data ?? EmptyDataPackSingleton.GetInstance()); return(SendAsync(order)); }
public static void Start() { var dataUri = new Uri("game:/#Zero"); DataPack = dataUri.GetUltimaDataPackAsync().Result(); //TestLoadCell(new Vector3(((-2 << 5) + 1) * ConvertUtils.ExteriorCellSideLengthInMeters, 0, ((-1 << 5) + 1) * ConvertUtils.ExteriorCellSideLengthInMeters)); //TestLoadCell(new Vector3((-1 << 3) * ConvertUtils.ExteriorCellSideLengthInMeters, 0, (-1 << 3) * ConvertUtils.ExteriorCellSideLengthInMeters)); TestLoadCell(new Vector3(0 * ConvertUtils.ExteriorCellSideLengthInMeters, 0, 0 * ConvertUtils.ExteriorCellSideLengthInMeters)); //TestLoadCell(new Vector3((1 << 3) * ConvertUtils.ExteriorCellSideLengthInMeters, 0, (1 << 3) * ConvertUtils.ExteriorCellSideLengthInMeters)); //TestLoadCell(new Vector3((1 << 5) * ConvertUtils.ExteriorCellSideLengthInMeters, 0, (1 << 5) * ConvertUtils.ExteriorCellSideLengthInMeters)); //TestAllCells(); }
void OnDestroy() { if (_asset != null) { _asset.Dispose(); _asset = null; } if (_data != null) { _data.Dispose(); _data = null; } }
public static void OnDestroy() { if (Asset != null) { Asset.Dispose(); Asset = null; } if (Data != null) { Data.Dispose(); Data = null; } }
public static void Start() { var assetManager = AssetManager.GetAssetManager(EngineId.Ultima); Asset = assetManager.GetAssetPack(null).Result; Data = assetManager.GetDataPack(null).Result; Engine = new UltimaEngine(assetManager, Asset, Data, null); var scale = ConvertUtils.ExteriorCellSideLengthInMeters; //Engine.SpawnPlayerAndUpdate(PlayerPrefab, new Vector3(4 * scale, 20, 25 * scale)); //Engine.SpawnPlayerAndUpdate(PlayerPrefab, new Vector3(15 * scale, 20, 25 * scale)); Engine.SpawnPlayerAndUpdate(PlayerPrefab, new Vector3(11 * scale, 10, 29 * scale)); }
public SimpleEngine(IEstateHandler handler, IAssetPack assetPack, IDataPack dataPack) { if (handler == null) { throw new ArgumentNullException(nameof(handler)); } AssetPack = assetPack ?? throw new ArgumentNullException(nameof(assetPack)); DataPack = dataPack ?? throw new ArgumentNullException(nameof(dataPack)); CellManager = handler.CellManagerFunc(LoadBalancer, assetPack, dataPack, null) ?? throw new ArgumentNullException(nameof(handler.CellManagerFunc)); // ambient RenderSettings.ambientMode = UnityEngine.Rendering.AmbientMode.Flat; RenderSettings.ambientIntensity = AmbientIntensity; // sun _sunObj = GameObjectUtils.CreateDirectionalLight(Vector3.zero, Quaternion.Euler(new Vector3(50, 330, 0))); _sunObj.GetComponent <Light>().shadows = RenderSunShadows ? LightShadows.Soft : LightShadows.None; _sunObj.SetActive(false); if (DayNightCycle) { _sunObj.AddComponent <DayNightCycle>(); } //// water //_waterObj = GameObject.Instantiate(TesGame.instance.WaterPrefab); //_waterObj.SetActive(false); //var water = _waterObj.GetComponent<Water>(); //water.waterMode = game.instance.WaterQuality; //if (!TesGame.instance.WaterBackSideTransparent) //{ // var side = _waterObj.transform.GetChild(0); // var sideMaterial = side.GetComponent<Renderer>().sharedMaterial; // sideMaterial.SetInt("_SrcBlend", (int)UnityEngine.Rendering.BlendMode.One); // sideMaterial.SetInt("_DstBlend", (int)UnityEngine.Rendering.BlendMode.Zero); // sideMaterial.SetInt("_ZWrite", 1); // sideMaterial.DisableKeyword("_ALPHATEST_ON"); // sideMaterial.DisableKeyword("_ALPHABLEND_ON"); // sideMaterial.DisableKeyword("_ALPHAPREMULTIPLY_ON"); // sideMaterial.renderQueue = -1; //} //Cursor.SetCursor(Asset.LoadTexture("tx_cursor", 1), Vector2.zero, CursorMode.Auto); }
public BaseEngine(IAssetManager assetManager, IAssetPack asset, IDataPack data) { AssetManager = assetManager; Asset = asset; Data = data; LoadBalancer = new TemporalLoadBalancer(); CellManager = assetManager.GetCellManager(asset, data, LoadBalancer); var game = BaseSettings.Game; // ambient RenderSettings.ambientMode = UnityEngine.Rendering.AmbientMode.Flat; RenderSettings.ambientIntensity = game.AmbientIntensity; // sun _sunObj = GameObjectUtils.CreateDirectionalLight(Vector3.zero, Quaternion.Euler(new Vector3(50, 330, 0))); _sunObj.GetComponent <Light>().shadows = game.RenderSunShadows ? LightShadows.Soft : LightShadows.None; _sunObj.SetActive(false); if (game.DayNightCycle) { _sunObj.AddComponent <DayNightCycle>(); } //// water //_waterObj = GameObject.Instantiate(TesGame.instance.WaterPrefab); //_waterObj.SetActive(false); //var water = _waterObj.GetComponent<Water>(); //water.waterMode = game.instance.WaterQuality; //if (!TesGame.instance.WaterBackSideTransparent) //{ // var side = _waterObj.transform.GetChild(0); // var sideMaterial = side.GetComponent<Renderer>().sharedMaterial; // sideMaterial.SetInt("_SrcBlend", (int)UnityEngine.Rendering.BlendMode.One); // sideMaterial.SetInt("_DstBlend", (int)UnityEngine.Rendering.BlendMode.Zero); // sideMaterial.SetInt("_ZWrite", 1); // sideMaterial.DisableKeyword("_ALPHATEST_ON"); // sideMaterial.DisableKeyword("_ALPHABLEND_ON"); // sideMaterial.DisableKeyword("_ALPHAPREMULTIPLY_ON"); // sideMaterial.renderQueue = -1; //} //Cursor.SetCursor(Asset.LoadTexture("tx_cursor", 1), Vector2.zero, CursorMode.Auto); }
public static void Start() { var assetUri = "game://Morrowind/Morrowind.bsa"; var dataUri = "game://Morrowind/Morrowind.esm"; //var assetUri = "game://Oblivion/Oblivion*"; //var dataUri = "game://Oblivion/Oblivion.esm"; var assetManager = AssetManager.GetAssetManager(EngineId.Tes); Asset = assetManager.GetAssetPack(assetUri).Result; Data = assetManager.GetDataPack(dataUri).Result; Engine = new BaseEngine(assetManager, Asset, Data); // engine Engine.SpawnPlayer(PlayerPrefab, new Vector3(-137.94f, 2.30f, -1037.6f)); // new Vector3Int(-2, -9) // engine - oblivion //Engine.SpawnPlayer(PlayerPrefab, new Vector3Int(0, 0, 60), new Vector3(0, 0, 0)); }
public static void Start() { var dataUri = new Uri("game://Morrowind/Morrowind.esm"); //var dataUri = new Uri("game://Morrowind/Bloodmoon.esm"); //var dataUri = new Uri("game://Morrowind/Tribunal.esm"); //var dataUri = new Uri("game://Oblivion/Oblivion.esm"); //var dataUri = new Uri("game://SkyrimVR/Skyrim.esm"); //var dataUri = new Uri("game://Fallout4/Fallout4.esm"); //var dataUri = new Uri("game://Fallout4VR/Fallout4.esm"); DataPack = dataUri.GetTesDataPackAsync().Result(); //TestLoadCell(new Vector3(((-2 << 5) + 1) * ConvertUtils.ExteriorCellSideLengthInMeters, 0, ((-1 << 5) + 1) * ConvertUtils.ExteriorCellSideLengthInMeters)); //TestLoadCell(new Vector3((-1 << 3) * ConvertUtils.ExteriorCellSideLengthInMeters, 0, (-1 << 3) * ConvertUtils.ExteriorCellSideLengthInMeters)); TestLoadCell(new Vector3(0 * ConvertUtils.ExteriorCellSideLengthInMeters, 0, 0 * ConvertUtils.ExteriorCellSideLengthInMeters)); //TestLoadCell(new Vector3((1 << 3) * ConvertUtils.ExteriorCellSideLengthInMeters, 0, (1 << 3) * ConvertUtils.ExteriorCellSideLengthInMeters)); //TestLoadCell(new Vector3((1 << 5) * ConvertUtils.ExteriorCellSideLengthInMeters, 0, (1 << 5) * ConvertUtils.ExteriorCellSideLengthInMeters)); //TestAllCells(); }
public async Task <bool> ReplyTo(Order order, IDataPack dataPack) { var reply = _replyFactory.Create(order, dataPack); return(await SendAsync(reply).ConfigureAwait(false)); }
public Reply Create(string replyTo, IDataPack dataPack) { return(Create(_idGenerator.GetNewID(), replyTo, Timestamp.Now, dataPack)); }
public Reply Create(string id, string replyTo, Timestamp timestamp, IDataPack dataPack) { return(new Reply(id, replyTo, timestamp, dataPack)); }
public static ICellManager GetUltimaCellManager(this TemporalLoadBalancer loadBalancer, IAssetPack assetPack, IDataPack dataPack, Func <object> func = null) => new UltimaCellManager(loadBalancer, (UltimaAssetPack)assetPack, (UltimaDataPack)dataPack);
public Reply Renew(Reply reply, IDataPack dataPack) { return(Create(reply.ReplyTo, dataPack)); }
public UltimaEngine(IAssetManager assetManager, IAssetPack asset, IDataPack data, UltimaUIManager uiManager) : base(assetManager, asset, data) { UIManager = uiManager; //UIManager.Active = true; }
public abstract Task HandleDataAsync(IDataPack socketMsgPack);
public static ICellManager GetTesCellManager(this TemporalLoadBalancer loadBalancer, IAssetPack assetPack, IDataPack dataPack, Func <object> func = null) => new TesCellManager(loadBalancer, (TesAssetPack)assetPack, (TesDataPack)dataPack);
public Order Renew(Order order, IDataPack dataPack) { return(Create(order.ExactOrder, order.Target, dataPack)); }
public Order Create(string id, string order, string target, IDataPack dataPack) { return(Create(id, order, target, Timestamp.Now, dataPack)); }
public Order Create(string order, string target, Timestamp timestamp, IDataPack dataPack) { return(Create(_idGenerator.GetNewID(), order, target, timestamp, dataPack)); }
public Order Create(string id, string order, string target, Timestamp timestamp, IDataPack dataPack) { return(new Order(id, order, target, timestamp, dataPack)); }
public TesEngine(IAssetManager assetManager, IAssetPack asset, IDataPack data, TesUIManager uiManager) : base(assetManager, asset, data) { UIManager = uiManager; UIManager.Active = true; }
//static void TestAllCells() //{ // var cells = ((UltimaDataPack)DataPack).Groups["CELL"].Records; // Log($"CELLS: {cells.Count}"); // foreach (var record in cells.Cast<CELLRecord>()) // Log(record.EDID.Value); //} public static void OnDestroy() { DataPack?.Dispose(); DataPack = null; }