Example #1
0
    public MiniMap_MapIcon MakeRoomIcon(Vector3 position, Vector3 scale, bool hasPortal = false, MapModuleBase linkModule = null)
    {
        GameObject obj = Instantiate(mapIconPrefab, iconsParent);

        if (obj != null)
        {
            obj.transform.localPosition = position;
            obj.transform.localScale    = scale;
            MiniMap_MapIcon icon = obj.GetComponent <MiniMap_MapIcon>();
            icon.SetPortal(hasPortal, linkModule);
            objectList.Add(icon.gameObject);
            return(icon);
        }

        return(null);
    }
Example #2
0
    private void Update()
    {
        if (target == null)
        {
            return;
        }
        //if (count > 1f) return;

        if (miniMapState == MiniMapState.Origin)
        {
            count += Time.deltaTime;
            this.transform.position = Vector3.Lerp(this.transform.position, originPosit.transform.position, count);
            maskTr.localScale       = Vector3.Lerp(maskTr.localScale, maskOriginSize, count);
            if (target.position != prefPosit)
            {
                float x = prefPosit.x - target.position.x;
                float y = prefPosit.y - target.position.y;

                //   iconsParent.localPosition += new Vector3(x*realRatio, y*realRatio, 0f);
                iconsParent.localPosition = new Vector3(-target.position.x * realRatio, -target.position.y * realRatio, 0f);
            }
        }
        else if (miniMapState == MiniMapState.Center)
        {
            count += Time.deltaTime;
            this.transform.position = Vector3.Lerp(this.transform.position, centerPosit.transform.position, count);


            maskTr.localScale         = Vector3.Lerp(maskTr.localScale, maskMaxSize, count);
            iconsParent.localPosition = Vector3.zero;

            if (Input.GetKeyDown(KeyCode.Mouse0))
            {
#if UNITY_EDITOR
                Vector2      touchPos = Camera.main.ScreenToWorldPoint(Input.mousePosition);
                RaycastHit2D rayHit   = Physics2D.Raycast(touchPos, Vector2.zero, 0.1f, mapModuleLayerMask);
                if (rayHit.collider != null)
                {
                    MiniMap_MapIcon target = rayHit.collider.gameObject.GetComponent <MiniMap_MapIcon>();

                    if (target != null)
                    {
                        if (target.HasProtal == true && target.CanUsePortal == true)
                        {
                            if (target.LinkModule != null)
                            {
                                GamePlayerManager.Instance.player.transform.position = target.LinkModule.transform.position;
                            }
                        }
                    }
                }
#else
                Touch[] touches = Input.touches;
                if (touches != null)
                {
                    for (int i = 0; i < touches.Length; i++)
                    {
                        Vector2      touchPos = Camera.main.ScreenToWorldPoint(touches[i].position);
                        RaycastHit2D rayHit   = Physics2D.Raycast(touchPos, Vector2.zero, 0.1f, mapModuleLayerMask);
                        if (rayHit.collider != null)
                        {
                            MiniMap_MapIcon target = rayHit.collider.gameObject.GetComponent <MiniMap_MapIcon>();

                            if (target != null)
                            {
                                if (target.HasProtal == true && target.CanUsePortal == true)
                                {
                                    if (target.LinkModule != null)
                                    {
                                        GamePlayerManager.Instance.player.transform.position = target.LinkModule.transform.position;
                                    }
                                    break;
                                }
                            }
                        }
                    }
                }
#endif
            }
        }
    }