public void Init()
    {
        MapMemo memo = Caretaker.Instance.Load <MapMemo>();

        if (memo != null)
        {
            ArriveFloor = memo.ArriveFloor;
        }
    }
Exemple #2
0
    public MapInfo(MapMemo memo)
    {
        ID    = memo.ID;
        Group = memo.Group;
        DungeonData.RootObject dungeonData = DungeonData.GetData(ID);
        NextFloor        = dungeonData.NextFloor;
        MapBound         = memo.MapBound;
        Start            = memo.Start;
        Goal             = memo.Goal;
        MapList          = Utility.StringToVector2Int(memo.MapList);
        GrassList        = Utility.StringToVector2Int(memo.GrassList);
        KeyList          = Utility.StringToVector2Int(memo.KeyList);
        DoorList         = Utility.StringToVector2Int(memo.DoorList);
        ExploredList     = Utility.StringToVector2Int(memo.ExploredList);
        ExploredWallList = Utility.StringToVector2Int(memo.ExploredWallList);
        GuardList        = Utility.StringToVector2Int(memo.GuardList);

        for (int i = 0; i < memo.RoomPositionList.Count; i++)
        {
            RoomPositionList.Add(Utility.StringToVector2Int(memo.RoomPositionList[i]));
        }

        foreach (KeyValuePair <string, int> item in memo.MoneyDic)
        {
            MoneyDic.Add(Utility.StringToVector2Int(item.Key), item.Value);
        }

        foreach (KeyValuePair <string, Event.TypeEnum> item in memo.ExploreEventDic)
        {
            Event @event = null;
            if (item.Value == Event.TypeEnum.Recover)
            {
                @event = new RecoverEvent1();
            }
            else if (item.Value == Event.TypeEnum.Telepoet)
            {
                @event = new TeleportEvent1();
            }
            ExploreEventDic.Add(Utility.StringToVector2Int(item.Key), @event);
        }

        foreach (KeyValuePair <string, Treasure> item in memo.TreasureDic)
        {
            TreasureDic.Add(Utility.StringToVector2Int(item.Key), item.Value);
        }
    }
    public void SetFloorFromMemo()
    {
        if (_memo == null)
        {
            _memo    = Caretaker.Instance.Load <MapMemo>();
            _mapInfo = new MapInfo(_memo);
        }

        _playerPosition = _memo.PlayerPosition;
        ArriveFloor     = _memo.ArriveFloor;
        if (MySceneManager.Instance.CurrentScene == MySceneManager.SceneType.Explore)
        {
            LoadingUI.Instance.Open(() =>
            {
                DungeonPainter.Instance.Paint(_mapInfo);
            });
        }
        else
        {
            SetFloor();
        }
        AudioSystem.Instance.Play("Forest");
    }
 public void Write()
 {
     _playerPosition = Vector2Int.RoundToInt(_player.transform.position);
     _memo           = new MapMemo(ArriveFloor, _mapInfo, _playerPosition);
 }