Exemplo n.º 1
0
    private void InitDefaultTask()
    {
        int        taskId     = CommonDefineManager.Instance.CommonDefine.DefaultStroy;
        STaskState sTaskState = new STaskState();

        sTaskState.dwTaskID = taskId;
        DefaultNPCTask      = new TaskState(sTaskState, m_taskNewConfigDataBase.GetTaskNewConfigData(taskId));
    }
Exemplo n.º 2
0
    CommandCallbackType AcceptTaskDataHandle(byte[] dataBuffer, int socketID)
    {
        STaskState sTaskState;

        sTaskState = STaskState.ParseResultPackage(dataBuffer);
        TaskModel.Instance.AcceptTask(sTaskState);

        return(CommandCallbackType.Continue);
    }
Exemplo n.º 3
0
    public static SMsgInteractInitTask_SC ParseResultPackage(byte[] dataBuffer)
    {
        SMsgInteractInitTask_SC sMsgInteractInitTask_SC = new SMsgInteractInitTask_SC();
        int  offset = 0;
        byte byNum;

        offset += PackageHelper.ReadData(dataBuffer.ToArray(), out byNum);
        sMsgInteractInitTask_SC.STaskStates = new STaskState[byNum];
        int length = Marshal.SizeOf(typeof(STaskState));

        for (int i = 0; i < byNum; i++)
        {
            sMsgInteractInitTask_SC.STaskStates[i] = STaskState.ParseResultPackage(dataBuffer.Skip(offset).Take(length).ToArray());
            offset += length;
        }

        return(sMsgInteractInitTask_SC);
    }
Exemplo n.º 4
0
    /// <summary>
    /// 接收任务
    /// </summary>
    /// <param name="sTaskState"></param>
    public void AcceptTask(STaskState sTaskState)
    {
        int tempI = -1;

        for (int i = 0; i < m_sortedTask.Count; i++)
        {
            if (m_sortedTask[i].dwTaskID == sTaskState.dwTaskID)
            {
                tempI = i;
            }
        }
        if (tempI != -1)
        {
            m_sortedTask.RemoveAt(tempI);
        }
        TaskState taskState = new TaskState(sTaskState, m_taskNewConfigDataBase.GetTaskNewConfigData(sTaskState.dwTaskID));

        m_sortedTask.Add(taskState);
        if (m_taskNewConfigDataBase.GetTaskNewConfigData(sTaskState.dwTaskID).GuideGroup != "0") //当引导组不为0时,表示需要加入到快速引导列表
        {
            RefreshQuickTaskGuide();
        }
        RefreshTask();
        if (!m_lockTaskAutoTrigger)
        {
            //第一次下发的不处理//
            AutoTriggerTask(taskState);
        }
        else
        {
            m_lockTaskAutoTrigger = false;              //解锁 任务触发后,自动或手动
        }
        if (AcceptTaskAct != null)
        {
            AcceptTaskAct();
        }
    }
Exemplo n.º 5
0
 public void Update(STaskState sTaskState)
 {
     this.byAllRate = sTaskState.byAllRate;
     this.byRate    = sTaskState.byRate;
     this.dwTaskID  = sTaskState.dwTaskID;
 }
Exemplo n.º 6
0
 public TaskState(STaskState sTaskState, TaskNewConfigData taskNewConfigData)
 {
     Finished = false;
     this.Update(sTaskState);
     TaskNewConfigData = taskNewConfigData;
 }
Exemplo n.º 7
0
 public void MakeDemoData()
 {
     STaskState[] sTaskStates = new STaskState[16];
     sTaskStates[0] = new STaskState()
     {
         dwTaskID = 115, byRate = 1, byAllRate = 3
     };
     sTaskStates[1] = new STaskState()
     {
         dwTaskID = 100, byRate = 1, byAllRate = 3
     };
     sTaskStates[2] = new STaskState()
     {
         dwTaskID = 101, byRate = 1, byAllRate = 3
     };
     sTaskStates[3] = new STaskState()
     {
         dwTaskID = 102, byRate = 1, byAllRate = 3
     };
     sTaskStates[4] = new STaskState()
     {
         dwTaskID = 103, byRate = 1, byAllRate = 3
     };
     sTaskStates[5] = new STaskState()
     {
         dwTaskID = 104, byRate = 1, byAllRate = 3
     };
     sTaskStates[6] = new STaskState()
     {
         dwTaskID = 105, byRate = 1, byAllRate = 3
     };
     sTaskStates[7] = new STaskState()
     {
         dwTaskID = 106, byRate = 1, byAllRate = 3
     };
     sTaskStates[8] = new STaskState()
     {
         dwTaskID = 107, byRate = 1, byAllRate = 3
     };
     sTaskStates[9] = new STaskState()
     {
         dwTaskID = 108, byRate = 1, byAllRate = 3
     };
     sTaskStates[10] = new STaskState()
     {
         dwTaskID = 109, byRate = 1, byAllRate = 3
     };
     sTaskStates[11] = new STaskState()
     {
         dwTaskID = 110, byRate = 1, byAllRate = 3
     };
     sTaskStates[12] = new STaskState()
     {
         dwTaskID = 111, byRate = 1, byAllRate = 3
     };
     sTaskStates[13] = new STaskState()
     {
         dwTaskID = 112, byRate = 1, byAllRate = 3
     };
     sTaskStates[14] = new STaskState()
     {
         dwTaskID = 113, byRate = 1, byAllRate = 3
     };
     sTaskStates[15] = new STaskState()
     {
         dwTaskID = 114, byRate = 1, byAllRate = 3
     };
     InitTask(sTaskStates);
 }
Exemplo n.º 8
0
    /// <summary>
    /// 任务更新
    /// </summary>
    /// <param name="sTaskState"></param>
    public void UpdateTask(STaskState sTaskState)
    {
        var taskState = m_sortedTask.SingleOrDefault(P => P.dwTaskID == sTaskState.dwTaskID);

        taskState.Update(sTaskState);
    }