【Unity】优化 if else 和 Switch Case

优化 if else 和 Switch Case
z
大量的if else 和 Switch Case会造成代码冗余且消耗性能,可以借用如下方法优化

  1. 使用字典进行优化

    • 方法优化:
    //注册字典,通过Action作为值,然后进行回调
    private Dictionary<int, Action<CharacterEntity>> animationActions =
                new Dictionary<int, Action<CharacterEntity>>()
                {
                    { 0, (character) => character.animator.SetTurnUp() },
                    { 1, (character) => character.animator.SetTurnDown() },
                    { 2, (character) => character.animator.SetTurnRight() },
                    { 3, (character) => character.animator.SetTurnLeft() }
                };
    
    /****************调用方法****************/
    //通过对字典判空
    //传参执行回调
    private void UpdatePlayerAnimation(CharacterEntity character, int id)
            {
                if (animationActions.TryGetValue(id, out var action))
                {
                    action(character);
                }
            }
    
  2. 使用数组进行优化:

    • 优化坐标:
    //创建坐标数组
    private Vector3[] _positionOffsets = new Vector3[]
            {
                new Vector3(0, 1f, 0),
                new Vector3(0, -0.2f, 0),
                new Vector3(-0.7f, 0, 0),
                new Vector3(0.7f, 0, 0)
            };
    
    //直接通过id调用即可
    transform.position = pos + _positionOffsets[id];
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

憨辰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值