public StandardCombatInstance(ResourceAsset playerTeamPrefab, ResourceAsset enemyTeamPrefab, Genre combatGenre, int combatLevel)
 {
     m_playerTeamPrefab = playerTeamPrefab;
     m_enemyTeamPrefab = enemyTeamPrefab;
     m_combatGenre = combatGenre;
     m_combatLevel = combatLevel;
 }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
    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);
        }
Exemplo n.º 5
0
    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");
        }
    }
Exemplo n.º 6
0
    // 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();
        }
    }
Exemplo n.º 7
0
        //根据资源列表生成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();
        }
Exemplo n.º 8
0
 public ResourceAssetTag(ResourceAsset asset)
 {
     Internal = asset;
 }
 public ResourceAssetTag(ResourceAsset asset)
 {
     Internal = asset;
 }
Exemplo n.º 10
0
 public static void LoadResourceAsync <T>(ResourceAsset resourceAsset, Action <T> callback) where T : UnityEngine.Object
 {
     LoadResourceAsync(resourceAsset.Path, resourceAsset.Name, callback);
 }
Exemplo n.º 11
0
 public static T LoadResource <T>(ResourceAsset resourceAsset) where T : UnityEngine.Object
 {
     return(LoadResource <T>(resourceAsset.Path, resourceAsset.Name));
 }