Exemple #1
0
    // 处理数据包
    private void ProcessPackage()
    {
        Network.Package p;

        // 获取数据包直到完毕
        while (mNetwork.NextPackage(out p))
        {
            // 确定不是本机,避免重复
            if (mNetwork._id == p.id)
            {
                return;
            }

            // 获取该客户相对应的人物模组
            if (!_htEnemies.Contains(p.id))
            {
                AddEnemyCharacter(p.id);
            }

            // 更新客户的人物模型状态
            EnemyCharacter ec = (EnemyCharacter)_htEnemies[p.id];

            // 血量
            ec.SetHP(p.hp);

            // 移动动作
            ec.Move(p.pos.V3, p.rot.V3, p.cameraRot.V3, p.rightHandRot.V3);

            // 开枪
            if (p.isShooted)
            {
                ec.Fire();
            }
        }
    }