public ModularSetData(ModularSet Set) { Transform = new ModularPlacableData(Set.transform.position, Set.transform.rotation.eulerAngles, Set.transform.localScale); // init transform this.Pieces = Set.PieceData; // set pieces data this.SetName = Set.Name; this._Price = 0; this.BoundSize = Set.Bounds.size; this.LocalGridCenter = Set.LocalGridCenter; this.BoundsCenterOffset = Set.BoundsCenterOffset; }
public void AddModularPiece(ModularPiece piece, ModularPlacableData Trans) { piece.Initialize(this); // initialize piece cause isnt placed by system piece.transform.SetParent(transform); // reparent piece _Pieces.Add(piece); // add piece to set piece.LocalPosition = Trans.LocalPosition; piece.transform.localEulerAngles = Trans.LocalEulerAngles; piece.transform.localScale = Trans.LocalScale; AddModularPieceRenderer(piece); // add to render set UpdatePieceRestrictions(piece); // add modular piece restriction if (Editing) { piece.InitializeEditable(); } else { piece.InitializePlaced(Management.GameManager.I.Modular.ModularPieceLayer); piece.OnPlaced(); } // if is in editing mode, initialize as editable piece }