Exemple #1
0
    protected override void OnEnable()
    {
        my = gameObject.GetComponent<Transform>();
        monsterCollider = gameObject.GetComponent<BoxCollider2D>();

        _monsterData = DataManager.Instance.monsterData.list[no - 1];
        //monsterLevel = PlayerManager. playerlevel +- 5;
        maxHp = (_monsterData.maxHP)*monsterLevel*elite;
        monsterName = _monsterData.name;
        if (isSplit)
        {
            maxHp *= 0.5f;
            monsterName = monsterName + "Split";
        }
        currentHp = maxHp;
        moveSpeed = _monsterData.moveSpeed;//(elite);
        feature1 = _monsterData.feature1;
        feature2 = _monsterData.feature2;
        KnockbackTime /= elite;
        my.localScale *= elite;
        KnockbackTime /= (elite * elite);
        if (elite >= 3)
        {
            KnockbackTime = 0;
        }

        healHP = maxHp * feature2;

        currentSP = 0;

        monsterSprite = gameObject.GetComponentInChildren<SpriteRenderer>();
        base.OnEnable();
        StartCoroutine(MonsterAnimation());

        monsterHUD  = GameObject.FindGameObjectWithTag("MonsterUI").GetComponent<MonsterHUD>();

        imagePath = ("Monsters/Level" + elite.ToString() + "/monster_" + (no * 2).ToString()).ToString();
    }
Exemple #2
0
    /// <summary>
    /// Monster 정보를 ScriptableObject만듬
    /// </summary>
    static void MakeMonsterData()
    {
        //SciprtableObject를 생성
        MonsterData data = ScriptableObject.CreateInstance<MonsterData>();
        //ScriptableObject를 파일로 만듬
        AssetDatabase.CreateAsset((ScriptableObject)data, monsterExportPath);
        //수정 불가능하게 설정(에디터에서 수정 하게 하려면 주석처리)
        data.hideFlags = HideFlags.NotEditable;

        //자료를 삭제(초기화)
        data.list.Clear();

        //CSVRead
        List<Dictionary<string,object>> csvData = CSVReader.Read("CSV/Monster");

        for (int i = 0; i < csvData.Count; i++)
        {
            MonsterData.Attribute temp = new MonsterData.Attribute();
            //여기에 추가Name,stage,no,maxHP,moveSpeed,ave,feature1,feature2
            temp.name = (string)csvData[i]["name"];
            temp.stage = (int)csvData[i]["stage"];
            temp.no = (int)csvData[i]["no"];
            temp.maxHP = (int)csvData[i]["maxHP"];
            temp.moveSpeed = (float)csvData[i]["moveSpeed"];
            temp.feature1 = (string)csvData[i]["feature1"];
            temp.feature2 = (float)csvData[i]["feature2"];

            data.list.Add(temp);

        }

        //위에서 생성된 SciprtableObject의 파일을 찾음
        ScriptableObject obj =
            AssetDatabase.LoadAssetAtPath(monsterExportPath, typeof(ScriptableObject)) as ScriptableObject;
        //디스크에 쓰기
        EditorUtility.SetDirty(obj);
    }