void WeaponAssetLoaded(AssetBundle asset, ParamData data) { CallBackPack pack = loadedPack_[data.iParam]; if (pack.actorObj_ == null) { return; } Transform bindPoint = null; if (EntityAssetsData.GetData((int)pack.weaponAssetId_).bindPoint_.Contains("L")) { bindPoint = pack.actorObj_.GetComponent <WeaponHand>().weaponLeftHand_; } else { bindPoint = pack.actorObj_.GetComponent <WeaponHand>().weaponRightHand_; } pack.weaponObj_ = (GameObject)GameObject.Instantiate(asset.mainAsset, bindPoint.position, bindPoint.rotation) as GameObject; WeaponAssetMgr.DeleteAsset(asset, false); pack.weaponObj_.transform.parent = bindPoint; pack.actorObj_.GetComponent <UpdateEquiptListener>().SetWeapon(pack.weaponObj_, pack.data_, pack.layerName_); NGUITools.SetLayer(pack.actorObj_, LayerMask.NameToLayer(pack.layerName_)); NGUITools.SetChildLayer(pack.actorObj_.transform, LayerMask.NameToLayer(pack.layerName_)); if (pack.actorCallBack_ != null) { pack.actorCallBack_(pack.actorObj_, pack.data_); } loadedPack_.Remove(pack.uid_); pack.actorObj_.SetActive(true); }
void ActorAssetLoaded(AssetBundle asset, ParamData data) { CallBackPack pack = loadedPack_[data.iParam]; pack.actorObj_ = (GameObject)GameObject.Instantiate(asset.mainAsset) as GameObject; //PlayerAsseMgr.DeleteAsset(asset, false); //不忽略武器更新 if (!data.bParam) { UpdateEquiptListener ueListener = pack.actorObj_.AddComponent <UpdateEquiptListener>(); ueListener.data_ = pack.data_ == null ? null : pack.data_.Clone(); if (pack.data_ != null && pack.data_.bParam) { ueListener.data_.iParam = 0; } if (pack.hasDress_) { ueListener.dressAssId_ = (int)pack.playerAssetId_; } ueListener.layerName_ = pack.layerName_; ueListener.SetWeapon(pack.weaponObj_, ueListener.data_, pack.layerName_); if (!GlobalValue.isBattleScene(StageMgr.Scene_name)) { GamePlayer.Instance.WearEquipEvent += new WearEquipEventHandler(ueListener.UpdateHandler); GamePlayer.Instance.DelEquipEvent += new DelEquipEventHandler(ueListener.RemoveWeaponHandler); } } Transform shadow = pack.actorObj_.transform.FindChild("Plane01"); if (shadow != null) { shadow.gameObject.SetActive(pack.layerName_.Equals("Default")); } if (!pack.hasWeapon_) { NGUITools.SetLayer(pack.actorObj_, LayerMask.NameToLayer(pack.layerName_)); NGUITools.SetChildLayer(pack.actorObj_.transform, LayerMask.NameToLayer(pack.layerName_)); if (pack.actorCallBack_ != null) { pack.actorCallBack_(pack.actorObj_, pack.data_); } loadedPack_.Remove(pack.uid_); } else { pack.actorObj_.SetActive(false); WeaponAssetMgr.LoadAsset(pack.hasDress_? pack.playerAssetId_: (ENTITY_ID)0, pack.weaponAssetId_, WeaponAssetLoaded, new ParamData(pack.uid_)); } }