From 52adef8e9b06715359477030ef33bac52e8f70bb Mon Sep 17 00:00:00 2001 From: PopSlime Date: Thu, 1 Jun 2023 23:16:45 +0800 Subject: [PATCH] Modify the logic of "and" and "or" operator. --- Assets/Cryville/Crtr/PdtEvaluator.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Assets/Cryville/Crtr/PdtEvaluator.cs b/Assets/Cryville/Crtr/PdtEvaluator.cs index f7a18fe..00ec94b 100644 --- a/Assets/Cryville/Crtr/PdtEvaluator.cs +++ b/Assets/Cryville/Crtr/PdtEvaluator.cs @@ -107,8 +107,8 @@ namespace Cryville.Crtr { static readonly int _colop_and = IdentifierManager.Shared.Request("&"); static readonly int _colop_or = IdentifierManager.Shared.Request("|"); protected override bool Collapse(int name, PdtVariableMemory param) { - if (name == _colop_and) return param.Type == PdtInternalType.Number && param.AsNumber() <= 0; - else if (name == _colop_or) return param.Type != PdtInternalType.Number || param.AsNumber() > 0; + if (name == _colop_and) return (param.Type == PdtInternalType.Number || param.Type == PdtInternalType.Vector) && param.AsNumber() <= 0; + else if (name == _colop_or) return (param.Type != PdtInternalType.Number && param.Type != PdtInternalType.Vector) || param.AsNumber() > 0; else throw new KeyNotFoundException(string.Format("Undefined collapse operator {0}", IdentifierManager.Shared.Retrieve(name))); }