public CommonMaxMap(IMiniMapUiAdapter adapter) : base(adapter) { this.adapter = adapter; adapter.Enable = false; if (UiCommon.UIManager.GetRootRenderMode().Equals(RenderMode.ScreenSpaceCamera)) { uiCamera = UiCommon.UIManager.UICamera; } SpriteComon.GetInstance().PreparedSprites(); }
private void UpdatePlayStatue(ref Vector2 referPos, MiniMapTeamPlayInfo data, MapLevel mapLevel) { var shiftVec = data.Pos.ShiftedUIVector2(); if (referPos.Equals(_referPos) && data.Statue.Equals(_miniMapPlayStatue) && shiftVec.Equals(_infoPos) && data.ShootingCount.Equals(_shootingCount)) { return; } _referPos = referPos; _miniMapPlayStatue = data.Statue; _infoPos = shiftVec; _shootingCount = data.ShootingCount; switch (data.Statue) { case MiniMapPlayStatue.NORMAL: //常态 { UIUtils.SetActive(number, !MapLevel.Min.Equals(mapLevel)); UIUtils.SetActive(stateIcon, false); if (data.IsPlayer) { UIUtils.SetActive(loftIcon, false); } else { // UIUtils.SetActive(loftIcon, true); // var temperSprite = SpriteComon.GetInstance().GetSpriteByName("Loft_icon"); // if (temperSprite != null && loftIconImage.sprite != temperSprite) // { // loftIconImage.sprite = temperSprite; // } // // if (data.Pos.y > referPos.y) //上方 // { // if (loftIcon.transform.localScale != Vector3.one) // loftIcon.transform.localScale = Vector3.one; // } // else if (data.Pos.y <= referPos.y) //下方 // { // if (loftIcon.transform.localScale != new UnityEngine.Vector3(1, -1, 1)) // loftIcon.transform.localScale = new UnityEngine.Vector3(1, -1, 1); // } } if (data.ShootingCount > 0) //在射击状态下 { if (!tranCTween.ContainsKey(tran) || tranCTween[tran] == null) { var temperTween = UIUtils.CallTween(1, 1.5f, (value) => { bgRectTf.localScale = new UnityEngine.Vector3((float)value, (float)value, 1.0f); }, (value) => { bgRectTf.localScale = Vector3.one; data.ShootingCount--; tranCTween[tran].Kill(); tranCTween[tran] = null; }, 0.1f); if (!tranCTween.ContainsKey(tran)) { tranCTween.Add(tran, temperTween); } else { tranCTween[tran] = temperTween; } } } else { if (tranCTween.ContainsKey(tran) && tranCTween[tran] != null) { tranCTween[tran].Kill(); tranCTween[tran] = null; } if (bgRectTf.localScale != Vector3.one) { bgRectTf.localScale = Vector3.one; } } } break; case MiniMapPlayStatue.TIAOSAN: //跳伞 { UIUtils.SetActive(number, false); UIUtils.SetActive(loftIcon, false); UIUtils.SetActive(stateIcon, true); var temperSprite = SpriteComon.GetInstance().GetSpriteByName("icon_parachute"); if (temperSprite != null && stateIconImage.sprite != temperSprite) { stateIconImage.sprite = temperSprite; } } break; case MiniMapPlayStatue.ZAIJU: //载具 { UIUtils.SetActive(number, false); UIUtils.SetActive(loftIcon, false); UIUtils.SetActive(stateIcon, true); var temperSprite = SpriteComon.GetInstance().GetSpriteByName("icon_drive"); if (temperSprite != null && stateIconImage.sprite != temperSprite) { stateIconImage.sprite = temperSprite; } } break; case MiniMapPlayStatue.HURTED: //受伤 { UIUtils.SetActive(number, false); UIUtils.SetActive(loftIcon, false); UIUtils.SetActive(stateIcon, true); var temperSprite = SpriteComon.GetInstance().GetSpriteByName("icon_hurt"); if (temperSprite != null && stateIconImage.sprite != temperSprite) { stateIconImage.sprite = temperSprite; } } break; case MiniMapPlayStatue.DEAD: //死亡 { UIUtils.SetActive(number, false); UIUtils.SetActive(loftIcon, false); UIUtils.SetActive(stateIcon, true); var temperSprite = SpriteComon.GetInstance().GetSpriteByName("icon_die"); if (temperSprite != null && stateIconImage.sprite != temperSprite) { stateIconImage.sprite = temperSprite; } } break; default: { UIUtils.SetActive(number, false); UIUtils.SetActive(loftIcon, false); UIUtils.SetActive(stateIcon, false); } break; } }
private void PreparedSprite() { SpriteComon.GetInstance().PreparedSprites(); }
private void RefreshTeamItem(Transform tran, MiniMapTeamPlayInfo data) { //刷新位置 var tranRt = tran.GetComponent <RectTransform>(); tranRt.anchoredPosition = -1 * new Vector2(0, teamInfoHeight + teamItemInterval); teamInfoHeight += modelHeight + teamItemInterval; //刷新编号和编号背景色 var numberGo = tran.Find("Number"); var numberImage = numberGo.GetComponent <Image>(); if (numberImage) { if (data.IsDead) //死亡状态 { numberImage.color = new Color(data.Color.r, data.Color.g, data.Color.b, 0.5f); } else { numberImage.color = data.Color; } var numberText = numberGo.Find("NumberText"); if (numberText) { var numberTextCom = numberText.GetComponent <Text>(); if (numberTextCom) { numberTextCom.text = data.Num.ToString(); } } } //刷新名字 var nameGo = tran.Find("Name"); var nameText = nameGo.GetComponent <Text>(); if (nameText) { nameText.text = data.PlayerName; if (data.IsDead) //死亡状态 { nameText.color = new Color(nameText.color.r, nameText.color.g, nameText.color.b, 0.5f); } else { nameText.color = new Color(nameText.color.r, nameText.color.g, nameText.color.b, 1); } } //刷新血量 var hpGo = tran.Find("Hp"); var hpSlider = hpGo.GetComponent <Slider>(); var fillBg = hpGo.Find("Background"); //血条背景 var fillParent = hpGo.Find("FillArea"); Transform fillFront = null; fillFront = fillParent.Find("Fill"); //血量填充 if (hpSlider && fillParent && fillFront && fillBg) { var fillFrontImgCom = fillFront.GetComponent <Image>(); if (data.IsDead) //死亡状态 { hpSlider.value = 0; } else if (data.IsInHurtedStatue) //受伤状态 { fillFrontImgCom.color = Color.red; hpSlider.value = (float)data.CurHpInHurted / data.MaxHp; } else //正常状态 { hpSlider.value = (float)data.CurHp / data.MaxHp; if (hpSlider.value < 0.3f) { fillFrontImgCom.color = new UnityEngine.Color(237f / 255f, 129f / 255f, 129f / 255f, 1.0f); } else { fillFrontImgCom.color = new UnityEngine.Color(247f / 255f, 238f / 255f, 201f / 255f, 1.0f); } } } //刷新标记 var markGo = tran.Find("Mark"); var markImgCom = markGo.GetComponent <Image>(); if (markGo != null && markImgCom != null) { if (data.IsDead || !data.IsMark) //死亡状态 获取没有标记的话 { markGo.gameObject.SetActive(false); } else { markGo.gameObject.SetActive(true); markImgCom.color = data.Color; } } //刷新状态 var statueBgGo = tran.Find("StatueBg"); var statue = statueBgGo.Find("Statue"); var statueImgCom = statue.GetComponent <Image>(); statueBgGo.gameObject.SetActive(true); if (statueBgGo != null && statue != null && statueImgCom != null) { switch (data.Statue) { case MiniMapPlayStatue.TIAOSAN: //跳伞 { var temperSprite = SpriteComon.GetInstance().GetSpriteByName("icon_parachute"); if (temperSprite != null && temperSprite != statueImgCom.sprite) { statueImgCom.sprite = temperSprite; } } break; case MiniMapPlayStatue.ZAIJU: //载具 { var temperSprite = SpriteComon.GetInstance().GetSpriteByName("icon_drive"); if (temperSprite != null && temperSprite != statueImgCom.sprite) { statueImgCom.sprite = temperSprite; } } break; case MiniMapPlayStatue.HURTED: //受伤 { var temperSprite = SpriteComon.GetInstance().GetSpriteByName("icon_hurt"); if (temperSprite != null && temperSprite != statueImgCom.sprite) { statueImgCom.sprite = temperSprite; } } break; case MiniMapPlayStatue.DEAD: //死亡 { var temperSprite = SpriteComon.GetInstance().GetSpriteByName("icon_die"); if (temperSprite != null && temperSprite != statueImgCom.sprite) { statueImgCom.sprite = temperSprite; } } break; default: { statueBgGo.gameObject.SetActive(false); } break; } } }