Пример #1
0
 public void AddToParty(PartyFrames frame)
 {
     isInParty  = true;
     partyFrame = frame;
     SetColor();
     frame.AddUnit(unit, this);
 }
Пример #2
0
    public void SetupPartyList(PlayerUnit unit, PartyFrames frame)
    {
        if (unit == null || frame == null)
        {
            return;
        }

        AddHeroToParty(unit, frame);
    }
Пример #3
0
    public void AddHeroToParty(PlayerUnit unit, PartyFrames frame)
    {
        HeroPanel panel = FindHeroPanel(unit);

        if (panel == null)
        {
            return;
        }

        panel.AddToParty(frame);
    }
Пример #4
0
    public void ReplaceFrame(PartyFrames frame)
    {
        if (!isInParty)
        {
            return;
        }

        partyFrame = frame;
        SetColor();
        frame.Replace(unit, this);
    }
Пример #5
0
    public void Drop(PointerEventData eventData)
    {
        Vector3 screenPoint = Input.mousePosition;

        transform.position = Camera.main.ScreenToWorldPoint(screenPoint);

        List <RaycastResult> hitObjects = new List <RaycastResult>();

        EventSystem.current.RaycastAll(eventData, hitObjects);
        if (hitObjects.Count <= 0)
        {
            return;
        }

        if (hitObjects[0].gameObject.tag == "UIDropPoint")
        {
            PartyFrames frame = hitObjects[0].gameObject.GetComponent <PartyFrames>();

            if (frame != null)
            {
                if (!isInParty)
                {
                    AddToParty(frame);
                    return;
                }

                if (frame.unit != null)
                {
                    if (partyFrame == null)
                    {
                        throw new System.Exception(name + " doesn't have any party frame assigned, despite being in the party");
                    }
                    else
                    {
                        PlayerController.instance.SwitchPlace(partyFrame.partyIndex, frame.partyIndex);
                        frame.heroRef.ReplaceFrame(partyFrame);
                        ReplaceFrame(frame);
                    }
                }
            }
        }
    }
Пример #6
0
 private void Start()
 {
     partyFrame = GetComponent <PartyFrames>();
     partyRect  = GetComponentInParent <PartyFrameController>().transform as RectTransform;
     layout     = GetComponent <LayoutElement>();
 }
Пример #7
0
 public void RemoveFromParty()
 {
     isInParty  = false;
     partyFrame = null;
     SetColor();
 }