private void TriggerSelectByType(KeySelect item) { //将当前房间脚本接下来会执行的脚本引用写入(由按键选项决定) Script.OutRoom = GameMainRecycle.RoomScripts.Group[item.ToScript]; switch (item.TheType) { case KeySelect.KeySelectType.ToStory: break; case KeySelect.KeySelectType.ToMap: //如果按键选项类的类型为指向地图类则如下处理 MapRoomScript map = (MapRoomScript)Script.OutRoom; //切换地图重置主角初始位置(根据地图初始信息) if (map.Script != map.MapScripts[item.ToMapScript.Name]) { map.Script = map.MapScripts[item.ToMapScript.Name]; map.ReLoad(); } break; case KeySelect.KeySelectType.ToUnit: UnitInfoRoom uu = (UnitInfoRoom)GameMainRecycle.RoomScripts.Group[item.ToScript]; uu.Unit = item.Unit; break; default: break; } }
public override void Runing() { DeBugRun(); Console.WriteLine("正在加载存档。。。。。。。。"); string exePath = Directory.GetCurrentDirectory(); string filePath = string.Format("{0}\\{1}.json", exePath, "Save"); if (!System.IO.File.Exists(filePath)) { KeySelects[0] = GoStarRoom; return; } else { KeySelects[0] = null; OutRoom = GameMainRecycle.RoomScripts.Group[typeof(MapRoomScript).Name]; MapRoomScript mapRoom = (MapRoomScript)OutRoom; mapRoom.Script = mapRoom.MapScripts[typeof(StartMapScript).Name]; string j = string.Empty; j = JsonHelper.GetMyJson(exePath, "Save"); PlayerInformation.PlayerSaveDate save = JsonConvert.DeserializeObject <PlayerInformation.PlayerSaveDate>(j);//占用内存高 mapRoom.Script = mapRoom.MapScripts[save.MapScript]; mapRoom.X = save.Px; mapRoom.Y = save.Py; save.SetPlayerDate(); return; } }
private void SetRoom() { MapRoomScript mapRoom = (MapRoomScript)LastRoom; switch (mapRoom.Script.MapType) { case MapScript.MapTypes.city: SelectText = SelectText0; SelectRoom = SelectRoom0; break; case MapScript.MapTypes.maze: SelectText = SelectText1; SelectRoom = SelectRoom1; break; default: break; } }