Ejemplo n.º 1
0
        //点击效果
        private void TweenImage(OnImage onImage, Action action)
        {
            GameObject objSelect = Util.FindPeer(onImage.gameObject, "ImgSelect");

            if (null == objSelect)
            {
                return;
            }
            var imgSelect = objSelect.GetComponent <Image>();

            objSelect.SetActive(true);
            imgSelect.color = Color.clear;
            Sequence mySequence = DOTween.Sequence();
            Tweener  color1     = imgSelect.DOColor(Color.white, 0.25f);
            Tweener  color2     = imgSelect.DOColor(Color.clear, 0.3f);

            mySequence.Append(color1);
            mySequence.AppendInterval(0.05f);
            mySequence.Append(color2);
            mySequence.OnComplete(delegate()
            {
                action.Invoke();
                mySequence.Kill();
                objSelect.SetActive(false);
            });
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 单击建筑
        /// </summary>
        /// <param name="gameObj"></param>
        private void OnItemClick(OnImage onImage, VoMapItem voMapItem)
        {
            Util.Log("触发坐标:{0:G},{1:G}", voMapItem.position.x, voMapItem.position.y);
            void WorldMove()
            {
                Util.CallMethod(name, "WorldMove", voMapItem.position.x, voMapItem.position.y);
            }

            if (null == voMapItem.WorldUnit)
            {
                //移动到该位置
                TweenImage(onImage, WorldMove);
                return;
            }
            var unitType = voMapItem.WorldUnit.unitType;

            switch (unitType)
            {
            case MapType.None:    //移动到该位置
                TweenImage(onImage, WorldMove);
                break;

            case MapType.Player:
                var player = voMapItem.WorldUnit.player;
                if (null == player)
                {
                    return;
                }
                Util.CallMethod(name, "CheckPlayer", voMapItem.position.x, voMapItem.position.y, player.id);
                break;

            case MapType.Resource:     //攻击某点
                Util.CallMethod(name, "CheckRes", voMapItem.position.x, voMapItem.position.y, voMapItem.WorldUnit.res.id);
                break;
            }
        }
Ejemplo n.º 3
0
 /// <summary>
 /// 添加监听
 /// </summary>
 /// <param name="gameObj"></param>
 /// <param name="voMapItem"></param>
 private void AddListener(OnImage onImage, VoMapItem voMapItem)
 {
     //添加监听
     onImage.onDistance.RemoveAllListeners();
     onImage.onDistance.AddListener(delegate { OnItemClick(onImage, voMapItem); });
 }