(unity/c#)反射为类赋值小工具

这篇具有很好参考价值的文章主要介绍了(unity/c#)反射为类赋值小工具。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

string参数为需要修改的变量,dynamic需要一个int/float数值,将从playvalue类中检索对应变量修改数值文章来源地址https://www.toymoban.com/news/detail-690643.html

 public static class playerValue
    {
        public static int MeleeDMG;//近战伤害
        public static int RangedDMG;//远程伤害
        public static int MagicDMG;//魔法伤害
        public static int DEF;//防御力
        public static int HP;//生命值
        public static int MP;//法力值
        public static float MagicSPD;//技能极速
        public static float MoveSpeed;//移动速度
        public static float ATKSpeed;//攻击速度
        public static float Suck;//吸血
        public static float Element;//元素加成
        public static float Penetrate;//护甲穿透
        public static float CRIT;//暴击率
        public static float CRITDMG;//暴击伤害
        public static float HPReply;//生命回复
        public static float MPReply;//魔法回复
    }
    

  void IncreaseValue(string variableName, dynamic amount)
     {
         System.Type type = typeof(playerValue);
         System.Reflection.FieldInfo field = type.GetField(variableName);
         
         if (field != null)
         {
             if (field.FieldType == typeof(int))
             {
                 int currentValue = (int)field.GetValue(null);
                 int newValue = currentValue + (int)amount;
                 field.SetValue(null, newValue);
             }
             else if (field.FieldType == typeof(float))
             {
                 float currentValue = (float)field.GetValue(null);
                 float newValue = currentValue + amount;
                 field.SetValue(null, newValue);
             }
             else
             {
                 Debug.LogError("Unsupported field type.");
             }
         }
         else
         {
             Debug.LogError("Field not found.");
         }
     }

到了这里,关于(unity/c#)反射为类赋值小工具的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Unity Lighting -- 改善场景的反射光照效果

            先来看个案例问题,下图中,苹果的反射效果看起来是很奇怪的。          在它的表面上反射了两种不同颜色的Spot Light光源,还反射了不属于室内环境的来自天空盒的光线,这是有问题的。在解决这个问题之前,我们需要知道在Unity中反射是如何工作的。      

    2024年02月14日
    浏览(52)
  • [Unity/URP学习]反射探针(Reflection Probe)

    传统上,游戏使用一种称为_反射贴图_的技术来模拟来自对象的反射,同时将处理开销保持在可接受的水平。此技术假定场景中的所有反射对象都可以“看到”(因此会反射)完全相同的周围环境。如果游戏的主角(比如闪亮的汽车)处于开放空间中,此技术将非常有效,但

    2023年04月09日
    浏览(39)
  • unity C#深拷贝、浅拷贝、直接赋值区别与经典实例

    在C#中,浅拷贝(Shallow Copy)和深拷贝(Deep Copy)是两种不同级别的对象复制方式。它们的区别主要体现在处理引用类型字段时的行为。 浅拷贝是指复制对象时,只复制对象本身所包含的值类型字段,并将引用类型字段简单地复制一份引用,而不是复制引用的对象内容。这意

    2024年01月16日
    浏览(69)
  • Unity使用反射机制和PlayerPrefs来存储游戏数据

    Unity中有一个PlayerPrefs用来给游戏存储数据。这个类有三个存储三种特定类型的方法:SetInt用来存储int类型的数据,SetFloat用来存储float类型的数据,SetString用来存储string类型的数据,虽然只能存储三种类型的数据,但是对于一般的游戏而言这三种类型完全够用了。本文封装了

    2024年02月04日
    浏览(46)
  • unity在使用Reflection Probe(反射探头)bake(烘焙)时,无法反射出范围內的物体。

    bake后发现反射探头还是原来的样子,解决办法以下: 打开lighting设置,观察最下面是否为图中这样   如果是,则点击旁边的cancel即可解决问题。     

    2024年02月12日
    浏览(37)
  • Unity中URP下的SimpleLit的 Lambert漫反射计算

    在之前的文章中,我们已经知道了 SimpleLit 下的主光数据怎么获取。 Unity中URP下获取主灯信息 Unity中ShaderGraph下获取主灯 有了这些数据,我们就可以计算 Lambert漫反射 和 BlinnPhone高光反射 了。 我们在获取了主光信息后 Light mainLight = GetMainLight1(inputData, shadowMask, aoFactor); 就来到了

    2024年01月21日
    浏览(93)
  • Unity灯光二:ReflectionProbe(反射探针)与LightProbeGroup(光照探针组)

    1.ReflectionProbe   API:反射探针   待更新补充 2.LightProbeGrop:  API:光照探针组  要将光照探针置于场景中,必须使用已附加  Light Probe Group  组件的游戏对象。可从菜单  Component Rendering Light Probe Group  添加 Light Probe Group 组件。 可将 Light Probe Group 组件添加到场景中的任何游戏

    2024年02月12日
    浏览(31)
  • Unity 下载网络图片的方法,并把图片赋值给UI和物体的方法

    Unity 下载网络图片的方法,可使用WWW类或UnityWebRequest类,其中UnityWebRequest是新版的方法。 通常我们下载图片都会转成Texture,然后赋值给UI或者物体。 具体实现方法: 使用上面方法,运行前: 运行后: 完美把网络图片Load下来,并赋到UI和物体上。

    2024年02月04日
    浏览(45)
  • Unity SRP 管线【第七讲:URP LOD实现以及Reflections反射探针】

    中文版:https://edu.uwa4d.com/lesson-detail/282/1314/0?isPreview=0 英文原版:https://catlikecoding.com/unity/tutorials/custom-srp/lod-and-reflections/ 1. 首先该组件需要将子类模型置于该组件物体子节点下 2. 可在单个LOD中设置其level的模型,并可设置它的距离范围,即可在不同距离下显示不同的模型 若

    2024年02月20日
    浏览(40)
  • Unity制作二次元卡通渲染角色材质——3、高光反射与ILM贴图

    Unity制作二次元材质角色 回到目录 大家好,我是阿赵。 这里继续来讲二次元角色的材质。上次讲了光影的色阶化问题,这次继续讲光照模型效果的问题。 之前我们说过,光照模型的最后效果是: 环境色+漫反射+高光+反射。 这里我们可以先忽略环境光,然后之前做了漫反射

    2024年02月11日
    浏览(65)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包