public virtual List<ChocolatePiece> CreateBar(ChocolateBar bar, GameObject prefab) { List<ChocolatePiece> pieces = new List<ChocolatePiece>(); for (int i = 0; i < rows; i++) { for (int j = 0; j < columns; j++) { //Instantiate the prefab for chocolate piece. Then get the script component to pass to conststructor //for the class that controls the piece. then add to the list. GameObject hooksGO = GameObject.Instantiate(prefab, Vector3.zero, Quaternion.identity) as GameObject; ChocolatePieceHooks hooks = hooksGO.GetComponent<ChocolatePieceHooks>(); ChocolatePiece chocolatePiece = new ChocolatePiece(hooks); chocolatePiece.Initialize(); float width = chocolatePiece.SpriteRenderer.sprite.bounds.size.x; float height = chocolatePiece.SpriteRenderer.sprite.bounds.size.y; float offsetX = gridOffsets[i, j].x * width; float offsetY = gridOffsets[i, j].y * height; Vector3 offset = new Vector3(offsetX, offsetY); chocolatePiece.Position = bar.Position + offset; pieces.Add(chocolatePiece); } } return pieces; }
public ChocolatePieceState Create(ChocolatePieceStates state, ChocolatePiece piece) { switch (state) { case ChocolatePieceStates.ConnectedToBar: return new ChocolatePieceStateConnectedToBar(piece); case ChocolatePieceStates.Selected: return new ChocolatePieceStateSelected(piece); case ChocolatePieceStates.Broken: return new ChocolatePieceStateBroken(piece); case ChocolatePieceStates.Inactive: return new ChocolatePieceStateInactive(piece); } Assert.IsTrue(false); return null; }
public ChocolatePieceStateConnectedToBar(ChocolatePiece piece) : base(piece) { }
public ChocolatePieceState(ChocolatePiece piece) { _chocolatePiece = piece; }
public ChocolatePieceStateInactive(ChocolatePiece piece) : base(piece) { }
public ChocolatePieceStateBroken(ChocolatePiece piece) : base(piece) { }