示例#1
0
    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
    }
示例#2
0
    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();
    }
示例#3
0
    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
        });
    }