aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2018-10-29 21:15:20 +0800
committerchai <chaifix@163.com>2018-10-29 21:15:20 +0800
commit1a2d615c0d1cd67a8b5a52595b28b2dfcbfc4186 (patch)
tree5bf103638cc806664101cf7422f2e680cabf62d2 /src
parentaca962d7ce3d404671cace2a82b04ff937375009 (diff)
*更新状态机
Diffstat (limited to 'src')
-rw-r--r--src/3rdparty/buildvm/buildvm.exebin62976 -> 62976 bytes
-rw-r--r--src/3rdparty/minilua/minilua.exebin112640 -> 112640 bytes
-rw-r--r--src/libjin/Utils/je_log.h1
-rw-r--r--src/libjin/ai/je_state_machine.cpp7
-rw-r--r--src/libjin/ai/je_state_machine.h16
5 files changed, 17 insertions, 7 deletions
diff --git a/src/3rdparty/buildvm/buildvm.exe b/src/3rdparty/buildvm/buildvm.exe
index ed23035..53a6c72 100644
--- a/src/3rdparty/buildvm/buildvm.exe
+++ b/src/3rdparty/buildvm/buildvm.exe
Binary files differ
diff --git a/src/3rdparty/minilua/minilua.exe b/src/3rdparty/minilua/minilua.exe
index 8e7c938..fe95721 100644
--- a/src/3rdparty/minilua/minilua.exe
+++ b/src/3rdparty/minilua/minilua.exe
Binary files differ
diff --git a/src/libjin/Utils/je_log.h b/src/libjin/Utils/je_log.h
index aeb54d9..21ffd93 100644
--- a/src/libjin/Utils/je_log.h
+++ b/src/libjin/Utils/je_log.h
@@ -54,7 +54,6 @@ typedef Loghelper::Level Loglevel;
#define jin_log_warning(f, ...) Loghelper::log(Loghelper::LV_WARNING, f, __VA_ARGS__)
#define jin_log_debug(f, ...) Loghelper::log(Loghelper::LV_DEBUG, f, __VA_ARGS__)
#else
- #define jin_debug_log(level, fmt, ...)
#define jin_log_error(f, ...)
#define jin_log_info(f, ...)
#define jin_log_warning(f, ...)
diff --git a/src/libjin/ai/je_state_machine.cpp b/src/libjin/ai/je_state_machine.cpp
index 2d82a0a..987dbce 100644
--- a/src/libjin/ai/je_state_machine.cpp
+++ b/src/libjin/ai/je_state_machine.cpp
@@ -112,12 +112,7 @@ namespace JinEngine
case ParameterType::Int: return p.value._int == condition.value._int;
case ParameterType::Float: return p.value._float == condition.value._float;
case ParameterType::Bool: return p.value._bool == condition.value._bool;
- case ParameterType::Trigger:
- {
- bool trigger = p.value._int == true;
- if (trigger) p.value._int = false;
- return trigger;
- }
+ case ParameterType::Trigger: return p.value._trigger == true;
}
return false;
}
diff --git a/src/libjin/ai/je_state_machine.h b/src/libjin/ai/je_state_machine.h
index 193ab65..ba3a318 100644
--- a/src/libjin/ai/je_state_machine.h
+++ b/src/libjin/ai/je_state_machine.h
@@ -200,12 +200,28 @@ namespace JinEngine
ParameterValue value;
};
+ enum ParameterExpression
+ {
+ //
+ INT_BIGGER = 0x02,
+ INT_SMALLER = 0x04,
+ INT_EQUAL = 0x08,
+ //
+ FLOAT_BIGGER = 0x10,
+ FLOAT_SMALLER = 0x20,
+ FLOAT_EQUAL = 0x40,
+ //
+ BOOL_IS = 0x80,
+ BOOL_NOT = 0x100,
+ };
+
///
/// Traslation's condition.
///
struct Condition
{
std::string parameter;
+ ParameterExpression expression;
ParameterValue value;
};