public static MonsterDataList Create() { MonsterDataList asset = ScriptableObject.CreateInstance <MonsterDataList>(); AssetDatabase.CreateAsset(asset, "Assets/MonsterDataList.asset"); AssetDatabase.SaveAssets(); return(asset); }
void OnEnable() { if (EditorPrefs.HasKey("ObjectPath")) { string objectPath = EditorPrefs.GetString("ObjectPath"); monsterDataList = AssetDatabase.LoadAssetAtPath(objectPath, typeof(MonsterDataList)) as MonsterDataList; } }
public int CheckCondition() { // 取得怪物資料 MonsterDataList monsterDataList = DataSystem.GetSystem <MonsterDataList>(); MonsterData monsterData = monsterDataList.GetData(monsterID); // float v = 0; // 檢查類型 switch (valueType) { case GlobalEnum.ValueType.HP: v = monsterData.hp; if (percentage) { v = (float)v / monsterData.MaxHP; } break; case GlobalEnum.ValueType.MP: v = monsterData.mp; if (percentage) { v = (float)v / monsterData.MaxMP; } break; } // 判斷條件 switch (valueConditionType) { case ValueConditionType.Less: if (v < value1) { return(nextID); } break; case ValueConditionType.Greater: if (v > value1) { return(nextID); } break; case ValueConditionType.Between: if (value1 < v && v < value2) { return(nextID); } break; } return(-1); }
// Use this for initialization void Start() { MonsterDataList dataList = DataSystem.GetSystem <MonsterDataList>(); MonsterData monsterData = new MonsterData(); monsterData.hp = 120; monsterData.mp = 120; monsterData.MaxHP = 120; monsterData.MaxMP = 120; dataList.SetData(monsterAI.monsterID, monsterData); monsterAI.StartAI(); }
private Promise loadMonsterConfig() { return(new Promise((Action resolve, Action <Exception> reject) => { TextAsset monsterConfig = AppContext.instance.assetsManager.getAssetByUrlSync <TextAsset> (ConfigPath.monsterConfig); string context = monsterConfig.text; MonsterDataList monsterDataList = JsonMapper.ToObject <MonsterDataList> (context); foreach (MonsterData monsterData in monsterDataList.monsterList) { AppContext.instance.customDataManager.monsterDataDic.Add(monsterData.id, monsterData); } resolve?.Invoke(); })); }
public void SetMonsterData() { MonsterDataList monsterDataList = BattleManager.Instance.monsterDataList; race = MONSTER_RACE.ANIMAL; title = BattleManager.Instance.monsterDataList.monsterList[0].title; attackSpeed = monsterDataList.monsterList[0].speed; attackTimer = 0.0f; oriProp.weaponSpeed = monsterDataList.monsterList[0].speed; oriProp.physicMinDamage = Mathf.RoundToInt(monsterDataList.monsterList[0].atk + (lv - 1) * monsterDataList.monsterList[0].atkRate); oriProp.physicMaxDamage = Mathf.RoundToInt(monsterDataList.monsterList[0].atk + (lv - 1) * monsterDataList.monsterList[0].atkRate); oriProp.weaponCrit = 5f; _hp = Mathf.RoundToInt(monsterDataList.monsterList[0].hp + (lv - 1) * monsterDataList.monsterList[0].hpRate); maxHp = _hp; //_prop = prop.clone(); ReCalcProperty(); }
void OpenMonsterList() { string absPath = EditorUtility.OpenFilePanel("Select Monster Data List", "", ""); if (absPath.StartsWith(Application.dataPath)) { string relPath = absPath.Substring(Application.dataPath.Length - "Assets".Length); monsterDataList = AssetDatabase.LoadAssetAtPath(relPath, typeof(MonsterDataList)) as MonsterDataList; if (monsterDataList.monsterList == null) { monsterDataList.monsterList = new List <MonsterData>(); } if (monsterDataList) { EditorPrefs.SetString("ObjectPath", relPath); } } }