public SceneActor(SceneConfig sceneConfig, KnownPaths knownPaths) { foreach (var sceneAction in sceneConfig.Actions) { Context.ActorOf(ActionActor.Props(sceneAction, knownPaths), $"{sceneAction.Name}-{Salt.Gen()}"); } }
public void LoadScene(uint fromSceneId, uint sceneId, bool showLoading = true, uint taskPreloadSceneId = 0, string loadingTips = "") { #if UNITY_ANDROID && !UNITY_EDITOR //Network.NetChnlDebug.Instance.Debug(); // Network.NetChnlDebug.Instance.Clear(); #endif //Messenger.Broadcast<uint>(MSG_DEFINE.MSG_SCENE_LOAD_START, sceneId); if (mIsLoading == true) { StopCurrent(); } mIsLoading = true; mSceneId = sceneId; mTaskNeedPreloadSceneId = taskPreloadSceneId; //如果有需要,可以加载场景相关配置(TO DO) mSceneConfig = GameKernel.GetDataCenter().GetResBinData().GetSceneConfByID(sceneId); mCurrentSceneName = mSceneConfig.name; if (mSceneConfig != null) { mCurrentScene = mSceneConfig.sceneName; } ConnectProcess(showLoading, loadingTips); StartProcess(); //数据齐全 开始进程 }
//全部texture和mat放进各自的list里面 void LoadAsset(string asset, string occid) { var depends = assetsDependDic[asset]; for (int i = 0; i < depends.Count; i++) { //剔除shader if (!depends[i].Contains("shader") && !depends[i].Contains("FBX")) { var url = SceneConfig.GetInstance().prefix + depends[i].Substring(0, depends[i].IndexOf(".")).ToLower() + SceneConfig.GetInstance().suffix; if (!assetWaitingList.Contains(url)) { assetWaitingList.Add(url); totalAssetNum++; //根据assetName将url放进对应的list if (FuncUtil.GetInstance().IsAssetTexture(depends[i])) { textureWaitingList.Add(url); } if (depends[i].Contains(".mat")) { matWaitingList.Add(url); } if (depends[i] == asset) { prefabWaitingList.Add(url); mainAsseturlDict.Add(asset, url); } } } } }
private static Image GetPreview(int id) { SceneConfig sceneConfig = ConfigData.GetSceneConfig(id); ControlPlus.TipImage tipData = new ControlPlus.TipImage(); tipData.AddTextNewLine(sceneConfig.Name, "Lime", 20); tipData.AddTextNewLine(string.Format("地图等级: {0}", sceneConfig.Level), sceneConfig.Level > UserProfile.InfoBasic.Level?"Red": "White"); string[] icons = SceneBook.GetNPCIconsOnMap(id); if (icons.Length > 0) { tipData.AddTextNewLine("设施", "Green"); foreach (string icon in icons) { tipData.AddImage(HSIcons.GetIconsByEName(icon)); } } if (sceneConfig.Func != "") { tipData.AddTextNewLine("特色", "Pink"); string[] funcs = sceneConfig.Func.Split(';'); foreach (string fun in funcs) { tipData.AddImage(HSIcons.GetIconsByEName(string.Format("npc{0}", fun.ToLower()))); } } return(tipData.Image); }
static void GetSceneFenBaoAsset() { _levelConfigArray = LoadConfigFile <LevelConfigArray>("L_Resources/DataConfig/dataconfig_levelconfig"); _sceneFenBaoArray = LoadConfigFile <SceneFenBaoArray>("L_Resources/DataConfig/dataconfig_scenefenbao"); for (int i = 0; i < _sceneFenBaoArray.items.Count; i++) { SceneFenBao sceneFenBao = _sceneFenBaoArray.items[i]; uint sceneId = sceneFenBao.ID; uint packageIndex = sceneFenBao.Pakage; if (sceneFenBao.Version != _fenBaoVersion) { continue; } SceneConfig sceneConfig = GetSceneConfig(sceneId); for (int j = 0; j < sceneConfig.Objects.Count; j++) { string abName = GetAssetOfABNameByPath(sceneConfig.Objects[j].Path); string abPath = _sourcePath + "/" + abName; BuildResPackageInfo("GetSceneFenBaoAsset", abPath, packageIndex); } } }
/** 场景进入场景 */ private void enterScene(SceneConfig config) { if (_currentSceneData != null) { exitScene(); } SceneEditorData sData = _sceneDic.get(config.id); if (sData == null) { sData = new SceneEditorData(); sData.config = config; sData.read(); _sceneDic.put(config.id, sData); } _currentSceneData = sData; _elementInstanceID = -1; SceneMapConfig mapConfig = SceneMapConfig.get(config.mapID); _originPos.setByIArr(mapConfig.origin); _sizePos.setByIArr(mapConfig.size); EditorSceneManager.sceneLoaded += onSceneLoaded; EditorSceneManager.LoadScene(ShineToolGlobal.assetSourceStr + "/" + mapConfig.source); }
private IEnumerable DoCheckSceneConfig(string prefabName, SceneConfig config) { string shortName = System.IO.Path.GetFileNameWithoutExtension(prefabName); int count = 0; int total = config._RegionIdGroup.Count; for (int regionId = 0; regionId < config._RegionIdGroup.Count; ++regionId) { var regionConfig = config._RegionIdGroup[regionId]; ++count; GameDataCheckMan.Instance.SetDesc(string.Format("{0} 检查Region Config: {1}", shortName, regionId)); GameDataCheckMan.Instance.SetPartProgress((float)count / total); yield return(null); int[] idArray = new int[] { regionConfig.DayID, regionConfig.DuskID, regionConfig.MorningID, regionConfig.NightID }; foreach (int id in idArray) { var data = GetEffectByID(id); if (data == null) { continue; } var asset = AssetBundleCheck.Instance.LoadAsset(data._SkyBoxMatPath); if (asset == null) { continue; } Material mat = GameObject.Instantiate(asset) as Material; if (mat == null) { continue; } Shader shader = mat.shader; if (shader == null) { continue; } AddSceneShader(shader.name, mat.shaderKeywords); // CheckShader_Standard(shader.name, mat.name, asset.name, prefabName); CheckShader_NoUsed_GrabPass(shader.name, mat.name, asset.name, prefabName); CheckShader_KriptoFXParticle(shader.name, mat.name, asset.name, prefabName, mat.shaderKeywords); CheckShader_Distortion(shader.name, mat.name, asset.name, prefabName, false); CheckShader_DepthTexture(shader.name, mat.name, asset.name, prefabName); CheckShader_CutoutBorder(shader.name, mat.name, asset.name, prefabName); CheckShader_NoOutput(shader.name, mat.name, asset.name, prefabName); } } yield return(null); }
/** 设置配置 */ public virtual void initSceneID(int id) { _config = SceneConfig.get(id); _mapConfig = SceneMapConfig.get(_config.mapID); _placeConfig = ScenePlaceConfig.getSync(id); //绑定驱动类型 if (_config.instanceType == SceneInstanceType.ClientDriveSinglePlayerBattle) { driveType = SceneDriveType.ClientDriveAll; } else { driveType = CommonSetting.sceneDriveType; } originPos.setByIArr(_mapConfig.origin); sizePos.setByIArr(_mapConfig.size); endPos.x = originPos.x + sizePos.x; endPos.y = originPos.y + sizePos.y; endPos.z = originPos.z + sizePos.z; method.onSetConfig(); preInit(); }
public void Init(SceneConfig cfg) { Clear(); if (cfg == null) { return; } _Config = cfg; _CurSceneGuid = _CurSceneGuid + 1; _BlocksRootTran = _Config.transform.Find("BlockObjects"); if (null == _BlocksRootTran) { _BlocksRootTran = _Config.transform; } LightmapSettings.lightmapsMode = cfg._LightmapConfig._LightmapMode; var lightmapCount = cfg._TexCount; _SceneLightmapDatas = new LightmapData[lightmapCount]; for (int i = 0; i < lightmapCount; i++) { _LightmapIdx2RefCountDic.Add(i, 0); _SceneLightmapDatas[i] = new LightmapData(); } LoadAssetWithPlayerLight(cfg._LightmapConfig); }
public OptionConfigurationInitModule(ISessionCondition sessionState, IUnityAssetManager assetManager) { _assetManager = assetManager; var allMaps = SingletonManager.Get <MapsDescription>(); if (allMaps.CurrentLevelType != LevelType.BigMap) { return; } SceneConfig config = allMaps.BigMapParameters; string preStr = config.PreMapName; int gridNum = config.TerrainDimension; StreamingLevelStructure streamingLevel = SingletonManager.Get <StreamingLevelStructure>(); ScenesLightmapStructure lightmap = SingletonManager.Get <ScenesLightmapStructure>(); ScenesIndoorCullStructure indoor = SingletonManager.Get <ScenesIndoorCullStructure>(); streamingLevel.Clear(); lightmap.Clear(); indoor.Clear(); for (int i = 0; i < gridNum; i++) { for (int j = 0; j < gridNum; j++) { string preName = preStr + "_" + preStr + " " + i + "x" + j; AddConfigSystem <StreamingLevelStructure>(sessionState, preName + StreamingConfig.DataXMLName, StreamingConfig.StreamingABPath + preStr + StreamingConfig.StreamingDataABName, streamingLevel); AddConfigSystem <ScenesLightmapStructure>(sessionState, preName + StreamingConfig.LightXMLName, StreamingConfig.StreamingABPath + preStr + StreamingConfig.StreamingLightDataABName, lightmap); AddConfigSystem <ScenesIndoorCullStructure>(sessionState, preName + StreamingConfig.InDoorXMLName, StreamingConfig.StreamingABPath + preStr + StreamingConfig.StreamingInDoorABName, indoor); } } _sessionState = sessionState; }
public SceneConfig GetSceneConfByID(uint ID) { if (m_sceneConfList == null) { m_sceneConfList = ProtobufDataConfigMgr.ReadOneDataConfig <SceneConfigArray>("dataconfig_sceneconfig"); } if (dicSceneConfig.ContainsKey((int)ID)) { return(dicSceneConfig[(int)ID]); } SceneConfig ret = null; for (int i = 0; i < m_sceneConfList.items.Count; ++i) { SceneConfig item = m_sceneConfList.items[i]; if (item.id == ID) { ret = item; dicSceneConfig.Add((int)ID, ret); break; } } return(ret); }
private void OnTriggerEnter2D(Collider2D collision) { if (collision.tag == "Player") { SceneConfig.KillPlayer(); } }
// Start is called before the first frame update private void OnCollisionEnter2D(Collision2D collision) { if (collision.collider.tag == "Player") { SceneConfig.KillPlayer(); } }
public void Initialize(AdditiveSceneComponent component) { if (config != null) { return; } config = Resources.Load <SceneManagerConfig>("SceneManagerConfig"); if (config == null) { throw new Exception($"{this} Cant load scene manager config from Resources/SceneManagerConfig"); } string parentSceneName = component.Config.SceneParent.Name; SceneConfig scene = config.Scenes.FirstOrDefault(x => x.Name.ToLowerInvariant() == parentSceneName.ToLowerInvariant()); if (scene == null) { throw new Exception($"{this} no configuration for the current scene: {parentSceneName}"); } if (scene.Async) { SceneManagement.LoadSceneAsync(scene.Name, UnityEngine.SceneManagement.LoadSceneMode.Single); } else { SceneManagement.LoadScene(scene.Name); } }
void LoadSceneInfo(string sceneId) { SceneConfig sceneConfig = null; if (sceneDataCollection.sceneDic.TryGetValue(sceneId, out sceneConfig)) { int size = sceneConfig.height; CreateCubes(size); strSceneSize = size.ToString(); string[] data = sceneConfig.textureData.Split(','); string[] rotate = sceneConfig.rotateData.Split(','); for (int i = 0; i < size; i++) { for (int j = 0; j < size; j++) { var go = parent.transform.Find(i + "_" + j); try { go.transform.localEulerAngles = new Vector3(0, 0, float.Parse(rotate[i * size + j])); } catch (Exception) { } var tex = Resources.Load <Texture>("Textures/" + data[i * size + j]); go.GetComponent <Renderer>().sharedMaterial.mainTexture = tex; } } } }
public void FadeInWin(string name, SceneConfig config, DelegateType.FadeInBlackCallback callback) { // _loadingSceneName = name; // _loadingSceneConfig = config; // _callbackFadeIn = callback; UIManager.CreateWinByAction(UIName.LOADING_WIN); }
private IEnumerator Load_Async(SceneLoaderRequest rLoadRequest) { var rSceneRequest = AssetLoadManager.Instance.LoadScene(rLoadRequest.sceneABPath, rLoadRequest.sceneAssetName); yield return(rSceneRequest.Coroutine); string rSceneName = Path.GetFileNameWithoutExtension(rSceneRequest.assetName); var rSceneLoadRequest = SceneManager.LoadSceneAsync(rSceneName, rLoadRequest.sceneLoadMode); yield return(rSceneLoadRequest); rSceneRequest.scene = SceneManager.GetSceneByName(rSceneName); SceneManager.SetActiveScene(rSceneRequest.scene); GameObject rSceneConfigGo = GameObject.Find(rSceneRequest.scene.name + "_Config"); if (rSceneConfigGo != null) { SceneConfig rSceneConfig = rSceneConfigGo.GetComponent <SceneConfig>(); Camera rMainCamera = Camera.main; rMainCamera.transform.position = rSceneConfig.CameraPos; rMainCamera.transform.eulerAngles = rSceneConfig.CameraRotate; rMainCamera.backgroundColor = rSceneConfig.CameraBGColor; rMainCamera.fieldOfView = rSceneConfig.CameraFOV; rMainCamera.farClipPlane = rSceneConfig.CameraFar; rMainCamera.nearClipPlane = rSceneConfig.CameraNear; } AssetLoadManager.Instance.UnloadAsset(rLoadRequest.sceneABPath); }
void Start() { wwwReady.Add(new WWW(shaderUrl)); InitGameScene(); MapUtil.GetInstance().LoadMapDataFromXML(SceneConfig.GetInstance().mapDataPath); }
/** 请求进入场景 */ public void applyEnterScene(int id, int lineID, int posID) { if (_isSwitching) { return; } SceneConfig config = SceneConfig.get(id); if (!GameC.player.role.checkRoleConditions(config.enterConditions, true)) { Ctrl.warnLog("场景进入条件未达成"); return; } //客户端单人副本 if (config.instanceType == SceneInstanceType.ClientDriveSinglePlayerBattle) { preEnterScene(id, -1); } else { if (!BaseC.constlist.sceneInstance_canClientApplyEnter(config.instanceType)) { Ctrl.warnLog("申请进入场景时,不可进入的场景"); return; } ApplyEnterSceneRequest.create(id, lineID, posID).send(); } }
public override void Run() { foreach (StartConfig startConfig in StartConfigComponent.Instance.StartConfig.List) { SceneConfig sceneConfig = startConfig.GetComponent <SceneConfig>(); SceneFactory.Create(Game.Scene, startConfig.Id, sceneConfig.Name, sceneConfig.SceneType); } }
public void OnEnable() { mScript = target as SceneConfig; if (mScript.mInfo == null) { mScript.mInfo = new SceneConfigObject(); } }
public async ETVoid RunInner() { foreach (StartConfig startConfig in StartConfigComponent.Instance.StartConfig.List) { SceneConfig sceneConfig = startConfig.GetComponent <SceneConfig>(); await SceneFactory.Create(Game.Scene, startConfig.Id, sceneConfig.Name, sceneConfig.SceneType); } }
public static SceneConfig GetInstance() { if (instance == null) { instance = new SceneConfig(); } return(instance); }
/// <summary> /// 检查初始场景 /// </summary> /// <returns></returns> public void checkFirstScene() { var first = DeployConfig.FirstScene; if (!SceneConfig.isStarted(sceneType) && sceneType != first) { sceneSys.gotoScene(first); } }
private void OnCollisionEnter2D(Collision2D collision) { float fallSpeed = GetComponent <Rigidbody2D>().velocity.y; if (collision.collider.tag == "Player" && fallSpeed < -1) { SceneConfig.KillPlayer(); } }
public SceneRequest(SceneConfig sc, Reason reason, Action?onQueue = null, Action?onLoad = null, Action?onFinish = null) { scene = sc; onQueued = onQueue; onLoaded = onLoad; onFinished = onFinish; this.reason = reason; }
void LoadConfig(string fileName) { Clear(); if (string.IsNullOrEmpty(fileName)) { return; } m_Config = new SceneConfig(); LoadOk = m_Config.LoadFromFile(fileName); }
void OnDestroy() { if (_SetLightMap) { LightmapSettings.lightmaps = null; _SetLightMap = false; } _LightMapAsset = null; _Config = null; _LightMapDatas = null; }
protected override void Execute(List <GameStateEntity> entities) { int sceneId = Contexts.sharedInstance.gameState.nextSceneId.Value; SceneConfig config = SceneConfigProvider.Instance.GetSceneConfig(sceneId); if (null != config) { Services.Instance.SceneService.LoadSceneAsync(config.Id, config.Name); } }
void Awake() { // singleton pattern if (instance == null) { instance = this; } else { Destroy(gameObject); } }