public void Initialize(string dungeonId) { DungeonLogic.CreateMap(dungeonId); _dungeonMapView.Refresh(); DungeonDataModel.Instance.DungeonFloorSelectSubject = new Subject <Vector3Int>(); //DungeonEventSubscribe(); }
/// <summary> /// タイルをクリックした処理 /// TODO /// </summary> public void DungeonTileClick() { Vector3Int mousePosition = GetTilePosition(_tilemap); var model = DungeonDataModel.Instance; if (model.Location.y + 1 == mousePosition.y && model.DungeonFloor[mousePosition.x][mousePosition.y].Enabled && model.IsEvent == false) { model.Location = mousePosition; model.IsEvent = true; DungeonLogic.DungeonEvent(mousePosition, _dungeonEffectView).Subscribe(_ => { model.Floor++; _dungeonMapView.NextFloor().Subscribe(__ => { //イベント後 model.IsEvent = false; }); DungeonLogic.DisableFloor(); DungeonLogic.DisableNextFloor(); _dungeonMapView.DisableFloor(); _dungeonMapView.NowLocationFloor(); model.Location = mousePosition; }); } }
public void SetDungeonLogic(DungeonLogic dungeonLogic) { if (triggerCondition == DungeonSpawnConfig.ActionTriggerCondition.OnWaveFinish) { dungeonLogic.ListenToStageWaveCycle(OnWaveCycle); } }
public void IsDungeonValid_False() { var dungeon = new Dungeon() { Entrance = new EntranceLoc( new EntranceLoc() ), }; Assert.IsFalse(DungeonLogic.IsDungeonValid(dungeon)); }
public void IsDungeonValid_True() { var dungeon = new Dungeon() { Entrance = new EntranceLoc( new MonsterLoc(new ExitLoc()), new MonsterLoc(new ExitLoc()) ), }; Assert.IsTrue(DungeonLogic.IsDungeonValid(dungeon)); }
public static void LoadBattle(StageData stage) { int battleId = DungeonLogic.GetBattleDataTimeByStage(stage).BattleID; m_BattleData = DataManager.s_BattleDataManager.GetData(battleId); if (m_BattleData == null) { return; } m_StageData = stage; Debug.Log(m_BattleData.SceneId); GameStateManager.LoadScene(m_BattleData.SceneId); }
public void OpendDungeon() { //TODO int warriorId = DungeonLogic.GetMainWarriorId(); WarriorData warriorData = DataManager.s_WarriorDataManager.GetData(warriorId); if (warriorData == null) { Debug.LogError("no hero"); } else { DungeonLogic.LoadDungeon(m_DungeonId); } }