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(); }
/// <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); }