当前位置: 首页>>代码示例>>C#>>正文


C# LuaValue.TryGetClrValue方法代码示例

本文整理汇总了C#中LuaValue.TryGetClrValue方法的典型用法代码示例。如果您正苦于以下问题:C# LuaValue.TryGetClrValue方法的具体用法?C# LuaValue.TryGetClrValue怎么用?C# LuaValue.TryGetClrValue使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在LuaValue的用法示例。


在下文中一共展示了LuaValue.TryGetClrValue方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: Equals

		public LuaValue Equals (LuaRuntime runtime, LuaValue left, LuaValue right)
		{
			Player a, b;
			if (!left.TryGetClrValue<Player>(out a) || !right.TryGetClrValue<Player>(out b))
				return false;

			return a == b;
		}
开发者ID:JackKucan,项目名称:OpenRA,代码行数:8,代码来源:Player.cs

示例2: Subtract

        public LuaValue Subtract(LuaRuntime runtime, LuaValue left, LuaValue right)
        {
            WVec a, b;
            if (!left.TryGetClrValue<WVec>(out a) || !right.TryGetClrValue<WVec>(out b))
                throw new LuaException("Attempted to call WVec.Subtract(WVec, WVec) with invalid arguments ({0}, {1})".F(left.WrappedClrType().Name, right.WrappedClrType().Name));

            return new LuaCustomClrObject(a - b);
        }
开发者ID:RunCraze,项目名称:OpenRA,代码行数:8,代码来源:WVec.cs

示例3: Add

        public LuaValue Add(LuaRuntime runtime, LuaValue left, LuaValue right)
        {
            WPos a;
            WVec b;
            if (!left.TryGetClrValue<WPos>(out a) || !right.TryGetClrValue<WVec>(out b))
                throw new LuaException("Attempted to call WPos.Add(WPos, WVec) with invalid arguments ({0}, {1})".F(left.WrappedClrType().Name, right.WrappedClrType().Name));

            return new LuaCustomClrObject(a + b);
        }
开发者ID:RunCraze,项目名称:OpenRA,代码行数:9,代码来源:WPos.cs

示例4: Subtract

        public LuaValue Subtract(LuaRuntime runtime, LuaValue left, LuaValue right)
        {
            WPos a;
            var rightType = right.WrappedClrType();
            if (!left.TryGetClrValue<WPos>(out a))
                throw new LuaException("Attempted to call WPos.Subtract(WPos, WVec) with invalid arguments ({0}, {1})".F(left.WrappedClrType().Name, rightType));

            if (rightType == typeof(WPos))
            {
                WPos b;
                right.TryGetClrValue<WPos>(out b);
                return new LuaCustomClrObject(a - b);
            }
            else if (rightType == typeof(WVec))
            {
                WVec b;
                right.TryGetClrValue<WVec>(out b);
                return new LuaCustomClrObject(a - b);
            }

            throw new LuaException("Attempted to call WPos.Subtract(WPos, WVec) with invalid arguments ({0}, {1})".F(left.WrappedClrType().Name, rightType));
        }
开发者ID:RunCraze,项目名称:OpenRA,代码行数:22,代码来源:WPos.cs

示例5: Set

		public void Set(LuaRuntime runtime, LuaValue value)
		{
			if (IsSetProperty)
			{
				var pi = Member as PropertyInfo;
				object clrValue;
				if (!value.TryGetClrValue(pi.PropertyType, out clrValue))
					throw new LuaException("Unable to convert '{0}' to Clr type '{1}'".F(value.WrappedClrType().Name, pi.PropertyType));

				pi.SetValue(Target, clrValue, null);
			}
			else
				throw new LuaException("The property '{0}' is read-only".F(Member.Name));
		}
开发者ID:Berzeger,项目名称:OpenRA,代码行数:14,代码来源:ScriptMemberWrapper.cs


注:本文中的LuaValue.TryGetClrValue方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。