private void ChangeCameraData(int level, bool enter = false) { DOTween.Kill(uiCamera); var info = ConfigManager.Get <ShowCreatureInfo>(modulePlayer.proto); if (!info || info.forData.Length < 0) { return; } ShowCreatureInfo.SizeAndPos data = null; for (int i = 0; i < info.forData.Length; i++) { if (info.forData[i].index == level) { data = info.forData[i].data[0]; break; } } if (enter) { uiCamera.transform.position = data.pos; uiCamera.transform.eulerAngles = data.rotation; } else { uiCamera.transform.DOLocalMove(data.pos, 0.2f).SetEase(Ease.Linear); uiCamera.transform.DOLocalRotate(data.rotation, 0.2f).SetEase(Ease.Linear); } changeSlider.value = 0.25f * level; }
private void HideOthers() { var level = Level.current as Level_Home; if (level == null) { return; } if (!level.master) { level.rankCamera.cullingMask &= ~(Layers.MASK_MODEL | Layers.MASK_WEAPON | Layers.MASK_JEWELRY); level.pvpCamera.cullingMask &= ~(Layers.MASK_MODEL | Layers.MASK_WEAPON | Layers.MASK_JEWELRY); return; } List <string> excludes = new List <string>(); excludes.Add(Module_Home.FIGHTING_PET_OBJECT_NAME); excludes.Add(Module_Home.PLAYER_OBJECT_NAME); if (enemy != null) { excludes.Add(enemy.uiName); } if (enemyPet != null) { excludes.Add(enemyPet.uiName); } var info = ConfigManager.Get <ShowCreatureInfo>(11); ShowCreatureInfo.SizeAndPos size = null; if (info != null) { for (int i = 0; i < info.forData.Length; i++) { if (info.forData[i].index == modulePlayer.proto) { size = info.forData[i].data[0]; break; } } } moduleHome.DispatchEvent(Module_Home.EventSetMasterPosition, Event_.Pop(size)); moduleHome.HideOthersBut(excludes.ToArray()); }
private void SetWeaponInfo(GameObject weaponInstance, ShowCreatureInfo.SizeAndPos data, int layer, EquipType type = EquipType.Weapon) { if (weaponInstance == null || data == null) { return; } weaponInstance.transform.SetParent(Level.current.startPos); weaponInstance.SetActive(true); //为了避免跟人物用相同的 Util.SetLayer(weaponInstance, layer); weaponInstance.transform.localPosition = data.pos; weaponInstance.transform.localEulerAngles = data.rotation; var c = weaponInstance.GetComponentDefault <WeaponRotation>(); c.type = type; }
private ShowCreatureInfo.SizeAndPos GetTransform(int index) { var info = ConfigManager.Get <ShowCreatureInfo>(index == 0 ? 11 : 10); ShowCreatureInfo.SizeAndPos t = null; if (info != null) { for (int i = 0; i < info.forData.Length; i++) { if (info.forData[i].index == modulePlayer.proto) { t = info.forData[i].data[0]; break; } } } return(t); }