public IEnumerator LoadGameData() { yield return(new WaitForEndOfFrame()); string szPath = ResPath.ResBaseUrl + ResPath.PlatformUrl; // 数据文件存放的目录 // WWW language = new WWW(szPath + "PinballVSBlock_Language.assetbundle"); // Debug.Log(szPath + "PinballVSBlock_Language.assetbundle"); yield return(language); languageData = language.assetBundle.mainAsset as LanguageData; WWW blkTypeData = new WWW(szPath + "BlockType.assetbundle"); yield return(blkTypeData); blockTypeData = blkTypeData.assetBundle.mainAsset as BlockTypeData; WWW blkScoreData = new WWW(szPath + "BlockScore.assetbundle"); yield return(blkScoreData); blockScoreData = blkScoreData.assetBundle.mainAsset as BlockScoreData; // Debug.Log("PinballVSBlock_Language " + languageData.languageAllData.Count); SceneManager.LoadScene("game"); }
public static void PackBlockType() { string szDataFile = "BlockType.xlsx"; string szTable = "BlockType"; BlockTypeData data = ScriptableObject.CreateInstance <BlockTypeData>() as BlockTypeData; DataTable dtData = ReadDataTable(szDataFile, szTable); data.ReadData(dtData); CreateBundle(data, szTable); }
private BlockType LoadBlockType(String blockTypeName, int maxBlocks) { // Load block type data BlockTypeData blockTypeData = Game.Content.Load <BlockTypeData>(@"Game\BlockTypes\" + blockTypeName); // Create block type instance BlockType blockType = new BlockType(blockTypeName, this); // Populate type instance with data blockType.HitPoints = blockTypeData.HitPoints; blockType.ScoresPerHitPoint = blockTypeData.ScoresPerHitPoint; blockType.Events = blockTypeData.Events; // Load model for this block type Model model = Game.Content.Load <Model>(@"Models\" + blockTypeData.Appearance.Model); blockType.Model = model; blockType.Color = blockTypeData.Appearance.Color.ToVector3(); // Create instance mesh for blocks of this type // TODO: Think about how mane instances this InstancedMesh should have InstancedMesh <VertexData> instancedMesh = new InstancedMesh <VertexData>(Game.GraphicsDevice, model.Meshes[0].MeshParts[0], Matrix.Identity, maxBlocks); if (String.IsNullOrEmpty(blockTypeData.Appearance.Texture) == false) { Texture2D texture = Game.Content.Load <Texture2D>(@"Images\" + blockTypeData.Appearance.Texture); instancedMesh.Effect.Texture = texture; instancedMesh.Effect.TextureEnabled = true; blockType.Texture = texture; } // Set color for instance mesh effect instancedMesh.Effect.DiffuseColor = blockTypeData.Appearance.Color.ToVector3(); // Associate instance mesh with block type blockInstancedMeshes.Add(blockType.Name, instancedMesh); // Store block type by its name blockTypes.Add(blockTypeName, blockType); return(blockType); }