Exemple #1
0
    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);
        }
Exemple #3
0
 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;
     }
 }
Exemple #4
0
        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);
        }
Exemple #5
0
 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);
 }
Exemple #6
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
 }
Exemple #10
0
 //打开闪光灯
 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();
        }
Exemple #12
0
 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);
        }
    }
Exemple #14
0
 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);
     }
 }
Exemple #15
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);
    }
Exemple #17
0
    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);
        }
    }
Exemple #18
0
 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();
        }
    }
Exemple #20
0
    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;
    }
Exemple #23
0
        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();
        }
Exemple #24
0
    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);
    }
Exemple #25
0
        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();
        }
Exemple #26
0
    /// <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;
        }
Exemple #29
0
        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;
 }
Exemple #31
0
 void ImgSet(Image img, Sprite spr, bool enbled)
 {
     img.sprite = spr;
     img.SetNativeSize();
     img.enabled = enabled;
 }
Exemple #32
0
    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;
 }
Exemple #34
0
    /**
     * @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;
    }
Exemple #37
0
 static public void loadUISprite(UnityEngine.UI.Image icon, string path)
 {
     icon.sprite = Resources.Load <Sprite> (path);
     icon.SetNativeSize();
 }