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 CellLogic(IGameLogic game, IHomeLogic homeLogic, ICollisionLogic collider, ICellManager cellManager) { _game = game; _homeLogic = homeLogic; _cellManager = cellManager; collider.onCollision += onCollision; }
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 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); }