// save and load functions public virtual ChessPieceData saveData(string name) { ChessPieceData data = new ChessPieceData(); data.typeName = _name; data.listName = name; data.lastPosition = new ChessPieceData.lastPositionVector(gameObject.transform.position); data.lastRotation = new ChessPieceData.lastQuaternion(gameObject.transform.rotation); data.currentHP = _currentHP; data.homeHexRow = _homeHex.GetComponent <HexScript> ()._row; data.homeHexCol = _homeHex.GetComponent <HexScript> ()._column; data.held = _held; data.effectType = _effectType; data.debuffData = _debuffs; return(data); }
public virtual void initializeFromData(ChessPieceData data, Player player) { _pieceId = data.listName; _owner = player; _currentHP = data.currentHP; _held = data.held; _debuffs = data.debuffData; _effectType = data.effectType; _teamcolor = player.getColor(); _homeHex = GameState.Instance.Board[data.homeHexRow, data.homeHexCol]; _homeHex.GetComponent <HexScript> ().setOccupant(gameObject); if (containsModifier(Modifier.ModifierType.PETRIFIED)) { MaterialChanger[] mats = transform.GetComponentsInChildren <MaterialChanger>(); foreach (MaterialChanger changer in mats) { changer.replaceMaterials(GameState.Instance._petrificationMat); } } }
public void Initialize(ChessPieceData _chessPieceData, ChessPieceManager _chessPieceManager) { ChessPieceData = _chessPieceData; ChessPieceManagerRef = _chessPieceManager; SetSprite(); }