微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如果我正在检查 ID 的实体不存在,我如何返回 null 或什么都不返回如果我发送一个不存在的实体的 ID

如何解决如果我正在检查 ID 的实体不存在,我如何返回 null 或什么都不返回如果我发送一个不存在的实体的 ID

entityManager.AddEntity(kat);
entityManager.AddEntity(kai);
entityManager.AddEntity(yugo);
entityManager.AddEntity(tsuki);
entityManager.AddEntity(ryo);
entityManager.AddEntity(nami);
entityManager.AddEntity(yugito);
entityManager.GetEntityWithUniqueId(idtocheck).isActive = false;

这是我使用 GetEntityWithUniqueID(Idtocheck) 方法的地方 Idtocheck一个设置为 7 的整数,唯一存在的实体的 id 为 0 到 6。

IsActive 是实体中存在的布尔值,它将决定实体是否处于“活动”状态。

public Entity GetEntityWithUniqueId(int idOfEntity)
        {
            Entity stepEntity;
            Entity returnEntity;

            stepEntity = firstEntity.nextEntity;
            if (firstEntity.uniqueID == idOfEntity)
            {
                returnEntity = firstEntity;
            }
            else
            {
                while (stepEntity.uniqueID != idOfEntity)
                {
                    stepEntity = stepEntity.nextEntity;
                }
                returnEntity = stepEntity;
            }
            return returnEntity;
        }

这是我用于检查我发送给该方法的 ID 对应于哪个实体的方法。 此方法返回我想要编辑的对象实体。

        public void AddEntity(Entity entityToAdd)
        {
            Entity stepEntity;

            if (firstEntity == null)
            {
                firstEntity = entityToAdd;
                firstEntity.uniqueID = 0;
            }
            else
            {
                stepEntity = firstEntity;
                int newID = 1;

                while (stepEntity.nextEntity != null)
                {
                    stepEntity = stepEntity.nextEntity;
                    newID++;
                }
                stepEntity.nextEntity = entityToAdd;
                entityToAdd.uniqueID = newID;
            }
            Debug.Print(entityToAdd + " Has been loaded");
        }

这是我用来向对象链添加实体的方法方法是使用实​​体中名为 nextEntity 的对象。

最后,如果整数 idOfEntity 设置为不存在的实体的 ID,我会收到一个错误,我想解决这个问题,这样如果我发送一个不存在的实体的 ID,则不会发生任何事情。

Pastebin 链接

Game1 Class where I call my methods to change enteties

EntityManager Class where I manage my enteties

Entity Class where I define my enteties

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。