Пример #1
0
        // Use this for initialization
        void InitActionGroup(StroyLineConfigData initStroyLineData)
        {
            for (int i = 0; i < EditorDataManager.Instance.StroyLineTempData.Count; i++)
            {
                if (EditorDataManager.Instance.StroyLineTempData[i]._StroyLineID == initStroyLineData._StroyLineID)
                {
                    EditorDataManager.Instance.StroyLineTempData.RemoveAt(i);
                }
            }

            EditorDataManager.Instance.StroyLineTempData.Add(initStroyLineData);

            int iRow = 0;

            GameObject mapIDItem = (GameObject)Instantiate(ActionGroupItem);

            mapIDItem.transform.parent        = this.transform;
            mapIDItem.transform.localScale    = Vector3.one;
            mapIDItem.transform.localPosition = new Vector3(0, -20 + iRow * -40, 0);
            mapIDItem.GetComponent <ActionGroupItem>().InitGroupItem(initStroyLineData, GroupType.MAPID);
            m_curObjectList.Add(mapIDItem);

            iRow += 1;
            GameObject bgMusicItem = (GameObject)Instantiate(ActionGroupItem);

            bgMusicItem.transform.parent        = this.transform;
            bgMusicItem.transform.localScale    = Vector3.one;
            bgMusicItem.transform.localPosition = new Vector3(0, -20 + iRow * -40, 0);
            bgMusicItem.GetComponent <ActionGroupItem>().InitGroupItem(initStroyLineData, GroupType.BGMUSIC);
            m_curObjectList.Add(bgMusicItem);

            iRow += 1;
            GameObject conditionItem = (GameObject)Instantiate(ActionGroupItem);

            conditionItem.transform.parent        = this.transform;
            conditionItem.transform.localScale    = Vector3.one;
            conditionItem.transform.localPosition = new Vector3(0, -20 + iRow * -40, 0);
            conditionItem.GetComponent <ActionGroupItem>().InitGroupItem(initStroyLineData, GroupType.CONDITION);
            m_curObjectList.Add(conditionItem);

            iRow += 1;
            GameObject ectypeIDItem = (GameObject)Instantiate(ActionGroupItem);

            ectypeIDItem.transform.parent        = this.transform;
            ectypeIDItem.transform.localScale    = Vector3.one;
            ectypeIDItem.transform.localPosition = new Vector3(0, -20 + iRow * -40, 0);
            ectypeIDItem.GetComponent <ActionGroupItem>().InitGroupItem(initStroyLineData, GroupType.ECTYPEID);
            m_curObjectList.Add(ectypeIDItem);

            for (int i = 0; i < initStroyLineData._CameraGroup.Count; i++)
            {
                iRow += 1;
                GameObject cameraGroupItem = (GameObject)Instantiate(ActionGroupItem);
                cameraGroupItem.transform.parent        = this.transform;
                cameraGroupItem.transform.localScale    = Vector3.one;
                cameraGroupItem.transform.localPosition = new Vector3(0, -20 + iRow * -40, 0);
                cameraGroupItem.GetComponent <ActionGroupItem>().InitCameraGroup(initStroyLineData._CameraGroup[i], i);
                m_curObjectList.Add(cameraGroupItem);
            }
        }
Пример #2
0
        void OkEvent(GameObject go)
        {
            HidePanel();
            switch (m_createType)
            {
            case CreateType.STROYLINE:
                StroyLineConfigData stroyline = new StroyLineConfigData();
                CreateStroyLine(stroyline);
                break;

            case CreateType.ACTION:
                StroyActionConfigData actionData = new StroyActionConfigData();
                CreateStroyAction(actionData);
                break;

            case CreateType.CAMERACLIP:
                StroyCameraConfigData cameraData = new StroyCameraConfigData();
                CreateStroyCameraClip(cameraData);
                break;

            default:
                break;
            }

            HidePanel();
        }
Пример #3
0
 //返回场景ID
 private int DealRequestEctypeSceneChange(SMsgActionNewWorld_SC targetScene)
 {
     //此时mapID是否生效问题,当其为0,1时再次请求,如果为2时
     if (targetScene.dwMapParam != 0)
     {
         if (IsCreateRoleStroyLine((int)targetScene.dwMapParam))
         {
             EctypeModel.Instance.SetPreEctypeID(CommonDefineManager.Instance.CommonDefine.TUTORIAL_ECTYPE_ID);
         }
         //当剧情ID不为0,说明存在要播放剧情//
         foreach (var stroyLineConfig in StroyLineConfigManager.Instance.GetStroyLineConfig)
         {
             if (stroyLineConfig.Value._StroyLineID == targetScene.dwMapParam)
             {
                 storyConfigData = stroyLineConfig.Value;
                 StroyLineDataManager.Instance.curStroyLineKey = new StroyLineKey {
                     VocationID  = storyConfigData._TriggerVocation,
                     ConditionID = storyConfigData._TriggerCondition, EctypeID = storyConfigData._EctypeID
                 };
                 return(stroyLineConfig.Value._SceneMapID);
             }
         }
     }
     return(0);
 }
Пример #4
0
 public void CreateStroyLineData(StroyLineConfigData stroyline)
 {
     m_winType       = WinType.CameraGroup;
     m_curTitleName  = "新建镜头组窗口";
     m_stroyLineData = stroyline;
     m_isNewCreate   = true;
     m_isShowWindow  = true;
 }
Пример #5
0
    public StroyLineConfigData Clone()
    {
        StroyLineConfigData tempObj = (StroyLineConfigData )this.MemberwiseClone();

        if (_CameraGroup != null)
        {
            tempObj._CameraGroup = new List <int>(this._CameraGroup);//(int[])this._CameraGroup.Clone();
        }
        return(tempObj);
    }
Пример #6
0
        void CreateStroyLine(StroyLineConfigData stroyline)
        {
            stroyline._BgMusic          = "";
            stroyline._CameraGroup      = new List <int>();
            stroyline._EctypeID         = 0;
            stroyline._SceneMapID       = 0;
            stroyline._TriggerCondition = 1;
            stroyline._StroyLineID      = 0;

            StroyEditorUIManager.Instance.CreateStroyLineData(stroyline);
        }
Пример #7
0
        void InitEditorUI(StroyLineConfigData stroyline)
        {
            GameObject editorItem = (GameObject)Instantiate(StroyLineItem);

            editorItem.transform.parent        = this.transform;
            editorItem.transform.localScale    = Vector3.one;
            editorItem.transform.localPosition = new Vector3(-500, 300 + m_iRow++ *-45, 0);
            editorItem.GetComponent <EditorCheckbox>().InitCheckbox(stroyline._EctypeID, stroyline._TriggerCondition, stroyline._StroyLineID.ToString(), CheckboxType.StroyLine, stroyline._TriggerVocation);
            m_checkboxList.Add(editorItem);
            UICheckbox uiCheckbox = editorItem.GetComponent <UICheckbox>();

            uiCheckbox.radioButtonRoot = this.transform;
        }
Пример #8
0
    private static void StroyLineConfigPostprocess()
    {
        string     path = System.IO.Path.Combine(RESOURCE_STROY_CONFIG_FOLDER, "StroyLineConfig.xml");
        TextReader tr   = new StreamReader(path);
        string     text = tr.ReadToEnd();

        if (text == null)
        {
            Debug.LogError("stroyline config file not exist");
            return;
        }
        else
        {
            XmlSpreadSheetReader.ReadSheet(text);
            XmlSpreadSheet sheet = XmlSpreadSheetReader.Output;
            string[]       keys  = XmlSpreadSheetReader.Keys;

            object[] levelIds = sheet[keys[0]];

            List <StroyLineConfigData> tempList = new List <StroyLineConfigData>();

            for (int i = 0; i < levelIds.Length; i++)
            {
                if (0 == i || 1 == i)
                {
                    continue;
                }
                StroyLineConfigData data = new StroyLineConfigData();
                data._StroyLineID      = Convert.ToInt32(sheet["StroyLineID"][i]);
                data._SceneMapID       = Convert.ToInt32(sheet["SceneMapID"][i]);
                data._BgMusic          = Convert.ToString(sheet["BgMusic"][i]);
                data._TriggerVocation  = Convert.ToInt32(sheet["TriggerProfession"][i]);
                data._TriggerCondition = Convert.ToInt32(sheet["TriggerCondition"][i]);
                data._EctypeID         = Convert.ToInt32(sheet["EctypeID"][i]);

                string   cameraStr      = Convert.ToString(sheet["CameraGroup"][i]);
                string[] splitCameraStr = cameraStr.Split("+".ToCharArray());
                data._CameraGroup = new List <int>();//new int[splitCameraStr.Length];
                data.WeaponType   = Convert.ToInt32(sheet["WeaponType"][i]);
                for (int j = 0; j < splitCameraStr.Length; j++)
                {
                    data._CameraGroup.Add(Convert.ToInt32(splitCameraStr[j]));
                }

                tempList.Add(data);
            }

            CreateStroyLineConfigDataBase(tempList);
        }
    }
Пример #9
0
        // Use this for initialization
        public void InitGroupItem(StroyLineConfigData item, GroupType groupType)
        {
            m_stroyLineData = item;
            int iRow = 0;

            switch (groupType)
            {
            case GroupType.MAPID:
                UILabel.text = "场景地图";
                GameObject OptionMapID = (GameObject)Instantiate(OptionInput);
                OptionMapID.transform.parent        = this.Tween.transform;
                OptionMapID.transform.localScale    = Vector3.one;
                OptionMapID.transform.localPosition = new Vector3(0, -45 + iRow * -40, 0);
                OptionMapID.GetComponent <OptionInputPanel>().InitInput(item._SceneMapID.ToString(), "地图", groupType);
                break;

            case GroupType.BGMUSIC:
                UILabel.text = "背景音乐";
                GameObject OptionMusic = (GameObject)Instantiate(OptionInput);
                OptionMusic.transform.parent        = this.Tween.transform;
                OptionMusic.transform.localScale    = Vector3.one;
                OptionMusic.transform.localPosition = new Vector3(0, -45 + iRow * -40, 0);
                OptionMusic.GetComponent <OptionInputPanel>().InitInput(item._BgMusic, "音乐", groupType);
                break;

            case GroupType.CONDITION:
                UILabel.text = "触发条件";
                GameObject OptionCondition = (GameObject)Instantiate(OptionInput);
                OptionCondition.transform.parent        = this.Tween.transform;
                OptionCondition.transform.localScale    = Vector3.one;
                OptionCondition.transform.localPosition = new Vector3(0, -45 + iRow * -40, 0);
                OptionCondition.GetComponent <OptionInputPanel>().InitInput(item._TriggerCondition.ToString(), "条件", groupType);
                break;

            case GroupType.ECTYPEID:
                UILabel.text = "触发副本";
                GameObject OptionEctype = (GameObject)Instantiate(OptionInput);
                OptionEctype.transform.parent        = this.Tween.transform;
                OptionEctype.transform.localScale    = Vector3.one;
                OptionEctype.transform.localPosition = new Vector3(0, -45 + iRow * -40, 0);
                OptionEctype.GetComponent <OptionInputPanel>().InitInput(item._EctypeID.ToString(), "副本", groupType);
                break;

            default:
                break;
            }
        }
Пример #10
0
    /// <summary>
    /// 进否进入剧情[貌似没有使用]
    /// </summary>
    /// <param name="onSelectEctypeData">当前所选择的副本</param>
    public void CurSelectEctype(SMSGEctypeData_SC onSelectEctypeData)
    {
        m_curSelectEctypeData = onSelectEctypeData;

        int vocation = PlayerManager.Instance.FindHeroDataModel().PlayerValues.PlayerCommonValue.PLAYER_FIELD_VISIBLE_VOCATION;

        EctypeSelectConfigData item = null;

        //todo:onSelectEctypeData协议已经取消难度dwEctypeID和byDiff难度,如果使用需要从新更改
        //EctypeConfigManager.Instance.EctypeSelectConfigList.TryGetValue((int)onSelectEctypeData.dwEctypeID, out item);
        if (item == null)
        {
            return;
        }

        int          _ectypeid = 0;// = item._vectContainer[(int)onSelectEctypeData.byDiff - 1];
        StroyLineKey key       = new StroyLineKey {
            VocationID = vocation, ConditionID = 0, EctypeID = _ectypeid
        };


        if (StroyLineConfigManager.Instance.GetStroyLineConfig.ContainsKey(key) && _ectypeid > m_passEctypeId)
        {
            StroyLineConfigData stroyLineConfig = StroyLineConfigManager.Instance.GetStroyLineConfig[key];

            m_curStroyMapID    = stroyLineConfig._SceneMapID;
            m_curMapBgMusic    = stroyLineConfig._BgMusic;
            m_curCameraGroupID = stroyLineConfig._CameraGroup;

            //1=进入触发;2=完成触发
            if (StroyLineConfigManager.Instance.GetStroyLineConfig[key]._TriggerCondition == 1)
            {
                m_stroyLineType = StroyLineType.EctypeStart;
            }
            else if (StroyLineConfigManager.Instance.GetStroyLineConfig[key]._TriggerCondition == 2)
            {
                m_stroyLineType = StroyLineType.EctypeEnd;
            }
            //else
            //    m_stroyLineType = StroyLineType.None;
        }
        //else
        //{
        //    m_stroyLineType = StroyLineType.None;
        //}
    }