public StandardCombatInstance(ResourceAsset playerTeamPrefab, ResourceAsset enemyTeamPrefab, Genre combatGenre, int combatLevel) { m_playerTeamPrefab = playerTeamPrefab; m_enemyTeamPrefab = enemyTeamPrefab; m_combatGenre = combatGenre; m_combatLevel = combatLevel; }
public async void Events_OnResourceKill(CSteamID player, ResourceAsset asset) { var instigatorplayer = await m_UnturnedLogRepository.FindPlayerAsync(player.ToString(), UserSearchMode.FindById); var server = await m_UnturnedLogRepository.GetCurrentServerAsync() ?? await m_UnturnedLogRepository.CheckAndRegisterCurrentServerAsync(); var EventTreeCut = EventDatabase.BuildEventData(instigatorplayer, "Resource harvested", " ", server); await m_UnturnedLogRepository.AddPlayerEventAsync(EventTreeCut); }
private static void Init() { var index = Resources.Load <ResourcesIndex>(STORAGE_PATH); assetsDict = new Dictionary <int, ResourceAsset>(); for (int i = 0; i < index.assets.Count; i++) { ResourceAsset asset = index.assets[i]; if (assetsDict.ContainsKey(asset.id)) { Debug.LogErrorFormat("Duplicate asset ids = {0}", asset.id); continue; } assetsDict.Add(asset.id, asset); } }
protected override void addFoliage(Vector3 position, Quaternion rotation, Vector3 scale, bool clearWhenBaked) { ResourceAsset resourceAsset = Assets.find <ResourceAsset>(this.resource); if (resourceAsset == null) { return; } byte b = 0; while ((int)b < LevelGround.resources.Length) { GroundResource groundResource = LevelGround.resources[(int)b]; if (groundResource.id == resourceAsset.id) { break; } b += 1; } LevelGround.addSpawn(position, b, clearWhenBaked); }
public void SetupResources() { List <ResourceAsset> resourceAssets = new List <ResourceAsset>(ResourceAssetAssetBundleReader.Instance.dicts.Values); List <PrefabAsset> prefabAssets = new List <PrefabAsset>(PrefabAssetAssetBundleReader.Instance.dicts.Values); for (int i = 0; i < prefabAssets.Count; i++) { PrefabAsset prefabAsset = prefabAssets[i]; ResourceAsset resourceAsset = ResourceAssetAssetBundleReader.Instance.FindById(prefabAsset.bundleName); if (resourceAsset != null) { ResInfo resInfo = new ResInfo(); resInfo.assetName = prefabAsset.id; resInfo.assetPath = prefabAsset.name; resInfo.bundlePath = resourceAsset.path; resInfo.bundleName = resourceAsset.name; resInfo.version = resourceAsset.version.ToString(); resInfoDict[resInfo.assetName] = resInfo; } } for (int i = 0; i < resourceAssets.Count; i++) { ResourceAsset resourceAsset = resourceAssets[i]; if (resourceAsset != null) { ResInfo resInfo = new ResInfo(); resInfo.assetName = resourceAsset.id; resInfo.assetPath = resourceAsset.name; resInfo.bundlePath = resourceAsset.path; resInfo.bundleName = resourceAsset.name; resInfo.version = resourceAsset.version.ToString(); resInfoDict[resInfo.assetName] = resInfo; } } if (resInfoDict.ContainsKey("Resources")) { manifestResInfo = resInfoDict["Resources"]; manifest = LoadResource <AssetBundleManifest>("AssetBundleManifest"); } }
// What do we do when all players reach the center of the room? // Most likely nothing, but that may change. protected override IEnumerable OnRoomEvent(RoomMover mover) { //TODO: Integrate with new game manager code to start combat if (!(mover is BasePlayerMover)) yield break; if (!m_wonCombat) { //TODO: This code can be moved into the combat manager, seeing as it is the combats music. ResourceAsset playerTeam = GameManager.GetInstance<BaseStorybookGame>().DefaultPlayerTeam; Debug.Log("Team = " + m_roomEnemiesPrefabLoc + m_roomEnemies.gameObject.name); ResourceAsset enemyTeam = new ResourceAsset(m_roomEnemiesPrefabLoc + m_roomEnemies.gameObject.name, typeof(EnemyTeam)); //m_musicManager.Fade(m_musicTracks[1], 5, true); CombatManager cm = GameManager.GetInstance<BaseStorybookGame>().StartCombat(new StandardCombatInstance(playerTeam, enemyTeam, RoomPageData.PageGenre, RoomPageData.PageLevel)); // Send out a tutorial event EventDispatcher.GetDispatcher<TutorialEventDispatcher>().OnBossFightStarted(); while (cm.IsRunning) { yield return null; } photonView.RPC(nameof(_resetCameraAfterCombat), PhotonTargets.All); DestroyEnemyWorldPawns(); // Send out a tutorial event, notifying that the demo is completed EventDispatcher.GetDispatcher<TutorialEventDispatcher>().OnDemoCompleted(); } else { m_musicManager.Fade(m_musicTracks[0], 5, true); ClearRoom(); } }
//根据资源列表生成xml配置文件, public static void CreateResourcesXmlConfig(Dictionary <string, AssetBundleBuild> assetBundleBuilds) { string resourceStr = "\t<resourceAsset id = \"{0}\" name = \"{1}\" path = \"{2}\" version = \"{3}\" hash = \"{4}\"/>\n"; string prefabStr = "\t<prefabAsset id = \"{0}\" name = \"{1}\" bundleName = \"{2}\"/>\n"; string allResourceStr = "<resourceAssets>\n" + "\t<resourceAsset id = \"Resources\" name = \"Resources\" path = \"Resources/Resources\" version = \"" + _instance._newSvnVersion + "\" hash = \"\"/>\n";; string allPrefabStr = "<prefabAssets>\n" + "\t<prefabAsset id = \"AssetBundleManifest\" name = \"AssetBundleManifest\" bundleName = \"Resources\"/>\n";; List <string> keys = new List <string>(assetBundleBuilds.Keys); for (int i = 0; i < keys.Count; i++) { AssetBundleBuild assetBundleBuild = assetBundleBuilds[keys[i]]; string resourceVersion = _instance._newSvnVersion; Hash128 hashValue; BuildPipeline.GetHashForAssetBundle(Application.dataPath + "/StreamingAssets/Resources/" + assetBundleBuild.assetBundleName, out hashValue); ResourceAsset oldResourceAsset = ResourceAssetReader.Instance.FindById(assetBundleBuild.assetBundleName); if (oldResourceAsset != null && oldResourceAsset.hash.Equals(hashValue.ToString())) { resourceVersion = oldResourceAsset.version.ToString(); } string curResource = string.Format(resourceStr, assetBundleBuild.assetBundleName, assetBundleBuild.assetBundleName, "Resources/" + assetBundleBuild.assetBundleName, resourceVersion, hashValue); allResourceStr += curResource; for (int j = 0; j < assetBundleBuild.assetNames.Length; j++) { string assetName = assetBundleBuild.assetNames[j]; string curPrefab = string.Format(prefabStr, assetName, assetName, assetBundleBuild.assetBundleName); allPrefabStr += curPrefab; } } allResourceStr += "</resourceAssets>"; allPrefabStr += "</prefabAssets>"; Debug.Log(allResourceStr); Debug.Log(allPrefabStr); File.WriteAllText(Application.dataPath + "/Package/LocalConfig/resourceAsset.bytes", allResourceStr); File.WriteAllText(Application.dataPath + "/Package/LocalConfig/prefabAsset.bytes", allPrefabStr); AssetDatabase.Refresh(); }
public ResourceAssetTag(ResourceAsset asset) { Internal = asset; }
public static void LoadResourceAsync <T>(ResourceAsset resourceAsset, Action <T> callback) where T : UnityEngine.Object { LoadResourceAsync(resourceAsset.Path, resourceAsset.Name, callback); }
public static T LoadResource <T>(ResourceAsset resourceAsset) where T : UnityEngine.Object { return(LoadResource <T>(resourceAsset.Path, resourceAsset.Name)); }