private void GetInstantiateWing(int wingId, WingBody dataWing, Action <GameObject> loaded) { if (string.IsNullOrEmpty(dataWing.prefabPath)) { if (loaded != null) { loaded.Invoke(null); } return; } this.LoadAsset(wingId, dataWing.prefabPath, EquipCustomization.EquipType.Wing, delegate(bool isSuccess) { if (!isSuccess) { if (loaded != null) { loaded.Invoke(null); } return; } if (loaded != null) { loaded.Invoke(EquipCustomizationTool.GetInstantiate(dataWing.prefabPath)); } }); }
private void InstantiateEquipWeapon(int equipId, EquipBody dataEB, Action <GameObject, GameObject> loaded) { if (string.IsNullOrEmpty(dataEB.prefabPath)) { if (loaded != null) { loaded.Invoke(null, null); } return; } this.LoadAsset(equipId, dataEB.prefabPath, EquipCustomization.EquipType.Equip, delegate(bool isSuccess) { if (!isSuccess) { if (loaded != null) { loaded.Invoke(null, null); } return; } if (string.IsNullOrEmpty(dataEB.prefabPath2)) { if (loaded != null) { loaded.Invoke(EquipCustomizationTool.GetInstantiate(dataEB.prefabPath), null); } return; } this.LoadAsset(equipId, dataEB.prefabPath2, EquipCustomization.EquipType.Equip, delegate(bool isSuccess2) { if (!isSuccess2) { if (loaded != null) { loaded.Invoke(EquipCustomizationTool.GetInstantiate(dataEB.prefabPath), null); } return; } if (loaded != null) { loaded.Invoke(EquipCustomizationTool.GetInstantiate(dataEB.prefabPath), EquipCustomizationTool.GetInstantiate(dataEB.prefabPath2)); } }); }); }
private void DoEquipClothes(int equipId, EquipBody dataEB, Action <bool> finished) { EquipCustomizationTool.GetInstantiateClothes(dataEB, delegate(SkinnedMeshRenderer renderer) { if (this.ActorTarget == null) { finished.Invoke(false); return; } if (equipId != this.mClothesId) { finished.Invoke(false); return; } Transform transform = XUtility.RecursiveFindTransform(this.ActorTarget.get_transform(), dataEB.slot); if (transform == null) { Debug.LogError("slot is no find, GameData.EquipBody id = " + dataEB.id); finished.Invoke(false); return; } SkinnedMeshRenderer component = transform.GetComponent <SkinnedMeshRenderer>(); if (renderer != null) { component.set_sharedMesh(renderer.get_sharedMesh()); List <Transform> list = new List <Transform>(); for (int i = 0; i < renderer.get_bones().Length; i++) { Transform transform2 = XUtility.RecursiveFindTransform(this.ActorTarget.get_transform(), renderer.get_bones()[i].get_name()); list.Add(transform2); } component.set_bones(list.ToArray()); component.set_shadowCastingMode(0); component.set_receiveShadows(false); component.set_useLightProbes(false); component.set_material(renderer.get_sharedMaterial()); } if (finished != null) { finished.Invoke(true); } }); }
private void DoEquipWeapons(int equipId, EquipBody dataEB, Action <bool> finished) { this.InstantiateEquipWeapon(equipId, dataEB, delegate(GameObject weapon1, GameObject weapon2) { if (this.ActorTarget == null) { this.ClearWeaponTemp(weapon1, weapon2); finished.Invoke(false); return; } if (!this.VerifyWeapon(equipId)) { this.ClearWeaponTemp(weapon1, weapon2); finished.Invoke(false); return; } if (weapon1 == null) { this.ClearWeaponTemp(weapon1, weapon2); finished.Invoke(false); return; } this.ClearWeapons(); if (weapon1 != null) { EquipCustomizationTool.SetLayer(weapon1, this.ActorTarget); ShadowController.SetShadowModelRender2Child(this.ActorTarget.get_transform(), weapon1.get_transform(), false); this.m_goWeapons.Add(weapon1); this.SetWeapon2Slot(this.GetWeaponSlotRealName(dataEB.slot), true); } if (weapon2 != null) { EquipCustomizationTool.SetLayer(weapon2, this.ActorTarget); ShadowController.SetShadowModelRender2Child(this.ActorTarget.get_transform(), weapon2.get_transform(), false); this.m_goWeapons.Add(weapon2); this.SetWeapon2Slot(this.GetWeaponSlotRealName(dataEB.slot), true); } if (finished != null) { finished.Invoke(weapon1 != null); } }); }
private void InstantiateEquipWing(int wingId, WingBody dataWing, Action <bool> finished) { this.GetInstantiateWing(wingId, dataWing, delegate(GameObject goInstantiate1) { if (this.ActorTarget == null) { finished.Invoke(false); return; } if (!this.VerifyWing(wingId)) { if (goInstantiate1 != null) { Object.Destroy(goInstantiate1); } finished.Invoke(false); return; } if (goInstantiate1 == null) { finished.Invoke(false); return; } this.ClearWing(); if (goInstantiate1 != null) { EquipCustomizationTool.SetLayer(goInstantiate1, this.ActorTarget); ShadowController.SetShadowModelRender2Child(this.ActorTarget.get_transform(), goInstantiate1.get_transform(), false); this.m_goWing = goInstantiate1; this.SetWing2Slot(); } if (finished != null) { finished.Invoke(goInstantiate1 != null); } }); }