Пример #1
0
    // 得到自己的队伍信息(从自己的数据池获取)
    void FillMyInfo(TeamMemberInfo member)
    {
        if (member == null)
        {
            throw new NullReferenceException("team member in FillMyInfo(member)");
        }

        CObject_PlayerMySelf pMe = CObjectManager.Instance.getPlayerMySelf();

        CCharacterData pMyData = pMe.GetCharacterData();

        if (null == pMyData)
        {
            return;
        }
        member.m_szNick        = pMyData.Get_Name();
        member.m_uFamily       = pMyData.Get_MenPai();
        member.m_uDataID       = pMyData.Get_RaceID();
        member.m_uLevel        = pMyData.Get_Level();
        member.m_nPortrait     = pMyData.Get_PortraitID();
        member.m_WorldPos.m_fX = pMe.GetPosition().x;
        member.m_WorldPos.m_fZ = pMe.GetPosition().z;
        member.m_nHP           = pMyData.Get_HP();
        member.m_dwMaxHP       = pMyData.Get_MaxHP();
        member.m_nMP           = pMyData.Get_MP();
        member.m_dwMaxMP       = pMyData.Get_MaxMP();
        member.m_nAnger        = 100; // 客户端没有
        member.m_WeaponID      = pMyData.Get_Equip(HUMAN_EQUIP.HEQUIP_WEAPON);
        member.m_CapID         = pMyData.Get_Equip(HUMAN_EQUIP.HEQUIP_CAP);
        member.m_ArmourID      = pMyData.Get_Equip(HUMAN_EQUIP.HEQUIP_ARMOR);
        member.m_CuffID        = pMyData.Get_Equip(HUMAN_EQUIP.HEQUIP_CUFF);
        member.m_FootID        = pMyData.Get_Equip(HUMAN_EQUIP.HEQUIP_BOOT);
        member.m_uBackID       = pMyData.Get_Equip(HUMAN_EQUIP.HEQUIP_BACK);//  [8/30/2010 Sun]
        member.m_bDead         = (pMe.CharacterLogic_Get() == ENUM_CHARACTER_LOGIC.CHARACTER_LOGIC_DEAD);

        member.m_uFaceMeshID = pMyData.Get_FaceMesh();
        member.m_uHairMeshID = pMyData.Get_HairMesh();
        member.m_uHairColor  = pMyData.Get_HairColor();
    }
Пример #2
0
    protected void UpdateEquip(HUMAN_EQUIP point)
    {
        CCharacterData pCharacterData = GetCharacterData();

        if (pCharacterData == null)
        {
            return;
        }

        //生成一个临时的Item对象
        int nID = pCharacterData.Get_Equip(point);

//          CObject_Item_Equip pTempEquip = null;
//
//          if(nID != MacroDefine.INVALID_ID)
//          {
//              pTempEquip = (CObject_Item_Equip)CObject_Item.NewItem(nID);
//               visualID = pTempEquip.GetVisualID();
//          }
        //因为和物品相关的代码还没有完成,暂时直接访问数据库  [1/4/2012 ZZY]
        DBC.COMMON_DBC <_DBC_ITEM_EQUIP_BASE> equipBaseDBC = CDataBaseSystem.Instance.GetDataBase <_DBC_ITEM_EQUIP_BASE>((int)DataBaseStruct.DBC_ITEM_EQUIP_BASE);

        _DBC_ITEM_EQUIP_BASE pEquip = equipBaseDBC.Search_Index_EQU(nID);
        //如果是装备根据装配点装备物品
        bool result = false;

        if (/*pTempEquip != null && ITEM_CLASS.ICLASS_EQUIP == pTempEquip.GetItemClass()*/ pEquip != null && pEquip.nVisualID != MacroDefine.INVALID_ID)
        {
            if (point == HUMAN_EQUIP.HEQUIP_WEAPON)
            {
                if (m_bHideWeapon == true && mRenderInterface != null)               //如果当前正隐藏武器,那么不装备武器 [2012/4/18 ZZY]
                {
                    mRenderInterface.changeRightWeapon("");
                    mRenderInterface.changeLeftWeapon("");
                    SetWeaponType(ENUM_WEAPON_TYPE.WEAPON_TYPE_NONE);
                }
                else
                {
                    result = EquipItem_BodyLocator(/*pTempEquip.GetItemType()*/ point, pEquip.nVisualID);
                    SetWeaponType((ENUM_WEAPON_TYPE)pEquip.nType);
                }
            }
            else
            {
                result = EquipItem_BodyPart(point, pEquip.nVisualID);
            }
        }
        else
        {
            //卸载装备
            UnEquipItem(point);
        }
        //  [5/6/2011 ivan edit]
        if (result == false)
        {
            UnEquipItem(point);
        }


        //CObject_Item.DestroyItem(pTempEquip);
    }