/// <summary> /// 控件激活时 /// </summary> private void OnEnable() { fisrtKeyUP = false; iGameState = GameState.Instance.GetEntity <IGameState>(); iPlayerState = GameState.Instance.GetEntity <IPlayerState>(); iMapState = GameState.Instance.GetEntity <IMapState>(); iNowTaskState = GameState.Instance.GetEntity <INowTaskState>(); npcData = DataCenter.Instance.GetMetaData <NPCData>(); PlayerState playerState = DataCenter.Instance.GetEntity <PlayerState>(); playerState.UpdateMapMaskData(iGameState.SceneName); runTimeTasksData = DataCenter.Instance.GetEntity <RuntimeTasksData>(); UIManager.Instance.KeyUpHandle += Instance_KeyUpHandle; UIManager.Instance.KeyPressHandle += Instance_KeyPressHandle; bigMapOperateState = EnumBigMapOperateState.OperateMap; showSettingPanel.gameObject.SetActive(false); ResetSceneDropDown(); //ResetMap(iMapState.MapBackSprite, iMapState.MaskMapSprite, iMapState.MapRectAtScene, iGameState.SceneName); StartCoroutine(NextFrameInit()); //判断是否是点击路牌打开的该界面.如果是才可以传送 IInteractiveState iInteractiveState = GameState.Instance.GetEntity <IInteractiveState>(); NPCDataInfo npcDataInfo = npcData.GetNPCDataInfo(iGameState.SceneName, iInteractiveState.ClickInteractiveNPCID); if (npcDataInfo != null && npcDataInfo.NPCType == EnumNPCType.Street) { canTransport = true; } else { canTransport = false; } }
// Use this for initialization void Start() { List <Archive> allArchives = DataCenter.Instance.GetAllArchive(); //不存在id为1的存档就来一份吧~ if (allArchives.All(a => a.ID != 1)) { DataCenter.Instance.Save(1, "firstTest", "testIntro"); } //加载存档1 DataCenter.Instance.LoadArchive(1); //测试任务 MetaTasksData metaTaskDataSystem = DataCenter.Instance.GetMetaData <MetaTasksData>(); RuntimeTasksData runtimeTaskData = DataCenter.Instance.GetEntity <RuntimeTasksData>(); List <RunTimeTaskInfo> allCanDotask = runtimeTaskData.GetAllToDoList(); RunTimeTaskInfo firstTask = allCanDotask[0]; //根据runtimetask的id去metaTask里拿Task的所有信息 MetaTaskInfo firstTaskMetaInfo = metaTaskDataSystem[firstTask.ID]; Debug.Log(firstTaskMetaInfo.MetaTaskNode.TaskLocation); Debug.Log(firstTaskMetaInfo.MetaTaskNode.TaskTitile); Debug.Log(firstTaskMetaInfo.MetaTaskNode.TaskType); //******任务具体逻辑************ //任务完成 firstTask.IsOver = true; //获取新任务继续 var newTaskList = runtimeTaskData.GetAllToDoList(); //获取按键数据 KeyContactData keyContactData = DataCenter.Instance.GetEntity <KeyContactData>(); keyContactData.SetKeyContactStruct(1, new KeyContactStruct() { id = 1, key = 2, keyContactType = EnumKeyContactType.Action }); var keyDataStructs = keyContactData.GetKeyContactStruct(1); //获取 PlayerState PlayerState playerState = DataCenter.Instance.GetEntity <PlayerState>(); playerState.Agility = 1; playerState.Level = 20; //写入数据 DataCenter.Instance.Save(2, "test2", "test2"); Debug.Log("存档成功"); }
void Start() { iPlayerState = GameState.Instance.GetEntity <IPlayerState>(); iGameState = GameState.Instance.GetEntity <IGameState>(); iMapState = GameState.Instance.GetEntity <IMapState>(); iNowTaskState = GameState.Instance.GetEntity <INowTaskState>(); npcData = DataCenter.Instance.GetMetaData <NPCData>(); runTimeTasksData = DataCenter.Instance.GetEntity <RuntimeTasksData>(); ResetMap(); GameState.Instance.Registor <IGameState>(IGamgeStateChaged); }
public DataCenter() { PlayerState = new PlayerState(); KeyConatactData = new KeyContactData(); RuntimeTasks = new RuntimeTasksData(); gameRunnedState = new GameRunnedState(); RuntimeTaskMap = new TaskMap.RunTimeTaskData(); BusinessmanStates = new BusinessmanStates(); GameRunningStaetData = new GameRunningStateData(); ActionInteractiveStateData = new ActionInteractiveStateData(); SceneStateDatas = new SceneStateDatas(); }