public void SetState(TileState tileState) { foreach (TileGroup tg in tileGroupList) { TileGroupState tgs = (from state in tileState.tileGroupStates where state.guid == tg.GUID select state).FirstOr(null); if (tgs != null) { tg.SetState(tgs); } } //activate dynamic chapters }
public void SetState(TileGroupState tileGroupState) { containerObject.position = tileGroupState.globalPosition; isExplored = tileGroupState.isExplored; foreach (Tile tile in tileList) { SingleTileState sts = (from t in tileGroupState.tileStates where t.tileGUID == tile.hexTile.GUID select t).FirstOr(null); if (sts != null) { tile.SetState(sts); } } GenerateGroupCenter(); }
public TileState GetState() { List <TileGroupState> tgStates = new List <TileGroupState>(); List <Guid> dynamicChapters = new List <Guid>(); foreach (TileGroup tg in tileGroupList) { TileGroupState tgState = new TileGroupState(); tgState.globalPosition = tg.containerObject.position; tgState.isExplored = tg.isExplored; tgState.guid = tg.GUID; if (tg.GetChapter().isDynamic) { dynamicChapters.Add(tg.GUID); } List <SingleTileState> singleTileState = new List <SingleTileState>(); foreach (Tile t in tg.tileList) { SingleTileState state = new SingleTileState() { isActive = t.gameObject.activeInHierarchy, tileGUID = t.hexTile.GUID, tokenTriggerList = t.tokenTriggerList, isExplored = t.isExplored, globalPosition = t.transform.position, globalParentPosition = t.transform.parent.position, globalParentYRotation = t.transform.parent.rotation.eulerAngles.y, tokenStates = t.tokenStates }; singleTileState.Add(state); } tgState.tileStates = singleTileState; tgStates.Add(tgState); } return(new TileState() { activatedDynamicChapters = dynamicChapters, tileGroupStates = tgStates }); }