Beispiel #1
0
    /// <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;
        }
    }
Beispiel #2
0
    // 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("存档成功");
    }
Beispiel #3
0
 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();
 }