ACR_BuilderPlugin.ModuleValidator.GetAreVariablesEqual C# (CSharp) Méthode

GetAreVariablesEqual() private méthode

Determines if a given variable on an object matches another.
private GetAreVariablesEqual ( NWN2WaypointTemplate waypoint, string variable1, string variable2 ) : bool
waypoint NWN2WaypointTemplate
variable1 string
variable2 string
Résultat bool
        private bool GetAreVariablesEqual(NWN2WaypointTemplate waypoint, string variable1, string variable2)
        {
            if (waypoint == null) return true;
            if (waypoint.Variables.GetVariable(variable1) == null && waypoint.Variables.GetVariable(variable2) == null) return true;
            if (waypoint.Variables.GetVariable(variable1) == null || waypoint.Variables.GetVariable(variable2) == null) return false;
            if (waypoint.Variables.GetVariable(variable1).VariableType != waypoint.Variables.GetVariable(variable2).VariableType) return false;
            switch (waypoint.Variables.GetVariable(variable1).VariableType)
            {
                case NWN2ScriptVariableType.Float:
                    return (waypoint.Variables.GetVariable(variable1).ValueFloat == waypoint.Variables.GetVariable(variable2).ValueFloat);
                case NWN2ScriptVariableType.Int:
                    return (waypoint.Variables.GetVariable(variable1).ValueInt == waypoint.Variables.GetVariable(variable2).ValueInt);
                case NWN2ScriptVariableType.Location:
                    return (waypoint.Variables.GetVariable(variable1).ValueLocation == waypoint.Variables.GetVariable(variable2).ValueLocation);
                case NWN2ScriptVariableType.String:
                    return (waypoint.Variables.GetVariable(variable1).ValueString == waypoint.Variables.GetVariable(variable2).ValueString);
            }
            return false;
        }