private static void BuildRobotViewProp(table.RobotDataBase robotdata, ref EntityViewProp[] propList) { if (propList == null) { return; } if (propList.Length < 0 || propList.Length > (int)Client.EquipPos.EquipPos_Max) { Engine.Utility.Log.Error("BuildRobotViewProp:外观列表长度非法"); return; } List <uint> equipList = new List <uint>(); equipList.Add(robotdata.Hat); equipList.Add(robotdata.Shoulder); equipList.Add(robotdata.Coat); equipList.Add(robotdata.Leg); equipList.Add(robotdata.Adornl_1); equipList.Add(robotdata.Adornl_2); equipList.Add(robotdata.Shield); equipList.Add(robotdata.Equip); equipList.Add(robotdata.Shoes); equipList.Add(robotdata.Cuff); equipList.Add(robotdata.Belf); equipList.Add(robotdata.Necklace); int index = 0; propList[index++] = new EntityViewProp((int)Client.EquipPos.EquipPos_Body, 0); propList[index++] = new EntityViewProp((int)Client.EquipPos.EquipPos_Weapon, 0); for (int i = 0; i < equipList.Count; i++) { if (equipList[i] != 0) { table.EquipDataBase equipdb = GameTableManager.Instance.GetTableItem <table.EquipDataBase>(equipList[i]); if (equipdb != null) { if (equipdb.act_show != 0) { table.SuitDataBase suitDb = GameTableManager.Instance.GetTableItem <table.SuitDataBase>(equipdb.act_show, 1); if (suitDb != null) { int pos = GetPropPos((Client.EquipPos)suitDb.base_id, propList); if (pos >= 0) { propList[pos] = new EntityViewProp((int)suitDb.type, (int)suitDb.base_id); } else { propList[index++] = new EntityViewProp((int)suitDb.type, (int)suitDb.base_id); } } } } } } }
protected override void OnUpdateData() { base.OnUpdateData(); if (!IsEquip) { return; } m_localDataBase = DataManager.Manager <ItemManager>().GetLocalDataBase <table.EquipDataBase>(baseId); if (null == m_localDataBase) { Engine.Utility.Log.Error("BaseEquip->OnUpdateData m_localDataBase null baseId:{0}", baseId); return; } m_bCompoundMaskEnable = EquipDefine.IsEquipGrowMaskMatchType(LocalDataBase.growMask, EquipDefine.EquipGrowType.Compound); m_bCanCompound = EquipDefine.IsEquipGrowMaskMatchType(LocalDataBase.growMask, EquipDefine.EquipGrowType.Compound) && AdditionAttrCount > 0; m_bCanSplit = EquipDefine.IsEquipGrowMaskMatchType(LocalDataBase.growMask, EquipDefine.EquipGrowType.Split) && AdditionAttrCount > 0; m_bCanRefine = EquipDefine.IsEquipGrowMaskMatchType(LocalDataBase.growMask, EquipDefine.EquipGrowType.Refine); if (null == BaseData) { Engine.Utility.Log.Error("BaseEquip->OnUpdateData BaseData null baseId:{0}", baseId); return; } eType = (GameCmd.EquipType)BaseData.subType; if (BaseData.grade > (int)EquipDefine.EquipGradeType.None && BaseData.grade < (int)EquipDefine.EquipGradeType.Max) { m_equipGrade = (EquipDefine.EquipGradeType)BaseData.grade; } BaseEquipUpdateAttr(); BaseEquipUpdateLocation(); }