public override void InitAttr(IEntityAttr entityAttr)
    {
        PlayerEntityAttr attri = entityAttr as PlayerEntityAttr;

        if (attri == null)
        {
            return;
        }
    }
Beispiel #2
0
    public override PlayerEntity CreatePlayerEntity(EntityType entityType, EWeaponType curWeapon, Vector3 spawnPoint)
    {
        PlayerEntity entity     = null;
        GameObject   tmpGo      = null;
        string       prefabName = "";

        switch (entityType)
        {
        case EntityType.EntityType_PlayerRifeMan:
            entity     = new PlayerRifeMan();
            prefabName = "RifeMan";
            break;

        case EntityType.EntityType_PlayerMaskMan:
            entity     = new PlayerMaskMan();
            prefabName = "MaskMan";
            break;

        default:
            entity     = new PlayerRifeMan();
            prefabName = "RifeMan";
            break;
        }
        //先读取预设
        tmpGo = GlobalClient.Instance.objPoolManager.Get <PlayerEntity>();
        if (tmpGo == null)
        {
            entity = tmpGo.GetComponent <PlayerEntity>();
        }
        //設置模型

        //创建武器
        IWeapon weapon = CreateWeapon(curWeapon);

        entity.weapon = weapon;
        //创建属性
        PlayerEntityAttr attr = CreatePlayerEntityAttr(0);

        entity.SetEntityAttribute(attr);
        //创建ai行为
        PlayerEntityAIController aiController = CreatePlayerEntityAIController();

        entity.aiController = aiController;

        //添加到实体管理器
        GlobalClient.Instance.entityManager.AddPlayerdEntity(entity);
        return(entity);
    }