public void TestChangeImageSpriteAsync2(string path, Image image, LoadResPriority priority, bool isSetNativeSize = false) { if (image == null) { return; } ResourceManager.Instance.AsyncLoadResource(path, (s, o, list) => { if (o != null) { Sprite sp = o as Sprite; Image img = list[0] as Image; bool isSetNative = (bool)list[1]; if (img.sprite != null) { img.sprite = null; } img.sprite = sp; if (isSetNative) { img.SetNativeSize(); } } }, priority, true, image, isSetNativeSize); }
/// <summary> /// 异步替换图片 /// </summary> /// <param name="paht"></param> /// <param name="image"></param> /// <param name="setNativeSize"></param> public void ChangeImageSpriteAsync(string path, UnityEngine.UI.Image image, bool setNativeSize = false) { if (image == null) { return; } ResourceManager.Instance.AsyncLoadResource(path, (string resPath, Object obj, object[] paramArr) => { if (obj != null) { Sprite m_Sp = obj as Sprite; UnityEngine.UI.Image m_Imgae = paramArr[0] as UnityEngine.UI.Image; bool m_SetNativeSize = (bool)paramArr[1]; if (m_Imgae.sprite != null) { m_Imgae.sprite = null; } m_Imgae.sprite = m_Sp; if (m_SetNativeSize) { image.SetNativeSize(); } } }, LoadResPriority.RES_MIDDLE, true, 0, image, setNativeSize); }
void CheckSide() { // Enable each element on the right side and disable thoses on the left side if (dialogue.IsImageRight) { charImageRight.sprite = dialogue.GetSprite(); charImageRight.SetNativeSize(); charImageRight.rectTransform.localScale = new Vector3(.4f, .4f, .4f); shownNameRight.text = dialogue.GetCharacter(); shownNameLeft.text = string.Empty; charImageRight.enabled = shownNameRight.enabled = true; charImageLeft.enabled = shownNameLeft.enabled = false; } // Enable each element on the left side and disable thoses on the right side else { charImageLeft.sprite = dialogue.GetSprite(); charImageLeft.SetNativeSize(); charImageLeft.rectTransform.localScale = new Vector3(.4f, .4f, .4f); shownNameLeft.text = dialogue.GetCharacter(); shownNameRight.text = string.Empty; charImageLeft.enabled = shownNameLeft.enabled = true; charImageRight.enabled = shownNameRight.enabled = false; } }
public void SetSprite(GameObject go, string asset, string name) { if (null == go) { return; } asset = asset + AppConst.ExtName; UnityEngine.UI.Image img = go.GetComponent <UnityEngine.UI.Image>(); if (null == img) { return; } AssetBundle bundle = ResManager.LoadBundle(asset); Sprite spt = bundle.LoadAsset(name, typeof(Sprite)) as Sprite; if (null == spt) { Texture2D tex = bundle.LoadAsset(name, typeof(Texture2D)) as Texture2D; if (tex) { img.sprite = Sprite.Create(tex, new Rect(0, 0, tex.width, tex.height), new Vector2(0.5f, 0.5f)); } } else { img.sprite = spt; } img.SetNativeSize(); go.SetActive(true); }
static int SetNativeSize(IntPtr L) { LuaScriptMgr.CheckArgsCount(L, 1); UnityEngine.UI.Image obj = (UnityEngine.UI.Image)LuaScriptMgr.GetUnityObjectSelf(L, 1, "UnityEngine.UI.Image"); obj.SetNativeSize(); return(0); }
public void Init(GameConfig gameConfig, LocalConfig localConfig, VegetableModel model) { _gameConfig = gameConfig; _localConfig = localConfig; _model = model; _model.Launched = true; var sprite = Resources.Load <Sprite>(_gameConfig.Vegetables[_model.VegetableConfigIndex].RollSprite); if (sprite == null) { throw new UnassignedReferenceException($"{nameof(sprite)} RollSprite: {_gameConfig.Vegetables[_model.VegetableConfigIndex].RollSprite} not found!"); } _image.sprite = sprite; _image.SetNativeSize(); var tmp = transform.localScale; tmp.x = Mathf.Abs(tmp.x) * (_model.ShelfIndex < _localConfig.Shelfs.Count / 2 ? 1 : -1); transform.localScale = tmp; if (_gameConfig.Vegetables[_model.VegetableConfigIndex].IsRotate) { _image.transform.DOLocalRotate(new Vector3(0, 0, -180), _gameConfig.Vegetables[_model.VegetableConfigIndex].RotateDegreesPerSecond).SetSpeedBased().SetLoops(-1, LoopType.Incremental).SetEase(Ease.Linear); } StartPosition = new Vector3( _localConfig.Shelfs[_model.ShelfIndex].StartPosition.position.x, _localConfig.Shelfs[_model.ShelfIndex].StartPosition.position.y + _gameConfig.Vegetables[_model.VegetableConfigIndex].HeightAboveShelf, _localConfig.Shelfs[_model.ShelfIndex].StartPosition.position.z); DropPosition = new Vector3( _localConfig.Shelfs[_model.ShelfIndex].DropPosition.position.x, _localConfig.Shelfs[_model.ShelfIndex].DropPosition.position.y + _gameConfig.Vegetables[_model.VegetableConfigIndex].HeightAboveShelf, _localConfig.Shelfs[_model.ShelfIndex].DropPosition.position.z); StartCoroutine(Mover()); }
/// <summary> /// 同步替换图片 /// </summary> /// <param name="path"></param> /// <param name="image"></param> /// <param name="setNativeSize"></param> /// <returns></returns> public bool ChangeImageSprite(string path, UnityEngine.UI.Image image, bool setNativeSize = false) { if (image == null) { return(false); } Sprite sp = ResourceManager.Instance.LoadResource <Sprite>(path); if (sp != null) { if (image.sprite != null) { image.sprite = null; } image.sprite = sp; if (setNativeSize) { image.SetNativeSize(); } return(true); } return(false); }
static int SetNativeSize(IntPtr L) { L.ChkArgsCount(1); UnityEngine.UI.Image obj = (UnityEngine.UI.Image)L.ChkUnityObjectSelf(1, "UnityEngine.UI.Image"); obj.SetNativeSize(); return(0); }
static public int SetNativeSize(IntPtr l) { try { #if DEBUG var method = System.Reflection.MethodBase.GetCurrentMethod(); string methodName = GetMethodName(method); #if UNITY_5_5_OR_NEWER UnityEngine.Profiling.Profiler.BeginSample(methodName); #else Profiler.BeginSample(methodName); #endif #endif UnityEngine.UI.Image self = (UnityEngine.UI.Image)checkSelf(l); self.SetNativeSize(); pushValue(l, true); return(1); } catch (Exception e) { return(error(l, e)); } #if DEBUG finally { #if UNITY_5_5_OR_NEWER UnityEngine.Profiling.Profiler.EndSample(); #else Profiler.EndSample(); #endif } #endif }
//打开闪光灯 public void OnFlashBtnClick() { isFlashOpen = !isFlashOpen; ARBuilder.Instance.CameraDeviceBehaviours[0].SetFlashTorchMode(isFlashOpen); if (isFlashOpen) { //闪光灯打开状态时 image.sprite = flash[1]; image.SetNativeSize(); } else { //闪光灯关闭时 image.sprite = flash[0]; image.SetNativeSize(); } }
private void BuildObject() { imageObjectContainer = CreateChild<Transform>("container"); imageObject = CreateChild<Image>("bar", imageObjectContainer); imageObject.sprite = spriteObject.sprite; imageObject.SetNativeSize(); }
static public int SetNativeSize(IntPtr l) { try { UnityEngine.UI.Image self = (UnityEngine.UI.Image)checkSelf(l); self.SetNativeSize(); return(0); } catch (Exception e) { return(error(l, e)); } }
public IEnumerator Display(SpeakerData sd) { speaker.sprite = sd.speaker; speaker.SetNativeSize(); for (int i = 0; i < sd.messages.Count; ++i) { message.text = sd.messages[i]; arrow.SetActive(i + 1 < sd.messages.Count); yield return(null); } }
static public int SetNativeSize(IntPtr l) { try{ UnityEngine.UI.Image self = (UnityEngine.UI.Image)checkSelf(l); self.SetNativeSize(); return(0); } catch (Exception e) { LuaDLL.luaL_error(l, e.ToString()); return(0); } }
static int QPYX_SetNativeSize_YXQP(IntPtr L_YXQP) { try { ToLua.CheckArgsCount(L_YXQP, 1); UnityEngine.UI.Image QPYX_obj_YXQP = (UnityEngine.UI.Image)ToLua.CheckObject <UnityEngine.UI.Image>(L_YXQP, 1); QPYX_obj_YXQP.SetNativeSize(); return(0); } catch (Exception e_YXQP) { return(LuaDLL.toluaL_exception(L_YXQP, e_YXQP)); } }
private void _SetSize(UnityEngine.UI.Image displayImage) { if (m_BoundingType == BoundingType.SetNativeSize) { displayImage.SetNativeSize(); } else { displayImage.rectTransform.sizeDelta = _CalculateSize(new Vector2(displayImage.sprite.texture.width, displayImage.sprite.texture.height)); } _ApplyScaleFactor(displayImage.transform); }
public void setAttachment(string slot, string id) { Transform child = transform.Find(slot); UnityEngine.UI.Image image = child.GetComponent <UnityEngine.UI.Image>(); image.enabled = id != ""; if (image.enabled) { Sprite sprite = sprites[id]; image.sprite = sprite; image.SetNativeSize(); image.rectTransform.pivot = new Vector2(sprite.pivot.x / sprite.rect.width, sprite.pivot.y / sprite.rect.height); } }
static int SetNativeSize(IntPtr L) { try { ToLua.CheckArgsCount(L, 1); UnityEngine.UI.Image obj = (UnityEngine.UI.Image)ToLua.CheckObject <UnityEngine.UI.Image>(L, 1); obj.SetNativeSize(); return(0); } catch (Exception e) { return(LuaDLL.toluaL_exception(L, e)); } }
// Use this for initialization void Start() { Canvas canny = GetComponent <Canvas>(); foreach (Sprite sprite in sprites) { GameObject imageGO = Instantiate(imagePrototype); imageGO.name = sprite.name; imageGO.transform.parent = gameObject.transform; UnityEngine.UI.Image image = imageGO.GetComponent <UnityEngine.UI.Image>(); image.sprite = sprite; RectTransform trafo = imageGO.GetComponent <RectTransform>(); trafo.localScale = Vector3.one; image.SetNativeSize(); } }
void InitialiseText() { // Creates the game text holder in bottom left hand corner TextHolder = (Instantiate(TextHolder, new Vector3(0,0,0), Quaternion.Euler(new Vector3()))) as Image; TextHolder.transform.SetParent(this.transform, false); TextHolder.rectTransform.anchorMax = new Vector2(0,0); TextHolder.rectTransform.anchorMin = new Vector2(0,0); TextHolder.rectTransform.anchoredPosition = new Vector2(240,45); TextHolder.rectTransform.anchorMin = new Vector2(0,0); TextHolder.SetNativeSize(); // Create the text itself Texty = (Instantiate(Texty, new Vector3(0,0,0), Quaternion.Euler(new Vector3()))) as Text; Texty.transform.SetParent(TextHolder.transform, false); Texty.rectTransform.anchorMax = new Vector2(0,0); Texty.rectTransform.anchorMin = new Vector2(0,0); Texty.rectTransform.anchoredPosition = new Vector2(226,75); }
private void SetPicture() { var tex = new Texture2D(1024, 1024); if (pictures.Count == 0) { tex = Texture2D.redTexture; namePic.text = "Картин нет"; descriptionPic.text = ""; } else { var img = pictures[currentPic]; namePic.text = "\"" + img.Name + "\""; descriptionPic.text = img.Description; tex.LoadImage(img.PictureBytes); } tex.Apply(); float w = tex.width; float h = tex.height; float coef = 1; Sprite pic = Sprite.Create(tex, new Rect(new Vector2(0, 0), new Vector2(tex.width, tex.height)), new Vector2(0.5f, 0.5f)); picture.sprite = pic; picture.SetNativeSize(); var picSize = picture.rectTransform.sizeDelta; if (picSize.x > areaPic.rect.width) { coef *= areaPic.rect.width / picSize.x; picSize *= coef; } coef = 1; if (picSize.y > areaPic.rect.height) { coef *= areaPic.rect.height / picSize.y; picSize *= coef; } picture.rectTransform.sizeDelta = picSize; }
private void ShowPic() { if (MyPic == null) { pic.gameObject.SetActive(false); return; } else { pic.gameObject.SetActive(true); } var tex = new Texture2D(1024, 1024); var img = MyPic; tex.LoadImage(img.PictureBytes); tex.Apply(); float coef = 1; Sprite picture = Sprite.Create(tex, new Rect(new Vector2(0, 0), new Vector2(tex.width, tex.height)), new Vector2(0.5f, 0.5f)); pic.sprite = picture; pic.SetNativeSize(); var picSize = pic.rectTransform.sizeDelta; if (picSize.x > picArea.rect.width) { coef *= picArea.rect.width / picSize.x; picSize *= coef; } coef = 1; if (picSize.y > picArea.rect.height) { coef *= picArea.rect.height / picSize.y; picSize *= coef; } pic.rectTransform.sizeDelta = picSize; }
public Button(string id = null) : base(id) { backgroundComponent = GameObject.AddComponent <UnityEngine.UI.Image>(); backgroundComponent.type = UnityEngine.UI.Image.Type.Sliced; backgroundComponent.sprite = SpriteController.spriteLoader.tryLoadSprite("UI", "button_background").sprite; backgroundComponent.SetNativeSize(); buttonComponent = GameObject.AddComponent <UnityEngine.UI.Button>(); GameObject textGameObject = new GameObject("text", new Type[] { typeof(Text) }); textGameObject.transform.SetParent(GameObject.transform); textComponent = GameObject.GetComponentInChildren <Text>(); textComponent.alignment = TextAnchor.MiddleCenter; textComponent.font = Resources.GetBuiltinResource(typeof(Font), "Arial.ttf") as Font; textComponent.rectTransform.anchorMin = new Vector2(0, 0); textComponent.rectTransform.anchorMax = new Vector2(1, 1); textComponent.rectTransform.offsetMin = Vector2.zero; textComponent.rectTransform.offsetMax = Vector2.zero; SetNonExpanding(); }
public void OnBeginDrag(PointerEventData eventData) { var canvas = FindInParents <Canvas>(gameObject); if (canvas == null) { return; } // We have clicked something that can be dragged. // What we want to do is create an icon for this. m_DraggingIcon = new GameObject("icon"); m_DraggingIcon.transform.SetParent(canvas.transform, false); m_DraggingIcon.transform.SetAsLastSibling(); image = m_DraggingIcon.AddComponent <UnityEngine.UI.Image>(); mOriginalIconScale = m_DraggingIcon.transform.localScale; // The icon will be under the cursor. // We want it to be ignored by the event system. CanvasGroup group = m_DraggingIcon.AddComponent <CanvasGroup>(); group.blocksRaycasts = false; image.sprite = GetComponent <UnityEngine.UI.Image>().sprite; image.SetNativeSize(); if (dragOnSurfaces) { m_DraggingPlane = transform as RectTransform; } else { m_DraggingPlane = canvas.transform as RectTransform; } SetDraggedPosition(eventData); }
private void CreateSeparator(Sprite sprite, Transform parent) { // Prepare the text game object GameObject sepGo = new GameObject("Image", typeof(RectTransform)); sepGo.layer = this.gameObject.layer; // Prepare the text rect RectTransform textRt = sepGo.transform as RectTransform; textRt.SetParent(parent, false); textRt.pivot = new Vector2(0.5f, 0.5f); textRt.anchorMin = new Vector2(0f, 0.5f); textRt.anchorMax = new Vector2(0f, 0.5f); textRt.localScale = new Vector3(1f, 1f, 1f); textRt.localPosition = Vector3.zero; textRt.anchoredPosition = Vector2.zero; // Prepare the image Image img = sepGo.AddComponent <Image>(); img.sprite = sprite; img.SetNativeSize(); }
/// <summary> /// 重置图片的Sprite,通过Url 或者 名称 /// (先加载默认资源) /// </summary> /// <param name="image"></param> /// <param name="spriteName"></param> /// <param name="remoteUrl"></param> /// <param name="isNativeSize"></param> public static IEnumerator ResetSpriteByRemoteUrlOrLocal(this UnityEngine.UI.Image image, string remoteUrl, string spriteName, bool isNativeSize = false) { bool isSetedByRemoteSprite = false; if (!string.IsNullOrEmpty(remoteUrl)) { // 判断本地的cache 有没有 bool isCached = false; string localFileName = string.Format("{0}/{1}.face", AppDefine.LOCAL_HEADICON_PATH, Utility.GetMD5Code(remoteUrl)); string realUrl = remoteUrl; if (FileUtility.ExistsFile(localFileName)) { isCached = true; realUrl = "file:///" + localFileName; } using (WWW loader = new WWW(realUrl)) { if (!loader.isDone) { yield return(loader); } if (loader.isDone) { if (string.IsNullOrEmpty(loader.error)) { if (!isCached) { FileUtility.WriteBytesToFile(localFileName, loader.bytes, loader.bytes.Length); } if (image == null) { yield break; } Texture2D tempImage = loader.texture; if (tempImage != null) { Sprite sprite = Sprite.Create(tempImage, new Rect(0, 0, tempImage.width, tempImage.height), new Vector2(0, 0)); image.sprite = sprite; isSetedByRemoteSprite = true; if (isNativeSize) { image.SetNativeSize(); } } } } else { Debug.LogErrorFormat("load sprite[{0}] error:{1}", remoteUrl, loader.error); } } } // 如果设置远程资源失败了,则,设置本地的图片资源 if (!isSetedByRemoteSprite) { if (!string.IsNullOrEmpty(spriteName)) { image.ResetSpriteByName(spriteName, isNativeSize); } } }
public static void set_icon(Image img,string name) { img.overrideSprite = ResourceManager.Load<Sprite>(name); img.SetNativeSize(); }
public override void Init(ObjectInfo infoo) { ImageInfo info = (ImageInfo)infoo; //load image GameObject go = Resources.Load<GameObject>(Settings.Instance.PREFAB_PATH + "Image"); go = GameObject.Instantiate(go); //set tag go.layer = Settings.Instance.ACTOR_LAYER; //set name go.name = info.ObjName; //add Image _image = go.GetComponent<Image>(); Sprite sp = Resources.Load<Sprite>(info.Path + info.Name); if (sp) { _image.sprite = sp; _image.SetNativeSize(); } else { Debug.LogFormat("Actor: {0} not found", info.Path + info.Name); } _transform = go.GetComponent<RectTransform>(); //set local position _transform.anchorMin = Vector2.zero; _transform.anchorMax = Vector2.zero; //set parent _transform.SetParent(Settings.ActorRoot, true); //set position and scale _transform.anchoredPosition = info.Position; _transform.localScale = new Vector3(info.Scale, info.Scale, info.Scale); go.SetActive(false); this.Go = go; IsEnterScene = false; }
public override void Init(ObjectInfo infoo) { ImageInfo info = (ImageInfo)infoo; //load image GameObject go = Resources.Load<GameObject>(Settings.PREFAB_PATH + "Image"); go = GameObject.Instantiate(go); //set tag go.layer = Settings.ACTOR_LAYER; //set name go.name = info.ObjName; //add Image _image = go.GetComponent<Image>(); Sprite sp = Resources.Load<Sprite>(info.Path + info.Name); if (sp) { _image.sprite = sp; } else { Debug.LogFormat("Actor: {0} not found", info.Path + info.Name); } Transform t = go.transform; //set parent t.SetParent(Settings.ActorRoot, true); //set position and scale t.position = info.Position; t.localScale = new Vector3(info.Scale, info.Scale, info.Scale); //set image origin size _image.SetNativeSize(); //set image size go.SetActive(false); this.Go = go; }
private void BuildBar() { imageBar = CreateChild<Image>("bar"); imageBar.type = Image.Type.Sliced; imageBar.sprite = spriteBar; imageBar.SetNativeSize(); // imageBar.growDirection = growDirection; // imageBar.readable = true; }
void ImgSet(Image img, Sprite spr, bool enbled) { img.sprite = spr; img.SetNativeSize(); img.enabled = enabled; }
protected override void OnChange() { base.OnChange(); var newValue = string.Empty; if (_properties[typeof(string)] != null) { newValue = ((EZData.Property <string>)_properties[typeof(string)]).GetValue(); } if (_properties[typeof(int)] != null) { newValue = ((EZData.Property <int>)_properties[typeof(int)]).GetValue().ToString(); } #if NGUI_2 if (_properties[typeof(UIAtlas.Sprite)] != null) { var sprite = ((EZData.Property <UIAtlas.Sprite>)_properties[typeof(UIAtlas.Sprite)]).GetValue(); newValue = sprite != null ? sprite.name : string.Empty; } #else if (_properties[typeof(UISpriteData)] != null) { var sprite = ((EZData.Property <UISpriteData>)_properties[typeof(UISpriteData)]).GetValue(); newValue = sprite != null ? sprite.name : string.Empty; } #endif if (_properties[typeof(KeyValuePair <string, string>)] != null) { SpriteSheetPath = ((EZData.Property <KeyValuePair <string, string> >)_properties [typeof(KeyValuePair <string, string>)]).GetValue().Value; newValue = ((EZData.Property <KeyValuePair <string, string> >)_properties [typeof(KeyValuePair <string, string>)]).GetValue().Key; // Debug.Log ("object " + name + ", SpriteSheetPath = " + SpriteSheetPath + ", newValue = " + newValue); } if (_properties [typeof(Sprite)] != null) { var sprite = ((EZData.Property <Sprite>)_properties [typeof(Sprite)]).GetValue(); float a = sprite != null ? 1F : 0F; if (_uiImage != null) { _uiImage.sprite = sprite; _uiImage.color = new Color(_uiImage.color.r, _uiImage.color.g, _uiImage.color.b, a); return; } if (_spriteRenderer != null) { _spriteRenderer.sprite = sprite; _spriteRenderer.color = new Color(_spriteRenderer.color.r, _spriteRenderer.color.g, _spriteRenderer.color.b, a); return; } } if (_UiSpriteReceiver != null) { _UiSpriteReceiver.spriteName = MakeSpriteName(newValue); if (makePixelPerfect) { _UiSpriteReceiver.MakePixelPerfect(); if (rescale == Vector2.one) { return; } //gameObject.transform.localScale = rescale; _UiSpriteReceiver.width = (int)(_UiSpriteReceiver.width * rescale.x); _UiSpriteReceiver.height = (int)(_UiSpriteReceiver.height * rescale.y); } } if (_uiImage != null) { Sprite sprite = SpriteSheetRepository.Instance.GetSpriteByName(MakeSpriteName(newValue), SpriteSheetPath); if (sprite == null) { for (int i = 0, len = SpriteSheetExtraPathes.Length; i < len && sprite == null; i++) { sprite = SpriteSheetRepository.Instance.GetSpriteByName(MakeSpriteName(newValue), SpriteSheetExtraPathes[i]); } } if (sprite == null && SpriteSheetPath != string.Empty && newValue != " " && !string.IsNullOrEmpty(newValue)) { // Debug.LogError("Can't find sprite <" + newValue + "> in " + SpriteSheetPath + " sheet"); } _uiImage.sprite = sprite; _uiImage.color = new Color(_uiImage.color.r, _uiImage.color.g, _uiImage.color.b, _uiImage.sprite != null ? 1f : 0f); if (makePixelPerfect) { _uiImage.SetNativeSize(); if (rescale == Vector2.one) { return; } //gameObject.transform.localScale = rescale; _uiImage.rectTransform.sizeDelta = new Vector2(_uiImage.rectTransform.sizeDelta.x * rescale.x, _uiImage.rectTransform.sizeDelta.y * rescale.y); } } if (_spriteRenderer != null) { Sprite sprite = SpriteSheetRepository.Instance.GetSpriteByName(MakeSpriteName(newValue), SpriteSheetPath); if (sprite == null) { for (int i = 0, len = SpriteSheetExtraPathes.Length; i < len && sprite == null; i++) { sprite = SpriteSheetRepository.Instance.GetSpriteByName(MakeSpriteName(newValue), SpriteSheetExtraPathes[i]); } } if (sprite == null && SpriteSheetPath != string.Empty && newValue != " " && !string.IsNullOrEmpty(newValue)) { // Debug.LogError("Can't find sprite <" + newValue + "> in " + SpriteSheetPath + " sheet"); } _spriteRenderer.sprite = sprite; _spriteRenderer.color = new Color(_spriteRenderer.color.r, _spriteRenderer.color.g, _spriteRenderer.color.b, _spriteRenderer.sprite != null ? 1f : 0f); } }
private void BuildBurnBar() { imageBurn = CreateChild<Image>("burn_bar"); imageBurn.type = Image.Type.Sliced; imageBurn.sprite = imageBurn.sprite ?? spriteBar; imageBurn.SetNativeSize(); // imageBurn.growDirection = growDirection; }
/** * @brief 오브젝트를 클릭했을때 * @param tile 클릭한 타일 오브젝트 */ public void clickTile(Tile tile) { cleanActList(); mainBarObj.SetActive(true); objImage.transform.localScale = Vector3.one; // 유닛이 없다면 정적인 타일이란 뜻 if (tile._unitObj == null && tile._builtObj == null) { maskImage.color = Color.white; objectNameTxt.text = tile._name; objectDescTxt.text = tile._desc; objImage.sprite = getObjSprite(tile._code); setMainInterface(false, false); objImage.SetNativeSize(); NetworkMng.getInstance._soundGM.tileClick(); return; } DynamicObject obj; if (tile._unitObj) { obj = tile._unitObj; objImage.sprite = getObjSprite(tile._unitObj._code); setMainInterface(); objImage.SetNativeSize(); NetworkMng.getInstance._soundGM.unitClick(obj._code); damageText.text = tile._unitObj._damage.ToString(); maintCostText.text = tile._unitObj.maintenanceCost.ToString(); } else { logoImage[2].sprite = foodImage.sprite; obj = tile._builtObj; //타일에 있는 건물의 코드의 따른 스프라이트 변경, 로고 text 켜고 끄기 objImage.sprite = getObjSprite(tile._builtObj._code); NetworkMng.getInstance._soundGM.builtClick(); if (obj._code == (int)BUILT.ATTACK_BUILDING) { damageText.text = Turret.attack.ToString(); maintCostText.text = Turret.maintenanceCost.ToString(); logoImage[2].sprite = costImg[0].sprite; } if (selectedTile._code == (int)BUILT.CASTLE) { objImage.transform.localScale = Vector3.one; objImage.SetNativeSize(); } else { objImage.transform.localScale = new Vector3(2f, 2f, 1f); objImage.SetNativeSize(); } } objectNameTxt.text = obj._name; objectDescTxt.text = obj._desc; hpText.text = (tile._unitObj ? tile._unitObj._hp : tile._builtObj._hp) + "" + " / " + (tile._unitObj ? tile._unitObj._max_hp : tile._builtObj._max_hp); //damageText.text = tile._unitObj._damage + ""; Color color; if (tile._builtObj != null || tile._unitObj != null) { for (int i = 0; i < NetworkMng.getInstance.v_user.Count; i++) { if (obj._uniqueNumber.Equals(NetworkMng.getInstance.v_user[i].uniqueNumber)) { ColorUtility.TryParseHtmlString(CustomColor.TransColor((COLOR)NetworkMng.getInstance.v_user[i].color), out color); maskImage.color = color; } } } if (obj._uniqueNumber.Equals(NetworkMng.getInstance.uniqueNumber) && myTurn) { // 행동을 가진 오브젝트는 actList 를 뿌려줘야 함 // 1. _unitObj 로 부터 해당 유닛이 가진 행동의 량을 가져옴 for (int i = 0; i < obj._activity.Count; i++) { // 2. 그만큼 actList 를 active 함 actList[i].gameObject.SetActive(true); UnityEngine.UI.Text[] childsTxt = actList[i].GetComponentsInChildren <UnityEngine.UI.Text>(); try { // 3. actList 의 내용들을 변경해 줘야함 checkActivity(obj._activity[i], actList[i], childsTxt[0], childsTxt[1], frameImg[i], childsTxt[2], costImg[i]); } catch { Debug.LogError("childTxt 의 인덱스 값이 옳지 않음"); } } } }
/// <summary> /// Constructs the bullet game objects and components. /// </summary> public void ConstructBullets() { if (this.m_BulletSprite == null || this.m_BulletSpriteActive == null || !this.isActiveAndEnabled) { return; } // Destroy the old bullets this.DestroyBullets(); // Create the container this.m_BulletsContainer = new GameObject("Bullets", typeof(RectTransform)); this.m_BulletsContainer.transform.SetParent(this.transform); this.m_BulletsContainer.layer = this.gameObject.layer; RectTransform crt = this.m_BulletsContainer.transform as RectTransform; crt.localScale = new Vector3(1f, 1f, 1f); crt.anchoredPosition = Vector2.zero; crt.sizeDelta = this.rectTransform.sizeDelta; // Create new bullets for (int i = 0; i < this.m_BulletCount; i++) { float pct = (float)i / (float)this.m_BulletCount; // Create the background GameObject obj = new GameObject("Bullet " + i.ToString(), typeof(RectTransform)); obj.transform.SetParent(this.m_BulletsContainer.transform); obj.layer = this.gameObject.layer; RectTransform rt = obj.transform as RectTransform; rt.localScale = new Vector3(1f, 1f, 1f); Image img = obj.AddComponent <Image>(); img.sprite = this.m_BulletSprite; img.SetNativeSize(); // Position the bullet if (this.m_BarType == BarType.Radial) { float ang = (this.m_AngleMin + (pct * (this.m_AngleMax - this.m_AngleMin))); Vector2 pos; pos.x = 0f + this.m_Distance * Mathf.Sin(ang * Mathf.Deg2Rad); pos.y = 0f + this.m_Distance * Mathf.Cos(ang * Mathf.Deg2Rad); rt.anchoredPosition = pos; rt.Rotate(new Vector3(0f, 0f, ((this.m_SpriteRotation + ang) * -1f))); } else if (this.m_BarType == BarType.Horizontal) { rt.pivot = new Vector2(0.5f, 0.5f); rt.anchorMin = new Vector2(1f, 0.5f); rt.anchorMax = new Vector2(1f, 0.5f); float offsetX = this.rectTransform.rect.width / this.m_BulletCount; Vector2 pos; pos.x = ((offsetX * i) + (rt.sizeDelta.x / 2f)) * -1f; pos.y = 0f; rt.anchoredPosition = pos; rt.Rotate(new Vector3(0f, 0f, this.m_SpriteRotation)); } else if (this.m_BarType == BarType.Vertical) { rt.pivot = new Vector2(0.5f, 0.5f); rt.anchorMin = new Vector2(0.5f, 1f); rt.anchorMax = new Vector2(0.5f, 1f); float offsetY = this.rectTransform.rect.height / this.m_BulletCount; Vector2 pos; pos.x = 0f; pos.y = ((offsetY * i) + (rt.sizeDelta.y / 2f)) * -1f; rt.anchoredPosition = pos; rt.Rotate(new Vector3(0f, 0f, this.m_SpriteRotation)); } // Create the fill GameObject objFill = new GameObject("Fill", typeof(RectTransform)); objFill.transform.SetParent(obj.transform); objFill.layer = this.gameObject.layer; RectTransform rtFill = objFill.transform as RectTransform; rtFill.localScale = new Vector3(1f, 1f, 1f); rtFill.anchoredPosition = this.m_ActivePosition; rtFill.rotation = rt.rotation; Image imgFill = objFill.AddComponent <Image>(); imgFill.sprite = this.m_BulletSpriteActive; imgFill.SetNativeSize(); // Add the fill bullet to the list this.m_FillBullets.Add(objFill); } // Update this.UpdateFill(); }
private void TurnVisible(Image img, BuildingBlockInfo info) { if (img.sprite) return; //Hard-coded because there are only three materials. Oooh bad coding practice ~(°O°~) img.sprite = info.woodIcon; img.SetNativeSize(); if (img.sprite) return; img.sprite = info.iceIcon; img.SetNativeSize(); if (img.sprite) return; img.sprite = info.stoneIcon; img.SetNativeSize(); if (img.sprite) return; }
static public void loadUISprite(UnityEngine.UI.Image icon, string path) { icon.sprite = Resources.Load <Sprite> (path); icon.SetNativeSize(); }