Пример #1
0
        public UnitInTileUI(Condition cond)
        {
            InitializeComponent();

            condition = cond as UnitInTile;

            xTextBox.Text        = condition.CoordinateX.ToString(CultureInfo.InvariantCulture);
            yTextBox.Text        = condition.CoordinateY.ToString(CultureInfo.InvariantCulture);
            runCountTextBox.Text = condition.RunCount.ToString(CultureInfo.InvariantCulture);
        }
Пример #2
0
    /// <summary>
    /// Quand tu cliques sur une unité
    /// </summary>
    public void Select()
    {
        //Lorsque le joueur choisit une unité
        if (GameManager.Instance.ChooseUnitForEvent)
        {
            if (_unitInTile != null)
            {
                if (GameManager.Instance.SelectableUnit.Contains(UnitInTile))
                {
                    if (!GameManager.Instance.IllusionStratégique)
                    {
                        GameManager.Instance.AddUnitToList(_unitInTile);
                    }

                    //Pour la carte événement Illusion Stratégique
                    else
                    {
                        if (GameManager.Instance.UnitChooseList.Count > 0)
                        {
                            //est ce qu'il y avait déjà une unité dans la liste
                            if (GameManager.Instance.UnitChooseList[0].GetComponent <UnitScript>().UnitSO.IsInRedArmy == _unitInTile.GetComponent <UnitScript>().UnitSO.IsInRedArmy)
                            {
                                GameManager.Instance.AddUnitToList(_unitInTile);
                            }
                            else
                            {
                            }
                        }
                        else
                        {
                            GameManager.Instance.AddUnitToList(_unitInTile);
                        }
                    }
                }
            }
        }

        //lorsque le joueur choisit une case
        else if (GameManager.Instance.ChooseTileForEvent)
        {
            if (_tile != null)
            {
                GameManager.Instance.AddTileToList(_tile);
            }
        }

        //lorsque le joueur peut cliquer sur les unités normalement
        else
        {
            //Si le mouvement n'a pas été lancé
            if (GameManager.Instance.ActualTurnPhase == MYthsAndSteel_Enum.PhaseDeJeu.ActionJ1 || GameManager.Instance.ActualTurnPhase == MYthsAndSteel_Enum.PhaseDeJeu.ActionJ2)
            {
                if (_actualUnitSelected == UnitInTile && !Mouvement.Instance.MvmtRunning && Attaque.Instance.IsInAttack)
                {
                    Mouvement.Instance.StopMouvement(true);
                    Attaque.Instance.StopAttack();
                    _actualTileSelected = null;
                    _actualUnitSelected = null;
                }
                else if (!Mouvement.Instance.Selected && !Attaque.Instance.Selected && UnitInTile != null)
                {
                    UnitScript currentUnitScript = UnitInTile.GetComponent <UnitScript>();
                    if (CanUseUnitWhenClic(currentUnitScript))
                    {
                        _actualTileSelected = _tile;
                        _actualUnitSelected = _unitInTile;
                        Mouvement.Instance.StartMvmtForSelectedUnit();
                        Attaque.Instance.StartAttackSelectionUnit();
                    }
                }
                else if (Mouvement.Instance.Selected)
                {
                    if (Mouvement.Instance.IsInMouvement && !Mouvement.Instance.MvmtRunning)
                    {
                        if (_tile != _actualTileSelected)
                        {
                            Mouvement.Instance.AddMouvement(TilesManager.Instance.TileList.IndexOf(_tile));
                        }
                        else
                        {
                            Mouvement.Instance.StopMouvement(true);
                            UIInstance.Instance.ActivationUnitPanel.CloseMovementPanel();
                        }
                    }
                }
            }
            else if (GameManager.Instance.ActualTurnPhase == MYthsAndSteel_Enum.PhaseDeJeu.OrgoneJ1 || GameManager.Instance.ActualTurnPhase == MYthsAndSteel_Enum.PhaseDeJeu.OrgoneJ2)
            {
                if (GameManager.Instance.IsPlayerRedTurn && _tile == PlayerScript.Instance.RedPlayerInfos.TileCentreZoneOrgone)
                {
                    OrgoneManager.Instance.StartToMoveZone();
                }
                else if (!GameManager.Instance.IsPlayerRedTurn && _tile == PlayerScript.Instance.BluePlayerInfos.TileCentreZoneOrgone)
                {
                    OrgoneManager.Instance.StartToMoveZone();
                }
            }
        }
    }