private object CastLuaResult(SharedVariableTypes variableType, Lua.Result result) { switch (variableType) { case SharedVariableTypes.Bool: return(result.AsBool); case SharedVariableTypes.Float: return(result.AsFloat); case SharedVariableTypes.Int: return(result.AsInt); case SharedVariableTypes.String: return(result.AsString); default: return(null); } }
public override void OnEnter() { string luaCodeString = (luaCode != null) ? luaCode.Value : string.Empty; bool debugFlag = (debug != null) ? debug.Value : false; Lua.Result luaResult = Lua.Run(luaCodeString, debugFlag); if ((storeResult != null) && storeResult.useVariable) { switch (storeResult.Type) { case VariableType.Bool: storeResult.SetValue(luaResult.AsBool); break; case VariableType.Float: storeResult.SetValue(luaResult.AsFloat); break; case VariableType.Int: storeResult.SetValue(luaResult.AsInt); break; case VariableType.String: storeResult.SetValue(luaResult.AsString); break; default: if (DialogueDebug.LogWarnings) { Debug.LogWarning(string.Format("{0}: Variable type must be Bool, Float, Int, or String for Lua code '{1}'", DialogueDebug.Prefix, luaCode)); } break; } } Finish(); }
public override void OnEnter() { if ((variableName == null) || string.IsNullOrEmpty(variableName.Value)) { LogWarning(string.Format("{0}: Variable Name isn't assigned or is blank.", DialogueDebug.Prefix)); } else { Lua.Result luaResult = DialogueLua.GetVariable(variableName.Value); if (storeStringResult != null) { storeStringResult.Value = luaResult.AsString; } if (storeFloatResult != null) { storeFloatResult.Value = luaResult.AsFloat; } if (storeBoolResult != null) { storeBoolResult.Value = luaResult.AsBool; } } Finish(); }
void OnVarChanged(LuaWatchItem item, Lua.Result value) { Interact(); }