Esempio n. 1
0
    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");
    }
Esempio n. 2
0
    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);
    }
Esempio n. 3
0
        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);
        }