zoukankan      html  css  js  c++  java
  • Unity3d

    上期工程实现了装备的穿上功能,但是还有些不完善,我们必须进行进一步完善。

    需要完善的内容主要有2个:

    ①如果穿带前该栏有装备,那么需要将原装备退回至背包内;

    ②成功穿戴装备后,需要使背包内的相应装备数量-1,如果数量为0了,那么删除该格内的物品。

    脚本如下:

    实现功能①,只需要在Class EquipmentUI中的Dress方法中检测格子内是否有物品的条件的代码块更新为:

    if(item != null)

    {

        Inventory._instance.GetId(item.id);

        item.SetInfo(info);

    }

    这样就实现了将原装备放回背包的功能。(其实并不是放回,而是重新建立了一个物品镜像而已)

    实现功能②,需要在InventoryItem的方法中进行更新:

    Class InventoryItem

    {

        void Update( )

        {

            if(isHover)

            {

                bool success = EquipmentUI._instance.Dress(id);

                if(success)

                {

                    this.tranform.parent.GetCompnent<InventoryItemGrid>().MinusNumber();//这个方法后续来构建

                }

            }

        }

    }

    现在开始构建计数减少的方法

    Class InventoryItemGrid

    {

        public bool MinusNumber(int num = 1)

        {

            if(this.num >= num)

            {

                this.num -= num;

                numberLaber.text = this.num;

                if(this.num == 0)

                 {

                     ClearInfo();

                     GameObject.Destory(this.GetCompnentInChild<InventoryItem>().gameObject);

                 }

                return true;

            }

                return false;

        }

    }

    这样就构建了装备的穿戴系统。

  • 相关阅读:
    vue 封装tarbar组件
    vue 路由守卫
    mint ui switch 开关
    数据库与实例的关系
    Grafana使用总结
    阿里P7前端需要哪些技能
    laravel -- 自定义Api接口全局异常处理
    laravel -- 单元测试
    laravel 项目迁移后重新生成链接文件
    laravel HTTP 请求, 接受参数处理
  • 原文地址:https://www.cnblogs.com/yanbenxin/p/5875643.html
Copyright © 2011-2022 走看看