public static SpriteComon GetInstance() { if (instance == null) { instance = new SpriteComon(); } return(instance); }
public void UpdatePlayNumAndColor(Transform tran, ref Vector2 referPos, MiniMapTeamPlayInfo data, bool isMimiMap) { var numberBg = tran.Find("bg"); if (numberBg) { //刷新编号 var number = numberBg.Find("number"); if (number) { { number.gameObject.SetActive(true); var numberText = number.GetComponent <Text>(); if (numberText) { if (data.IsPlayer) { if (isNoTeamPlayer) { numberText.text = ""; } else { numberText.text = data.Num.ToString(); } } else { numberText.text = data.Num.ToString(); } } } } var numberBgCom = numberBg.GetComponent <Image>(); var stateIcon = numberBg.Find("icon"); var loftIcon = numberBg.Find("loftIcon"); if (numberBgCom == null || stateIcon == null || loftIcon == null) { return; } var stateIconCom = stateIcon.GetComponent <Image>(); var loftIconCom = loftIcon.GetComponent <Image>(); //刷新编号背景图 numberBgCom.color = data.Color; var wpos = data.Pos.ShiftedUIVector2(); switch (data.Statue) { case MiniMapPlayStatue.NORMAL: //常态 { UIUtils.SetActive(number, !MapLevel.Min.Equals(adapter.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 && loftIconCom.sprite != temperSprite) { loftIconCom.sprite = temperSprite; } if (wpos.y > referPos.y) //上方 { if (loftIcon.transform.localScale != Vector3.one) { loftIcon.transform.localScale = Vector3.one; } } else if (wpos.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) => { numberBg.GetComponent <RectTransform>().localScale = new UnityEngine.Vector3((float)value, (float)value, 1.0f); }, (value) => { numberBg.GetComponent <RectTransform>().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 (numberBg.GetComponent <RectTransform>().localScale != Vector3.one) { numberBg.GetComponent <RectTransform>().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 && stateIconCom.sprite != temperSprite) { stateIconCom.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 && stateIconCom.sprite != temperSprite) { stateIconCom.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 && stateIconCom.sprite != temperSprite) { stateIconCom.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 && stateIconCom.sprite != temperSprite) { stateIconCom.sprite = temperSprite; } } break; default: { UIUtils.SetActive(number, false); UIUtils.SetActive(loftIcon, false); UIUtils.SetActive(stateIcon, false); } break; } } }