Esempio n. 1
0
    /// <summary>
    /// 设置功能相关红点显示
    /// </summary>
    public void SetFunctionRed(FunctionType _func, bool isRed)
    {
        FunctionDataInfo funcInfo = null;

        if (functionList.ContainsKey((int)_func))
        {
            funcInfo = functionList[(int)_func] as FunctionDataInfo;
            if (funcInfo != null && isRed != funcInfo.FuncBtnRed)
            {
                funcInfo.FuncBtnRed = isRed;
            }
        }
        else
        {
            OpenNewFunctionRef refData = ConfigMng.Instance.GetOpenNewFunctionRef((int)_func, mainPlayerInfo.Prof);
            if (refData == null)
            {
                funcInfo                 = new FunctionDataInfo(_func);
                funcInfo.FuncBtnRed      = isRed;
                functionList[(int)_func] = funcInfo;
            }
            else
            {
                funcInfo                        = new FunctionDataInfo(refData);
                funcInfo.FuncBtnRed             = isRed;
                functionList[refData.func_type] = funcInfo;
            }
        }
    }
Esempio n. 2
0
 void OpenFunction(TaskInfo task, bool taskNew)
 {
     if (task.FuncSequence.Count == 0 || task.TaskState == TaskStateType.ENDED || task.TaskState == TaskStateType.UnTake)
     {
         return;
     }
     for (int i = 0; i < task.FuncSequence.Count; i++)
     {
         OpenNewFunctionRef refData = ConfigMng.Instance.GetOpenNewFunctionRef(task.FuncSequence[i]);
         if (refData == null)
         {
             Debug.Log("任务task=" + task.Task + "step=" + task.Step + "的开启功能id。在功能表中没有找到数据");
             continue;
         }
         if (refData.open_conditions == 2 && taskNew)
         {
             continue;
         }
         if (refData.open_conditions == 1 && !taskNew)
         {
             continue;
         }
         guildTask = task;
         FunctionDataInfo funcInfo = null;
         if (refData.func_type <= 0)
         {//没有与功能相关的引导或者其他处理
             funcInfo = new FunctionDataInfo(refData);
         }
         else
         {
             if (functionList.ContainsKey(refData.func_type))
             {
                 funcInfo = functionList[refData.func_type] as FunctionDataInfo;
             }
         }
         if (funcInfo != null)
         {
             funcInfo.Update(true);
             if (GameCenter.noviceGuideMng.UpdateFunctionData != null)
             {
                 GameCenter.noviceGuideMng.UpdateFunctionData(funcInfo);//开启多个功能时,只支持第一个功能有开启表现
             }
             if (funcInfo.Seqencing != functionSequence)
             {
                 functionSequence = funcInfo.Seqencing;
                 GameCenter.noviceGuideMng.C2S_GuideSeqencing(funcInfo.Seqencing);
             }
         }
     }
 }
Esempio n. 3
0
 /// <summary>
 /// 有配表数据的功能构造
 /// </summary>
 public FunctionDataInfo(OpenNewFunctionRef _refData)
 {
     refData = _refData;
     Update();
 }