예제 #1
0
    public void SelectSubPlayer(SquadEditPlayer _playerSlot)
    {
        if (SelectedSubPlayer == null)
        {
            if (SelectedSquadPlayer != null)
            {
                SwapPlayer(_playerSlot, SelectedSquadPlayer);
                SelectedSquadPlayer.Select();
                SelectedSquadPlayer = null;
                return;
            }

            SelectedSubPlayer = _playerSlot;
            SelectedSubPlayer.Select();
        }
        else
        {
            if (SelectedSubPlayer == _playerSlot)
            {
                _playerSlot.Select();
                SelectedSubPlayer = null;
                return;
            }
            else
            {
                SelectedSubPlayer.Select();
                _playerSlot.Select();
                SelectedSubPlayer = _playerSlot;
                return;
            }
        }
    }
예제 #2
0
    private void Update()
    {
        if (Input.GetMouseButton(0))
        {
            if (!isDragging && HoveringPlayer != null && HoveringPlayer.Player != null)
            {
                isDragging = true;
                DragPlayer.PopulateDrag(HoveringPlayer.Player, HoveringPlayer.IsSub, HoveringPlayer.Index);
                if (!HoveringPlayer.IsSub)
                {
                    SelectedSquadPlayer = HoveringPlayer;
                }
                else
                {
                    SelectedSubPlayer = HoveringPlayer;
                }
                hoveringSubsHit.SetActive(true);
                DragPlayer.gameObject.SetActive(true);
            }
        }
        else
        {
            if (isDragging)
            {
                isDragging = false;
                hoveringSubsHit.SetActive(false);
                if (isHoveringSubs)
                {
                    if (!DragPlayer.IsSub)
                    {
                        RemovePlayer(SelectedSquadPlayer.Player, SelectedSquadPlayer.Index);
                        SelectedSquadPlayer.Empty();
                    }
                }
                else if (HoveringPlayer != null)
                {
                    if (DragPlayer.IsSub)
                    {
                        SwapPlayer(SelectedSubPlayer, HoveringPlayer);
                    }
                    else
                    {
                        PlayerData player1 = HoveringPlayer.Player;
                        PlayerData player2 = SelectedSquadPlayer.Player;

                        //if(player2 != null) HoveringPlayer.Populate(player2, this, HoveringPlayer.Index);
                        //if(player1 != null) SelectedSquadPlayer.Populate(player1, this, SelectedSquadPlayer.Index);
                    }
                }

                DragPlayer.gameObject.SetActive(false);
            }
        }

        if (isDragging)
        {
            DragPlayer.transform.position = Input.mousePosition;
        }
    }
예제 #3
0
 private void SwapPlayer(SquadEditPlayer _playerIn, SquadEditPlayer _playerOut)
 {
     if (_playerOut.Player != null)
     {
         RemovePlayer(_playerOut.Player, _playerOut.Index);
     }
     if (_playerIn.Player != null)
     {
         AddPlayer(_playerIn.Player, _playerIn, _playerIn);
     }
 }
예제 #4
0
    public void SelectSquadPlayer(SquadEditPlayer _playerSlot)
    {
        if (selectedSquadPlayer == null)
        {
            if (selectedSubPlayer != null)
            {
                SwapPlayer(selectedSubPlayer, _playerSlot);
                selectedSubPlayer.Select();
                selectedSubPlayer = null;
                return;
            }

            selectedSquadPlayer = _playerSlot;
            selectedSquadPlayer.Select();
        }
        else
        {
            if (selectedSquadPlayer == _playerSlot)
            {
                _playerSlot.Select();
                selectedSquadPlayer = null;
                return;
            }

            PlayerData player1 = selectedSquadPlayer.Player;
            PlayerData player2 = _playerSlot.Player;

            if (player1 != null)
            {
                _playerSlot.Populate(player1, this, _playerSlot.Index);
            }
            else
            {
                _playerSlot.Empty();
            }

            if (player2 != null)
            {
                selectedSquadPlayer.Populate(player2, this, selectedSquadPlayer.Index);
            }
            else
            {
                selectedSquadPlayer.Empty();
            }

            selectedSquadPlayer.Select();
            selectedSquadPlayer = null;
            return;
        }
    }
예제 #5
0
 public void AddPlayer(PlayerData _player, SquadEditPlayer _obj, SquadEditPlayer _squadSlot = null)
 {
     if (!squadList.Contains(null))
     {
         return;
     }
     for (int i = 0; i < squadList.Count; i++)
     {
         if (!squadList[i])
         {
             squadList[i] = _player;
             //Field.AddPlayer(_player, i, this);
         }
     }
     subsList.Remove(_player);
     _obj.FadeOut();
     UpdateConfirmButton();
 }
예제 #6
0
    public void SelectSquadPlayer(SquadEditPlayer _playerSlot)
    {
        if (SelectedSquadPlayer == null)
        {
            if (SelectedSubPlayer != null)
            {
                SwapPlayer(SelectedSubPlayer, _playerSlot);
                SelectedSubPlayer.Select();
                SelectedSubPlayer = null;
                return;
            }

            SelectedSquadPlayer = _playerSlot;
            SelectedSquadPlayer.Select();
        }
        else
        {
            if (SelectedSquadPlayer == _playerSlot)
            {
                _playerSlot.Select();
                SelectedSquadPlayer = null;
                return;
            }

            PlayerData player1 = SelectedSquadPlayer.Player;
            PlayerData player2 = _playerSlot.Player;

            //if (player1 != null) _playerSlot.Populate(player1, this, _playerSlot.Index);
            //else _playerSlot.Empty();

            if (player2 != null)
            {
                //SelectedSquadPlayer.Populate(player2, this, SelectedSquadPlayer.Index);
            }
            else
            {
                SelectedSquadPlayer.Empty();
            }

            SelectedSquadPlayer.Select();
            SelectedSquadPlayer = null;
            return;
        }
    }
예제 #7
0
    public void StartDragPlayer()
    {
        isDragging = true;
        if (HoveringPlayer == null)
        {
            return;
        }
        if (!HoveringPlayer.IsSub)
        {
            selectedSquadPlayer = HoveringPlayer;
        }
        else
        {
            selectedSubPlayer = HoveringPlayer;
        }

        HoveringPlayer.SetOpacity(0.3f);

        dragPlayer.gameObject.SetActive(true);
        dragPlayer.PopulateDrag(HoveringPlayer.Player, HoveringPlayer.IsSub, HoveringPlayer.Index);
    }
예제 #8
0
    public virtual void AddPlayer(PlayerData _player, SquadEditPlayer _obj, SquadEditPlayer _squadSlot = null)
    {
        List <PlayerData> squadList = new List <PlayerData>(teamData.Squad);
        List <PlayerData> subsList  = new List <PlayerData>(teamData.Substitutes);

        if (!squadList.Contains(null))
        {
            return;
        }
        for (int i = 0; i < squadList.Count; i++)
        {
            if (!squadList[i])
            {
                squadList[i] = _player;
                field.AddPlayer(_player, i, this);
            }
        }
        subsList.Remove(_player);
        _obj.Destroy();
        //UpdateConfirmButton();
        teamData.Squad       = squadList.ToArray();
        teamData.Substitutes = subsList.ToArray();
        hasChanged           = true;
    }
 override public void AddPlayer(PlayerData _player, SquadEditPlayer _obj, SquadEditPlayer _squadSlot = null)
 {
     base.AddPlayer(_player, _obj, _squadSlot);
     CheckSubsLimit();
 }
    public void AddPlayer(PlayerData _player, float _delay = 0)
    {
        SquadEditPlayer player = Instantiate(playerTemplate, scrollContent);

        player.PopulateSub(_player, controller, _delay);
    }