public static bool SpawnFigure(PlayerServiceReference.BaseUnitPackage unit, Enums.Piece piece) { for (int i = 0; i < 8; ++i) { if (Figures[-1, i] == null) { Figure figureOnBoard = FigureManager.CreateFigure(unit, piece); //if (CheckForUpgrades(figureOnBoard, true).Count != 0) // return true; figureOnBoard.Untargetable = true; figureOnBoard.Owner = Owner; figureOnBoard.OnDeath += f => { Figures[f.Position.Row, f.Position.Column] = null; _activeAllyFigures.Remove(f); if (_activeAllyFigures.Count == 0) { TakeDamage(); } }; figureOnBoard.OnMove += MoveFigure; figureOnBoard.OnSell += figure => SellFigure(figure); AllFigures.Add(figureOnBoard); SpawnChessFigure(AllFigures.Count - 1, -1, i); return(true); } } return(false); }
public static Figure CreateFigure(PlayerServiceReference.BaseUnitPackage unitPackage, Enums.Piece piece) { Unit unit = CreateUnit(unitPackage.Name); return(CreateFigure(unit, piece)); }
public static int CalculateFinalCost(PlayerServiceReference.BaseUnitPackage unit, Enums.Piece piece) { return(CalculateFinalCost(unit.Cost, piece)); }