静态函数一个有用的设计模式

本文探讨了静态函数作为设计模式在游戏引擎中的一种实用应用,特别是在WardEntity类的GetWard方法中。该方法允许直接创建并初始化WardEntity实例,简化了传统引擎中多步骤的实体创建过程,提高了代码的可读性和效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

静态函数一个有用的设计模式

public class WardEntity : PositiveEntity
{

    public static WardEntity GetWard(Vec3 aPos, int aTeamID, LFixed aLifeTime)
        {
            WardEntity entity;
            entity = CreateEntity(aTeamID);

            entity.CanSelected = true;
            entity.LogicTrans.position = aPos;
            //entity.InitWardEntity(aPos);

            entity.TeamId = aTeamID;
            entity.ForceUpdateShowLvl = true;
            entity.mMaxLifeTime = aLifeTime;
            entity.LifeTime = aLifeTime;

            //entity.SetUpdate(true);
            entity.Start();
            EntityManager.Instance.Add(entity.EntityId, entity);

            return entity;
        }
}

好处是,在外部可以直接使用WardEntity.
GetWard(pos, id, life)来获取一个对象。直观,好用。
传统引擎的处理是这样的 var ward = EntityManager.GetWard(); ward.Init(pos, id, life),好好对比下这两个点
 
  

 

posted on 2019-03-06 11:47 时空观察者9号 阅读(...) 评论(...) 编辑 收藏

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值