public virtual void Initialize(GameFieldOrigin gameFieldOrigin) { gameField = new GameFieldPoint[gameFieldOrigin.rows, gameFieldOrigin.columns]; for (int i = 0; i < gameField.GetLength(0); i++) { for (int j = 0; j < gameField.GetLength(1); j++) { gameField[i, j] = gameFieldOrigin.fieldMatrix[i].elements[j]; } } currentPoint = gameField[currentPosition.y, currentPosition.x]; currentPoint.SetFigure(this); pointsForStep = new List <GameFieldPoint>(); moveToTarget = 0; lineRenderer = GetComponent <LineRenderer>(); lineRenderer.positionCount = 0; enemyLink.SetActive(false); shields.SetActive(false); OnClick += gameFieldOrigin.ClearAllAreas; OnClick += gameFieldOrigin.ClearAllAttackLinks; OnClickToFigureWithDraw += gameFieldOrigin.CheckFieldLinksForFigure; OnFigureMove += gameFieldOrigin.ClearBoardDrawing; OnFigureMove += gameFieldOrigin.FreezeFigures; OnFinalMove += gameFieldOrigin.CheckArmy; OnFinalMove += gameFieldOrigin.CheckDefeat; OnFinalMove += gameFieldOrigin.ComputerStep; OnDead += gameFieldOrigin.RemoveFigure; gameFieldOrigin.OnClickToFigure += InvokeClearAttackLinks; gameFieldOrigin.OnCheckDefeat += ChekFiguresUnderMyAttack; }
public virtual void RemoveEventLinks(GameFieldOrigin gameFieldOrigin) { OnClick -= gameFieldOrigin.ClearAllAreas; OnClick -= gameFieldOrigin.ClearAllAttackLinks; OnClickToFigureWithDraw -= gameFieldOrigin.CheckFieldLinksForFigure; OnFigureMove -= gameFieldOrigin.ClearBoardDrawing; OnFinalMove -= gameFieldOrigin.CheckArmy; OnFinalMove -= gameFieldOrigin.CheckDefeat; OnDead -= gameFieldOrigin.RemoveFigure; OnChoosenTargetEnemy = null; gameFieldOrigin.OnClickToFigure -= InvokeClearAttackLinks; gameFieldOrigin.OnCheckDefeat -= ChekFiguresUnderMyAttack; }
public override void RemoveEventLinks(GameFieldOrigin gameFieldOrigin) { base.RemoveEventLinks(gameFieldOrigin); OnSpawnFigure -= gameFieldOrigin.SpawnFigure; }