Esempio n. 1
0
    public static void CreateAsset(stageData editItem, int areaIndex)
    {
        stageData item = ScriptableObject.CreateInstance <stageData>();

        item.entryEnemy = new List <EnemyDetail> ();

        item.entryEnemy = editItem.entryEnemy;

        //アセットを保存するパス
        string path = AssetDatabase.GenerateUniqueAssetPath("Assets/Resources/stageData/" + "stage" + areaIndex + ".asset");

        AssetDatabase.CreateAsset(item, path);
        AssetDatabase.SaveAssets();

        EditorUtility.FocusProjectWindow();
        Selection.activeObject = item;
    }
Esempio n. 2
0
    // Update is called once per frame
    void Update()
    {
        int WorldID = 1;

        SD = Resources.Load("ExcelData/stageData") as stageData;

        if (activScene == "W1")
        {
            if (stageMass.MassName == "boss")
            {
                Create(2, WorldID);
            }
        }
        WorldID++;
        if (activScene == "W2")
        {
            if (stageMass.MassName == "boss")
            {
                Create(6, WorldID);
                //  ディアナが仲間になる
                sceneNavigator.GetComponent <StatusControl>().SetAddCharID(3);
            }
        }
        WorldID++;
        if (activScene == "W3")
        {
            if (stageMass.MassName == "boss")
            {
                Create(11, WorldID);
                //  リリーが仲間になる
                sceneNavigator.GetComponent <StatusControl>().SetAddCharID(4);
            }
        }
        WorldID++;
        if (activScene == "W4")
        {
            if (stageMass.MassName == "boss")
            {
                Create(17, WorldID);

                //  エリザが仲間になる
                sceneNavigator.GetComponent <StatusControl>().SetAddCharID(5);
            }
        }
    }
Esempio n. 3
0
    static public void Load(int stageIndex)
    {
        prefabs = null;
        prefabs = Resources.LoadAll <GameObject>("Prefabs");

        Dictionary <string, GameObject> prefabsDic = new Dictionary <string, GameObject>();

        foreach (GameObject prefab in prefabs)
        {
            prefabsDic.Add(prefab.name, prefab);
        }

        stageData item = Resources.Load("stageData/stage" + stageIndex) as stageData;

        if (item == null)
        {
            item = Resources.Load("stageData/stage0") as stageData;
        }
        foreach (EnemyDetail ed in item.entryEnemy)
        {
            GameObject   obj;
            GameObject[] stages = new GameObject[] { null, null, null };
            stages [0] = GameObject.Find("PauseObjects/area/gameStage1");
            stages [1] = GameObject.Find("PauseObjects/area/gameStage2");
            stages [2] = GameObject.Find("PauseObjects/area/gameStage3");
            if (ed.prefabName == "gamePlayer" && GameObject.Find("gamePlayer"))
            {
                GameObject player = GameObject.Find("gamePlayer");
                Destroy(player);
            }
            if (ed.prefabName == "spawnPoint" && GameObject.Find("PauseObjects/area/gameStage" + (ed.stageIndex + 1).ToString() + "/spawnPoint"))
            {
                GameObject sp = GameObject.Find("PauseObjects/area/gameStage" + (ed.stageIndex + 1).ToString() + "/spawnPoint");
                Destroy(sp.gameObject);
            }

            obj = (GameObject)Instantiate(prefabsDic[ed.prefabName], ed.enemy_pos, ed.enemy_rot);

            obj.transform.localScale = ed.enemy_scl;

            obj.transform.parent = stages [ed.stageIndex].transform;

            obj.name = ed.prefabName;
        }
    }
Esempio n. 4
0
    static public void allCreate()
    {
        string[]  guids = new string[99];
        string    path  = AssetDatabase.GUIDToAssetPath(guids [0]);
        stageData obj   = AssetDatabase.LoadAssetAtPath <stageData> (path);

        for (int allCnt = 0; allCnt < 99; allCnt++)
        {
            stageData sd = new stageData {
            };
            if (Resources.Load("OriginalStageData/stage" + allCnt.ToString()))
            {
                string a = "Resources/OriginalStageData/stage" + allCnt.ToString();
                AssetDatabase.DeleteAsset(a);
            }
            saveStageData.CreateAsset(sd, allCnt);
            AssetDatabase.Refresh();
        }
    }
Esempio n. 5
0
    // Update is called once per frame
    void Update()
    {
        //  ステージのカウント用
        int count = 0;
        //  ワールドのID
        int WorldID = 0;

        SD = Resources.Load("ExcelData/stageData") as stageData;

        if (mapChar.activScene == "W1")
        {
            WorldID = 1;
            if (stageMass.MassName == "battle1")
            {
                Create(count, WorldID);
            }
            count++;
            if (stageMass.MassName == "battle2")
            {
                Create(count, WorldID);
            }
        }

        if (mapChar.activScene == "W2")
        {
            count   = 3;
            WorldID = 2;
            if (stageMass.MassName == "battle1")
            {
                Create(count, WorldID);
            }
            count++;
            if (stageMass.MassName == "battle2")
            {
                Create(count, WorldID);
            }
            count++;
            if (stageMass.MassName == "battle3")
            {
                Create(count, WorldID);
            }
        }

        if (mapChar.activScene == "W3")
        {
            count   = 7;
            WorldID = 3;
            if (stageMass.MassName == "battle1")
            {
                Create(count, WorldID);
            }
            count++;
            if (stageMass.MassName == "battle2")
            {
                Create(count, WorldID);
            }
            count++;
            if (stageMass.MassName == "battle3")
            {
                Create(count, WorldID);
            }
            count++;
            if (stageMass.MassName == "battle4")
            {
                Create(count, WorldID);
            }
        }

        if (mapChar.activScene == "W4")
        {
            count   = 12;
            WorldID = 4;
            if (stageMass.MassName == "battle1")
            {
                Create(count, WorldID);
            }
            count++;
            if (stageMass.MassName == "battle2")
            {
                Create(count, WorldID);
            }
            count++;
            if (stageMass.MassName == "battle3")
            {
                Create(count, WorldID);
            }
            count++;
            if (stageMass.MassName == "battle4")
            {
                Create(count, WorldID);
            }
            count++;
            if (stageMass.MassName == "battle5")
            {
                Create(count, WorldID);
            }
        }
    }
Esempio n. 6
0
    void OnGUI()
    {
        if (isFirstTime)
        {
            isFirstTime = false;
            prefabs     = Resources.LoadAll <GameObject>("Prefabs");

            Array.Resize(ref textureList, prefabs.Length);

            stageNum stageNum = stageNum.stage1;

            for (int i = 0; i < prefabs.Length; i++)
            {
                if (prefabs [i].GetComponent <SpriteRenderer> ())
                {
                    textureList [i] = prefabs [i].GetComponent <SpriteRenderer> ().sprite.texture;
                }
                else if (prefabs [i].GetComponentInChildren <SpriteRenderer> ())
                {
                    textureList [i] = prefabs [i].GetComponentInChildren <SpriteRenderer> ().sprite.texture;
                }
                else
                {
                    textureList [i] = null;
                }
            }

            foreach (GameObject obj in UnityEngine.Object.FindObjectsOfType(typeof(GameObject)))
            {
                if (obj.name == "gameStage1")
                {
                    stages [0] = obj;
                }
                if (obj.name == "gameStage2")
                {
                    stages [1] = obj;
                }
                if (obj.name == "gameStage3")
                {
                    stages [2] = obj;
                }
            }
        }
        if (EditorApplication.isPlaying)
        {
            isFirstTime = true;
        }
        if (!EditorApplication.isPlaying)
        {
            int mod    = textureList.Length % 5;
            int length = (textureList.Length - mod) / 5;

            GameObject   obj;
            GameObject[] sel = { null };

            // EditorGUILayoutの使用例.
            EditorGUILayout.LabelField("createEnemy");
            for (int j = 0; j < length; j++)
            {
                for (int i = 0; i < 5; i++)
                {
                    if (textureList [i + j * 5])
                    {
                        if (GUI.Button(new Rect(20.0f + i * 55.0f, 20.0f + j * 55.0f, 50.0f, 50.0f), textureList [i + j * 5]))
                        {
                            Debug.Log(prefabs [i + j * 5].name);
                            obj = GameObject.Instantiate(prefabs [i + j * 5].gameObject);
                            obj.transform.parent   = stages [stageIndex].transform;
                            obj.transform.position = stages [stageIndex].transform.position;
                            obj.name          = prefabs [i + j * 5].name;
                            sel [0]           = obj;
                            Selection.objects = sel;

                            currentSerchObject = obj;

                            SceneView.onSceneGUIDelegate += sceneView;

                            Undo.RegisterCreatedObjectUndo(obj, "object create");
                        }
                    }
                    else
                    {
                        if (GUI.Button(new Rect(20.0f + i * 55.0f, 20.0f + j * 55.0f, 50.0f, 50.0f), prefabs [i + j * 5].name))
                        {
                            Debug.Log(prefabs [i + j * 5].name);
                            obj = GameObject.Instantiate(prefabs [i + j * 5].gameObject);
                            obj.transform.parent   = stages [stageIndex].transform;
                            obj.transform.position = stages [stageIndex].transform.position;
                            obj.name          = prefabs [i + j * 5].name;
                            sel [0]           = obj;
                            Selection.objects = sel;

                            currentSerchObject = obj;

                            SceneView.onSceneGUIDelegate += sceneView;

                            Undo.RegisterCreatedObjectUndo(obj, "object create");
                        }
                    }
                }
            }
            for (int i = 0; i < mod; i++)
            {
                if (textureList [i + length * 5])
                {
                    if (GUI.Button(new Rect(20.0f + i * 55.0f, 20.0f + length * 55.0f, 50.0f, 50.0f), textureList [i + length * 5]))
                    {
                        Debug.Log(prefabs [i + length * 5].name);
                        obj = GameObject.Instantiate(prefabs [i + length * 5].gameObject);
                        obj.transform.parent   = stages [stageIndex].transform;
                        obj.transform.position = stages [stageIndex].transform.position;
                        obj.name          = prefabs [i + length * 5].name;
                        sel [0]           = obj;
                        Selection.objects = sel;

                        currentSerchObject = obj;

                        SceneView.onSceneGUIDelegate += sceneView;

                        Undo.RegisterCreatedObjectUndo(obj, "object create");
                    }
                }
                else
                {
                    if (GUI.Button(new Rect(20.0f + i * 55.0f, 20.0f + length * 55.0f, 50.0f, 50.0f), prefabs [i + length * 5].name))
                    {
                        Debug.Log(prefabs [i + length * 5].name);
                        obj = GameObject.Instantiate(prefabs [i + length * 5].gameObject);
                        obj.transform.parent   = stages [stageIndex].transform;
                        obj.transform.position = stages [stageIndex].transform.position;
                        sel [0]           = obj;
                        Selection.objects = sel;

                        currentSerchObject = obj;

                        SceneView.onSceneGUIDelegate += sceneView;

                        Undo.RegisterCreatedObjectUndo(obj, "object create");
                    }
                }
            }

            numtoint   = (stageNum)EditorGUI.EnumPopup(new Rect(20.0f, 20.0f + (1 + length) * 55.0f, 270.0f, 10.0f), "create on stage index", numtoint);
            stageIndex = (int)numtoint;

            createAreaIndex = EditorGUI.IntField(new Rect(20.0f, 20.0f + (1 + length) * 62.0f, 270.0f, 15.0f), "createAreaIndex", createAreaIndex);

            if (GUI.Button(new Rect(20.0f, 20.0f + (1 + length) * 69.0f, 270.0f, 50.0f), "SaveDataExport"))
            {
                stageData sd = new stageData {
                };
                sd.entryEnemy = new List <EnemyDetail> ();
                for (int i = 0; i < 3; i++)
                {
                    foreach (Transform child in stages[i].transform)
                    {
                        if (child.name != "defaultObject")
                        {
                            EnemyDetail ed = new EnemyDetail();
                            ed.prefabName = child.name;
                            ed.stageIndex = i;
                            ed.enemy_pos  = child.position;
                            ed.enemy_rot  = child.rotation;
                            ed.enemy_scl  = child.localScale;
                            sd.entryEnemy.Add(ed);
                        }
                    }
                }
                if (Resources.Load("stageData/stage" + createAreaIndex.ToString()))
                {
                    string a = "Resources/stageData/stage" + createAreaIndex.ToString();
                    AssetDatabase.DeleteAsset(a);
                }
                saveStageData.CreateAsset(sd, createAreaIndex);
                AssetDatabase.Refresh();
            }
        }
    }
Esempio n. 7
0
    static void OnPostprocessAllAssets(string[] importedAssets, string[] deletedAssets, string[] movedAssets, string[] movedFromAssetPaths)
    {
        foreach (string asset in importedAssets)
        {
            if (!filePath.Equals(asset))
            {
                continue;
            }

            stageData data = (stageData)AssetDatabase.LoadAssetAtPath(exportPath, typeof(stageData));
            if (data == null)
            {
                data = ScriptableObject.CreateInstance <stageData> ();
                AssetDatabase.CreateAsset((ScriptableObject)data, exportPath);
                data.hideFlags = HideFlags.NotEditable;
            }

            data.sheets.Clear();
            using (FileStream stream = File.Open(filePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) {
                IWorkbook book = null;
                if (Path.GetExtension(filePath) == ".xls")
                {
                    book = new HSSFWorkbook(stream);
                }
                else
                {
                    book = new XSSFWorkbook(stream);
                }

                foreach (string sheetName in sheetNames)
                {
                    ISheet sheet = book.GetSheet(sheetName);
                    if (sheet == null)
                    {
                        Debug.LogError("[QuestData] sheet not found:" + sheetName);
                        continue;
                    }

                    stageData.Sheet s = new stageData.Sheet();
                    s.name = sheetName;

                    for (int i = 1; i <= sheet.LastRowNum; i++)
                    {
                        IRow  row  = sheet.GetRow(i);
                        ICell cell = null;

                        stageData.Param p = new stageData.Param();

                        cell = row.GetCell(0); p.stage = (int)(cell == null ? 0 : cell.NumericCellValue);
                        cell = row.GetCell(1); p.enemy_count = (int)(cell == null ? 0 : cell.NumericCellValue);
                        cell = row.GetCell(2); p.enemy_typeCount = (int)(cell == null ? 0 : cell.NumericCellValue);
                        cell = row.GetCell(4); p.enemy1 = (int)(cell == null ? 0 : cell.NumericCellValue);
                        cell = row.GetCell(5); p.enemy2 = (int)(cell == null ? 0 : cell.NumericCellValue);
                        cell = row.GetCell(6); p.enemy3 = (int)(cell == null ? 0 : cell.NumericCellValue);
                        cell = row.GetCell(7); p.enemy4 = (int)(cell == null ? 0 : cell.NumericCellValue);
                        cell = row.GetCell(8); p.enemy5 = (int)(cell == null ? 0 : cell.NumericCellValue);
                        cell = row.GetCell(9); p.enemy6 = (int)(cell == null ? 0 : cell.NumericCellValue);
                        cell = row.GetCell(10); p.enemy7 = (int)(cell == null ? 0 : cell.NumericCellValue);
                        cell = row.GetCell(11); p.enemy8 = (int)(cell == null ? 0 : cell.NumericCellValue);
                        cell = row.GetCell(12); p.BGM = (int)(cell == null ? 0 : cell.NumericCellValue);
                        cell = row.GetCell(13); p.EXP = (cell == null ? 0.0 : cell.NumericCellValue);
                        s.list.Add(p);
                    }
                    data.sheets.Add(s);
                }
            }

            ScriptableObject obj = AssetDatabase.LoadAssetAtPath(exportPath, typeof(ScriptableObject)) as ScriptableObject;
            EditorUtility.SetDirty(obj);
        }
    }