public void SetRightCell(Cell cell) { rightCell = cell; GameObject obj = rightCell.gameObject; if (rightCell.isRightCell) { this.transform.Translate(obj.transform.position.x - this.transform.position.x, obj.transform.position.y - this.transform.position.y, 0F); rightCell.isRightCell = false; obj.GetComponent <CircleCollider2D>().enabled = false; // При отпускании блока, нужно добалять соответсвующий блок в game var cellPos = rightCell.PosInGrid; var go = this.gameObject; e.Game game = GameObject.Find("GameField").GetComponent <Level>().game; switch (go.GetComponent <ControlBlock>().GetBlockType()) { case cb.BlockType.cbAction: Debug.Log("cdAction"); var new_act = new e.ColorSwitch(0, this.GetComponent <ColorSwitch>().color, rightCell.posInGridX, rightCell.posInGridY); game.AddObject(new_act); break; case cb.BlockType.cbCondition: Debug.Log("cbCondition"); var new_cond = new e.ColorCondition(go.GetComponent <ConditionBlock>().color, new e.Point(-1, 0), rightCell.posInGridX, rightCell.posInGridY); game.AddObject(new_cond); break; case cb.BlockType.cbCicle: break; } } }
void Start() { balls = new Dictionary <e.Color, int> { { e.Color.Red, redBallsCount }, { e.Color.Green, greenBallsCount }, { e.Color.Blue, blueBallsCount }, { e.Color.Purple, purpleBallsCount }, { e.Color.Yellow, yellowBallsCount } }; ballHistory = e.BallHistory.GetInstance(); ballHistory.Clear(); var basket = new e.Bascket(e.Color.Green, 3, 7); var basket2 = new e.Bascket(e.Color.Green, 1, 7); var basket3 = new e.Bascket(e.Color.Green, 2, 7); this.game = new e.Game(); game.AddObject(basket); game.AddObject(basket2); game.AddObject(basket3); }
public void Play() { var g = new e.BallGenerator(balls, 2, -1); game.AddObject(g); for (var i = 0; i < 350; i++) { game.Step(); } foreach (var obj in game.GetCurrentWorld()) { if (obj is e.ColorSwitch) { var clone = Instantiate(this.ColorSwitchPrefab); clone.GetComponent <ColorSwitch>().ColorSwitcher = obj as e.ColorSwitch; clone.GetComponent <ColorSwitch>().active = true; } } for (var i = 0; i < ballHistory.GetList().Count; i++) { var ball = ballHistory.GetList()[i]; var clone = Instantiate(this.BallPrefab, GeneratorPrefab.transform.position, GeneratorPrefab.transform.rotation); clone.GetComponent <Ball>().eBall = ball; e.Color originColor = ball.GetActions()[0].Color; clone.GetComponent <SpriteRenderer>().sprite = clone.GetComponent <Ball>().GetSpriteByColor(originColor); } var grid = GameObject.Find("Grid").GetComponent <GridInit>(); int height = grid.height; int width = grid.width; for (int i = 0; i < height; i++) { for (int j = 0; j < width; j++) { grid.cellsArray[i, j].GetComponent <SpriteRenderer>().enabled = false; } } }