示例#1
0
        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);
        }
示例#2
0
    // 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();
    }