コード例 #1
0
 private void Start()
 {
     mStageConfig = Store.NextStageConfig;
     InitGrid();
     InitBlocks();
 }
コード例 #2
0
 public StageConfig()
 {
     _instance = this;
 }
コード例 #3
0
        public ObjectImporter(IList <SceneObject> sourceSceneObjects, IList <SceneObject> targetSceneObjects, StageConfig stageConfig)
        {
            InitializeComponent();
            rtbWarning.Rtf      = Resources.ObjectWarning;
            _sourceSceneObjects = sourceSceneObjects;
            _targetSceneObjects = targetSceneObjects;
            _stageConfig        = stageConfig;

            var targetNames       = targetSceneObjects.Select(tso => tso.Name.ToString());
            var importableObjects = sourceSceneObjects.Where(sso => !targetNames.Contains(sso.Name.ToString()))
                                    .OrderBy(sso => sso.Name.ToString());

            if (Properties.Settings.Default.RemoveObjectImportLock == true)
            {
                importableObjects = sourceSceneObjects.Where(sso => targetNames.Contains(sso.Name.ToString()))
                                    .OrderBy(sso => sso.Name.ToString());
            }
            else
            {
                importableObjects = sourceSceneObjects.Where(sso => !targetNames.Contains(sso.Name.ToString()))
                                    .OrderBy(sso => sso.Name.ToString());
            }

            foreach (var io in importableObjects)
            {
                var lvi = new ListViewItem(io.Name.ToString())
                {
                    Checked = false
                };

                lvObjects.Items.Add(lvi);
            }
        }
コード例 #4
0
        public ObjectImporter(string DataFolder, GameConfig SourceConfig, IList <SceneObject> _TargetObjects, StageConfig _TargetStageConfig, Controls.Editor.MainEditor Instance)
        {
            InitializeComponent();
            SetupWindow(Instance);

            TargetObjects     = _TargetObjects;
            TargetStageConfig = _TargetStageConfig;

            GenerateMegaList(DataFolder, SourceConfig);
        }
コード例 #5
0
    public void UnconditionalShow(int CardID)
    {
        if (CsvConfigTables.Instance.MagicCardCsvDic.TryGetValue(CardID, out MCCfg))
        {
            gameObject.SetActive(true);

            Name.text = MCCfg.Name;

            if (MagicVal != null)
            {
                MagicVal.text = MCCfg.MagicVal.ToString();
            }

            if (Des != null)
            {
                Des.text = StringBuilderTool.ToInfoString("  ", MCCfg.Describe.Replace("\\n", "\n"));
                BoxCollider bc = Des.gameObject.GetComponent <BoxCollider>();
                if (bc != null)
                {
                    bc.center = new Vector3(Des.width / 2, -Des.height / 2, 0);
                    bc.size   = new Vector3(Des.width, Des.height, 0);
                }
                UITable tab = Des.transform.parent.GetComponent <UITable>();
                if (tab != null)
                {
                    tab.Reposition();
                    UIScrollView sv = tab.transform.parent.GetComponent <UIScrollView>();
                    if (sv != null)
                    {
                        sv.ResetPosition();
                    }
                }
            }

            if (Count != null)
            {
                Count.text = SerPlayerData.GetItemCount(MCCfg.CardID).ToString();
            }

            Icon.mainTexture = Resources.Load(StringBuilderTool.ToInfoString("MagicCard/", MCCfg.ColouredIcon)) as Texture;

            for (int i = 0; i < Star.Length; i++)
            {
                Star[i].spriteName = "c_t_star01";
                Star[i].gameObject.SetActive(i < MCCfg.StarLv);
            }


            if (MCCfg.ThemeID == 101)//恐龙世界
            {
                if (Title != null)
                {
                    Title.gameObject.SetActive(true);
                }
                if (LatinName != null)
                {
                    LatinName.gameObject.SetActive(true);
                }
                if (Epoch != null)
                {
                    Epoch.gameObject.SetActive(true);
                }
                if (Family != null)
                {
                    Family.gameObject.SetActive(true);
                }
                if (Weight != null)
                {
                    Weight.gameObject.SetActive(false);
                }
                if (Height != null)
                {
                    Height.gameObject.SetActive(true);
                }
                if (Habitat != null)
                {
                    Habitat.gameObject.SetActive(true);
                }
                if (Food != null)
                {
                    Food.gameObject.SetActive(true);
                }
                if (Satellite != null)
                {
                    Satellite.gameObject.SetActive(false);
                }
                if (Distance != null)
                {
                    Distance.gameObject.SetActive(false);
                }
                if (Temperature != null)
                {
                    Temperature.gameObject.SetActive(false);
                }
                if (Diameter != null)
                {
                    Diameter.gameObject.SetActive(false);
                }
                if (Day != null)
                {
                    Day.gameObject.SetActive(false);
                }
                if (Year != null)
                {
                    Year.gameObject.SetActive(false);
                }
                if (Time != null)
                {
                    Time.gameObject.SetActive(false);
                }
                if (Ruler != null)
                {
                    Ruler.gameObject.SetActive(false);
                }
            }
            else if (MCCfg.ThemeID == 102)//动物园
            {
                if (Title != null)
                {
                    Title.gameObject.SetActive(true);
                }
                if (LatinName != null)
                {
                    LatinName.gameObject.SetActive(true);
                }
                if (Epoch != null)
                {
                    Epoch.gameObject.SetActive(false);
                }
                if (Family != null)
                {
                    Family.gameObject.SetActive(false);
                }
                if (Weight != null)
                {
                    Weight.gameObject.SetActive(true);
                }
                if (Height != null)
                {
                    Height.gameObject.SetActive(true);
                }
                if (Habitat != null)
                {
                    Habitat.gameObject.SetActive(true);
                }
                if (Food != null)
                {
                    Food.gameObject.SetActive(true);
                }
                if (Satellite != null)
                {
                    Satellite.gameObject.SetActive(false);
                }
                if (Distance != null)
                {
                    Distance.gameObject.SetActive(false);
                }
                if (Temperature != null)
                {
                    Temperature.gameObject.SetActive(false);
                }
                if (Diameter != null)
                {
                    Diameter.gameObject.SetActive(false);
                }
                if (Day != null)
                {
                    Day.gameObject.SetActive(false);
                }
                if (Year != null)
                {
                    Year.gameObject.SetActive(false);
                }
                if (Time != null)
                {
                    Time.gameObject.SetActive(false);
                }
                if (Ruler != null)
                {
                    Ruler.gameObject.SetActive(false);
                }
            }
            else if (MCCfg.ThemeID == 103)//海洋世界
            {
                if (Title != null)
                {
                    Title.gameObject.SetActive(true);
                }
                if (LatinName != null)
                {
                    LatinName.gameObject.SetActive(true);
                }
                if (Epoch != null)
                {
                    Epoch.gameObject.SetActive(false);
                }
                if (Family != null)
                {
                    Family.gameObject.SetActive(false);
                }
                if (Weight != null)
                {
                    Weight.gameObject.SetActive(true);
                }
                if (Height != null)
                {
                    Height.gameObject.SetActive(true);
                }
                if (Habitat != null)
                {
                    Habitat.gameObject.SetActive(true);
                }
                if (Food != null)
                {
                    Food.gameObject.SetActive(true);
                }
                if (Satellite != null)
                {
                    Satellite.gameObject.SetActive(false);
                }
                if (Distance != null)
                {
                    Distance.gameObject.SetActive(false);
                }
                if (Temperature != null)
                {
                    Temperature.gameObject.SetActive(false);
                }
                if (Diameter != null)
                {
                    Diameter.gameObject.SetActive(false);
                }
                if (Day != null)
                {
                    Day.gameObject.SetActive(false);
                }
                if (Year != null)
                {
                    Year.gameObject.SetActive(false);
                }
                if (Time != null)
                {
                    Time.gameObject.SetActive(false);
                }
                if (Ruler != null)
                {
                    Ruler.gameObject.SetActive(false);
                }
            }
            else if (MCCfg.ThemeID == 201)//太阳系
            {
                if (Title != null)
                {
                    Title.gameObject.SetActive(true);
                }
                if (LatinName != null)
                {
                    LatinName.gameObject.SetActive(true);
                }
                if (Epoch != null)
                {
                    Epoch.gameObject.SetActive(false);
                }
                if (Family != null)
                {
                    Family.gameObject.SetActive(false);
                }
                if (Weight != null)
                {
                    Weight.gameObject.SetActive(false);
                }
                if (Height != null)
                {
                    Height.gameObject.SetActive(false);
                }
                if (Habitat != null)
                {
                    Habitat.gameObject.SetActive(false);
                }
                if (Food != null)
                {
                    Food.gameObject.SetActive(false);
                }
                if (Satellite != null)
                {
                    Satellite.gameObject.SetActive(true);
                }
                if (Distance != null)
                {
                    Distance.gameObject.SetActive(true);
                }
                if (Temperature != null)
                {
                    Temperature.gameObject.SetActive(true);
                }
                if (Diameter != null)
                {
                    Diameter.gameObject.SetActive(true);
                }
                if (Day != null)
                {
                    Day.gameObject.SetActive(true);
                }
                if (Year != null)
                {
                    Year.gameObject.SetActive(true);
                }
                if (Time != null)
                {
                    Time.gameObject.SetActive(false);
                }
                if (Ruler != null)
                {
                    Ruler.gameObject.SetActive(false);
                }
            }
            else if (MCCfg.ThemeID == 601)//春节
            {
                if (Title != null)
                {
                    Title.gameObject.SetActive(false);
                }
                if (LatinName != null)
                {
                    LatinName.gameObject.SetActive(false);
                }
                if (Epoch != null)
                {
                    Epoch.gameObject.SetActive(false);
                }
                if (Family != null)
                {
                    Family.gameObject.SetActive(false);
                }
                if (Weight != null)
                {
                    Weight.gameObject.SetActive(false);
                }
                if (Height != null)
                {
                    Height.gameObject.SetActive(false);
                }
                if (Habitat != null)
                {
                    Habitat.gameObject.SetActive(false);
                }
                if (Food != null)
                {
                    Food.gameObject.SetActive(false);
                }
                if (Satellite != null)
                {
                    Satellite.gameObject.SetActive(false);
                }
                if (Distance != null)
                {
                    Distance.gameObject.SetActive(false);
                }
                if (Temperature != null)
                {
                    Temperature.gameObject.SetActive(false);
                }
                if (Diameter != null)
                {
                    Diameter.gameObject.SetActive(false);
                }
                if (Day != null)
                {
                    Day.gameObject.SetActive(false);
                }
                if (Year != null)
                {
                    Year.gameObject.SetActive(false);
                }
                if (Time != null)
                {
                    Time.gameObject.SetActive(true);
                }
                if (Ruler != null)
                {
                    Ruler.gameObject.SetActive(false);
                }
            }
            else if (MCCfg.ThemeID == 603)//星座
            {
                if (Title != null)
                {
                    Title.gameObject.SetActive(false);
                }
                if (LatinName != null)
                {
                    LatinName.gameObject.SetActive(true);
                }
                if (Epoch != null)
                {
                    Epoch.gameObject.SetActive(false);
                }
                if (Family != null)
                {
                    Family.gameObject.SetActive(false);
                }
                if (Weight != null)
                {
                    Weight.gameObject.SetActive(false);
                }
                if (Height != null)
                {
                    Height.gameObject.SetActive(false);
                }
                if (Habitat != null)
                {
                    Habitat.gameObject.SetActive(false);
                }
                if (Food != null)
                {
                    Food.gameObject.SetActive(false);
                }
                if (Satellite != null)
                {
                    Satellite.gameObject.SetActive(false);
                }
                if (Distance != null)
                {
                    Distance.gameObject.SetActive(false);
                }
                if (Temperature != null)
                {
                    Temperature.gameObject.SetActive(false);
                }
                if (Diameter != null)
                {
                    Diameter.gameObject.SetActive(false);
                }
                if (Day != null)
                {
                    Day.gameObject.SetActive(false);
                }
                if (Year != null)
                {
                    Year.gameObject.SetActive(false);
                }
                if (Time != null)
                {
                    Time.gameObject.SetActive(true);
                }
                if (Ruler != null)
                {
                    Ruler.gameObject.SetActive(true);
                }
            }

            if (Bg != null)
            {
                switch (MCCfg.Quality)
                {
                case 1:
                    Bg.spriteName = "lvbian";
                    break;

                case 2:
                    Bg.spriteName = "lanbian";
                    break;

                case 3:
                    Bg.spriteName = "zibian";
                    break;
                }
            }

            if (QualitySign != null)
            {
                switch (MCCfg.Quality)
                {
                case 1:
                    QualitySign.spriteName = "lvbiao";
                    break;

                case 2:
                    QualitySign.spriteName = "lanbiao";
                    break;

                case 3:
                    QualitySign.spriteName = "zibiao";
                    break;
                }
                QualitySign.MakePixelPerfect();
            }

            if (System != null)
            {
                ChapterConfig cc = null;
                if (CsvConfigTables.Instance.ChapterCsvDic.TryGetValue(MCCfg.SystemID, out cc))
                {
                    System.text = cc.Name;
                }
            }

            if (Theme != null)
            {
                GroupConfig gc = null;
                if (CsvConfigTables.Instance.GroupCsvDic.TryGetValue(MCCfg.ThemeID, out gc))
                {
                    Theme.text = gc.Name;
                }
            }

            if (Quality != null)
            {
                Quality.text = StringBuilderTool.ToInfoString(ArabicToChinese(MCCfg.Quality), "阶卡");
            }

            if (Epoch != null)
            {
                Epoch.text = MCCfg.Epoch;
            }

            if (Family != null)
            {
                Family.text = MCCfg.Family;
            }

            if (LatinName != null)
            {
                LatinName.text = MCCfg.LatinName;
            }

            if (Height != null)
            {
                Height.text = MCCfg.Height;
            }

            if (Habitat != null)
            {
                Habitat.text = MCCfg.Habitat;
            }

            if (Food != null)
            {
                Food.text = MCCfg.Food;
            }

            if (Weight != null)
            {
                if (MCCfg.Weight.Length == 0)
                {
                    Weight.gameObject.SetActive(false);
                }
                Weight.text = MCCfg.Weight;
            }

            if (Satellite != null)
            {
                if (MCCfg.Satellite.Length == 0)
                {
                    Satellite.gameObject.SetActive(false);
                }
                Satellite.text = MCCfg.Satellite;
            }

            if (Temperature != null)
            {
                if (MCCfg.Temperature.Length == 0)
                {
                    Temperature.gameObject.SetActive(false);
                }
                Temperature.text = MCCfg.Temperature;
            }

            if (Distance != null)
            {
                if (MCCfg.Distance.Length == 0)
                {
                    Distance.gameObject.SetActive(false);
                }
                Distance.text = MCCfg.Distance;
            }

            if (Diameter != null)
            {
                if (MCCfg.Diameter.Length == 0)
                {
                    Diameter.gameObject.SetActive(false);
                }
                Diameter.text = MCCfg.Diameter;
            }

            if (Day != null)
            {
                if (MCCfg.Day.Length == 0)
                {
                    Day.gameObject.SetActive(false);
                }
                Day.text = MCCfg.Day;
            }

            if (Year != null)
            {
                if (MCCfg.Year.Length == 0)
                {
                    Year.gameObject.SetActive(false);
                }
                Year.text = MCCfg.Year;
            }

            if (Time != null)
            {
                if (MCCfg.Time.Length == 0)
                {
                    Time.gameObject.SetActive(false);
                }
                Time.text = MCCfg.Time;
            }

            if (Title != null)
            {
                if (MCCfg.Title.Length == 0)
                {
                    Title.gameObject.SetActive(false);
                }
                Title.text = MCCfg.Title;
            }

            if (GetWayFromStage != null)
            {
                bool showShortcut = (MCCfg.Shortcut != 0);
                GetWayFromStage.gameObject.SetActive(showShortcut);
                if (showShortcut)
                {
                    StageConfig sc = null;
                    if (CsvConfigTables.Instance.StageCsvDic.TryGetValue(MCCfg.Shortcut, out sc))
                    {
                        GetWayFromStage.text = sc.Name;
                    }
                }
            }

            if (EnableCompound != null)
            {
                EnableCompound.SetActive(false);
            }

            if (NewSign != null)
            {
                NewSign.alpha = 0;
            }

            switch (MCCfg.StarLv)
            {
            case 1:
                Star[0].transform.localPosition = Vector3.zero;
                break;

            case 2:
                Star[0].transform.localPosition = new Vector3(-12, 0, 0);
                Star[1].transform.localPosition = new Vector3(12, 0, 0);
                break;

            case 3:
                Star[0].transform.localPosition = new Vector3(-24, 0, 0);
                Star[1].transform.localPosition = Vector3.zero;
                Star[2].transform.localPosition = new Vector3(24, 0, 0);
                break;

            case 4:
                Star[0].transform.localPosition = new Vector3(-36, 0, 0);
                Star[1].transform.localPosition = new Vector3(-12, 0, 0);
                Star[2].transform.localPosition = new Vector3(12, 0, 0);
                Star[3].transform.localPosition = new Vector3(36, 0, 0);
                break;

            case 5:
                break;
            }
        }
        else
        {
            gameObject.SetActive(false);
        }
    }
コード例 #6
0
    public void SetStageInfo(int ChapterID, int GroupID)
    {
        CurChapterID = ChapterID;
        CurGroupID   = GroupID;

        //TableRoot = transform.parent.gameObject;
        //tp = TableRoot.GetComponent<TweenPosition>();

        if (StageObjs.Count > 0)
        {
            return;
        }


        if (GroupExplain_Pic != null &&
            GroupExplain_Title != null &&
            GroupExplain_Explain != null)
        {
            GroupConfig gc = null;
            CsvConfigTables.Instance.GroupCsvDic.TryGetValue(CurGroupID, out gc);
            if (gc != null)
            {
                GroupExplain_Pic.mainTexture = Resources.Load(StringBuilderTool.ToInfoString("MagicCardTheme/", gc.ThemePic)) as Texture;
                GroupExplain_Title.text      = gc.Name;
                GroupExplain_Explain.text    = gc.Explain;
            }
            return;
        }

        switch (CurGroupIndex)
        {
        case 1:
        case 2:
        {
            for (int i = 0; i < transform.childCount; i++)
            {
                Transform child = transform.GetChild(i);
                if (child.name.Contains("Stage"))
                {
                    StageObjs.Add(child.GetComponent <UI_Stage>());
                }
            }

            for (int i = 0; i < StageObjs.Count; i++)
            {
                StageConfig sc = GetSC(i);
                if (sc != null)
                {
                    ((UI_Stage)StageObjs[i]).SetInfo(sc);
                }
            }
        }
        break;

        case 3:
        {
            for (int i = 0; i < transform.childCount; i++)
            {
                Transform child = transform.GetChild(i);
                if (child.name.Contains("Stage"))
                {
                    StageObjs.Add(child.GetComponent <UI_Painting>());
                }
            }

            List <int> EnableUseFishCardIDLst = new List <int>();
            foreach (KeyValuePair <int, MagicCardConfig> pair in CsvConfigTables.Instance.MagicCardCsvDic)
            {
                if (pair.Value.ThemeID == 103)        //只显示已做资源的鱼
                {
                    EnableUseFishCardIDLst.Add(pair.Value.CardID);
                }
            }

            for (int i = 0; i < StageObjs.Count; i++)
            {
                if (i < EnableUseFishCardIDLst.Count)
                {
                    MagicCardConfig MCCfg = null;
                    CsvConfigTables.Instance.MagicCardCsvDic.TryGetValue(/*Const.FishCardFirshID + i*/ EnableUseFishCardIDLst[i], out MCCfg);
                    if (MCCfg != null)
                    {
                        ((UI_Painting)StageObjs[i]).SetInfo(MCCfg);
                    }
                }
                else
                {
                    StageObjs[i].gameObject.SetActive(false);
                    Transform lineObj = StageObjs[i].transform.parent.Find(StringBuilderTool.ToString("Line_", i - 1, "_", i));
                    if (lineObj != null)
                    {
                        lineObj.gameObject.SetActive(false);
                    }
                }
            }
        }
        break;
        }
    }
コード例 #7
0
        public ObjectImporter(IList <SceneObject> _SourceObjects, IList <SceneObject> _TargetObjects, StageConfig _TargetStageConfig, Controls.Editor.MainEditor Instance)
        {
            InitializeComponent();
            SetupWindow(Instance);

            SourceObjects     = _SourceObjects;
            TargetObjects     = _TargetObjects;
            TargetStageConfig = _TargetStageConfig;

            GenerateNormalList();
        }
コード例 #8
0
 public void LoadStage(StageConfig stageConfig)
 {
     Store.NextStageConfig = stageConfig;
     PlayHideAnimation();
     GetComponent <SceneLoader>().LoadNextSceneDelay((float)0.33);
 }
コード例 #9
0
 public AnalyzedStage(AnalyzedCampaign campaign, int index)
 {
     stage = (this.campaign = campaign).campaign.stages[stageIndex = index];
 }
コード例 #10
0
 protected void CheckSceneStageConfig()
 {
     if (null == m_CurrentStage)
     {
         m_CurrentStage = ConfigManager.Instance.GetStageConfig(GetSceneId());
     }
 }
コード例 #11
0
        public static bool SaveStagePosition(StageConfig stageConfig)
        {
            bool result = true;
            List <StagePositionConfig> list = new List <StagePositionConfig>();

            GameObject root = GameObject.Find("Scene/Caserns");

            if (root != null)
            {
                int count = root.transform.childCount;
                for (int i = 0; i < count; i++)
                {
                    Transform itemTransform = root.transform.GetChild(i);
                    if (itemTransform.gameObject.activeSelf)
                    {
                        UnitCtl unitCtl = itemTransform.GetComponent <UnitCtl>();
                        if (unitCtl != null && unitCtl.unitData != null && unitCtl.unitData.we_BuildConfigData != null)
                        {
                            UnitData            unitData        = unitCtl.unitData;
                            WE_BuildConfigData  buildConfigData = unitCtl.unitData.we_BuildConfigData;
                            StagePositionConfig positionConfig  = new StagePositionConfig();
                            positionConfig.stageId         = stageConfig.id;
                            positionConfig.index           = list.Count + 1;
                            positionConfig.position        = itemTransform.position;
                            positionConfig.hp              = buildConfigData.hp;
                            positionConfig.legionId        = unitData.legionId;
                            positionConfig.unitType        = unitData.unitType;
                            positionConfig.buildType       = unitData.buildType;
                            positionConfig.buildUid        = buildConfigData.buildConfig.id;
                            positionConfig.level           = unitData.level;
                            positionConfig.settledPriority = buildConfigData.settledPriority;
                            positionConfig.name            = buildConfigData.buildConfig.name;
                            positionConfig.stageName       = stageConfig.name;

                            list.Add(positionConfig);
                        }
                    }
                }
            }

            root = GameObject.Find("Scene/Walls");
            if (root != null)
            {
                int count = root.transform.childCount;
                for (int i = 0; i < count; i++)
                {
                    Transform itemTransform = root.transform.GetChild(i);
                    if (itemTransform.gameObject.activeSelf)
                    {
                        UnitCtl unitCtl = itemTransform.GetComponent <UnitCtl>();
                        if (unitCtl != null && unitCtl.unitData != null && unitCtl.unitData.we_BuildConfigData != null)
                        {
                            UnitData            unitData        = unitCtl.unitData;
                            WE_BuildConfigData  buildConfigData = unitCtl.unitData.we_BuildConfigData;
                            StagePositionConfig positionConfig  = new StagePositionConfig();
                            positionConfig.stageId   = stageConfig.id;
                            positionConfig.index     = list.Count + 1;
                            positionConfig.position  = itemTransform.position;
                            positionConfig.hp        = buildConfigData.hp;
                            positionConfig.legionId  = unitData.legionId;
                            positionConfig.unitType  = unitData.unitType;
                            positionConfig.buildType = unitData.buildType;
                            positionConfig.buildUid  = buildConfigData.buildConfig.id;
                            positionConfig.level     = 0;
                            positionConfig.name      = buildConfigData.buildConfig.name;
                            positionConfig.stageName = stageConfig.name;

                            list.Add(positionConfig);
                        }
                    }
                }
            }


            if (War.model.stagePositionConfigs.ContainsKey(stageConfig.id))
            {
                War.model.stagePositionConfigs.Remove(stageConfig.id);
            }

            War.model.stagePositionConfigs.Add(stageConfig.id, list);

            stageConfig.GenerationPositionData();

            Save_stage_position_csv();
            return(result);
        }
コード例 #12
0
ファイル: CreateUIs.cs プロジェクト: sooncat/ProjectRougeLike
    void CreateStageConfig()
    {
        StageNodeStart nodeStart1 = new StageNodeStart(1, 0, "P1", "", "Assets/Res/Icon/cards/ico_head_aoyou");

        nodeStart1.NextNodes.Add(10); nodeStart1.NextNodes.Add(11);
        StageNodeStart nodeStart2 = new StageNodeStart(2, 1, "P2", "", "Assets/Res/Icon/cards/ico_head_aoyou");

        nodeStart2.NextNodes.Add(10); nodeStart2.NextNodes.Add(11);

        StageNodeFight nodeFight1 = new StageNodeFight(10, 0, "Fight", "", "Assets/Res/Icon/cards/ico_head_anduxie");

        nodeFight1.SetData(100, 1, 1);
        nodeFight1.NextNodes.Add(20); nodeFight1.NextNodes.Add(21);
        StageNodeFight nodeFight2 = new StageNodeFight(20, 1, "Fight", "", "Assets/Res/Icon/cards/ico_head_anduxie");

        nodeFight2.SetData(100, 1, 1);
        nodeFight2.NextNodes.Add(40);

        StageNodeSafe nodeSafe = new StageNodeSafe(40, 0, "House", "", "Assets/Res/Icon/Item/ico_common_mianzhan");

        nodeSafe.NextNodes.Add(30);


        StageNodeFight nodeFightBoss = new StageNodeFight(30, 0, "FighBoss", "", "Assets/Res/Icon/cards/ico_head_baoshi");

        nodeFightBoss.SetData(200, 1, 1);

        StageNodeReward       nodeReward1 = new StageNodeReward(11, 1, "Reward", "", "Assets/Res/Icon/cards/ico_head_guidiao");
        Dictionary <int, int> cRewards    = new Dictionary <int, int>();

        cRewards.Add(10000, 10);
        cRewards.Add(10001, 20);
        nodeReward1.AddData("Job", "2", cRewards);
        nodeReward1.AddData(string.Empty, "", cRewards);

        nodeReward1.NextNodes.Add(20); nodeReward1.NextNodes.Add(21);
        StageNodeReward nodeReward2 = new StageNodeReward(21, 0, "Reward", "", "Assets/Res/Icon/cards/ico_head_guidiao");

        Dictionary <int, int> cRewards2 = new Dictionary <int, int>();

        cRewards2.Add(10000, 11);
        cRewards2.Add(10001, 21);
        nodeReward2.AddData("Job", "2", cRewards2);
        nodeReward2.AddData(string.Empty, "", cRewards2);
        nodeReward2.NextNodes.Add(40);

        StageLayer layer0 = new StageLayer(0, "Start", "");

        layer0.Nodes.Add(nodeStart1);
        layer0.Nodes.Add(nodeStart2);
        StageLayer layer1 = new StageLayer(1, "L1", "");

        layer1.Nodes.Add(nodeFight1);
        layer1.Nodes.Add(nodeReward1);
        StageLayer layer2 = new StageLayer(2, "L2", "");

        layer2.Nodes.Add(nodeFight2);
        layer2.Nodes.Add(nodeReward2);
        StageLayer layer3 = new StageLayer(3, "L3", "");

        layer3.Nodes.Add(nodeSafe);
        StageLayer layer4 = new StageLayer(4, "Boss", "");

        layer4.Nodes.Add(nodeFightBoss);

        stageConfig = new StageConfig(0, "Stage First", "");
        stageConfig.Layers.Add(layer0);
        stageConfig.Layers.Add(layer1);
        stageConfig.Layers.Add(layer2);
        stageConfig.Layers.Add(layer3);
        stageConfig.Layers.Add(layer4);

        stageConfig.ItemIds.Add(20000);

        stageConfig.Sort();
    }
コード例 #13
0
        void GUI_StageItem(int index, StageConfig stageConfig)
        {
            Texture icon = null;

            if (stageIcons.ContainsKey(stageConfig.id))
            {
                icon = stageIcons[stageConfig.id];
            }
            else
            {
                icon = LoadEditorResource <Texture2D>("StageIcon/" + stageConfig.id + ".png");
                stageIcons.Add(stageConfig.id, icon);
            }

            if (icon == null)
            {
                icon = defaultStageIcon;
            }
            GUIContent iconContent = new GUIContent(icon);



            GUILayout.Space(5);
            GUILayout.BeginHorizontal();
            GUILayout.Label(stageConfig.id + "", guiSkin.label, GUILayout.Width(50), GUILayout.Height(itemHeight));
            GUILayout.Space(10);
            GUILayout.Box(iconContent, guiSkin.box, GUILayout.Width(300), GUILayout.Height(itemHeight));
            GUILayout.Space(10);

            GUILayout.BeginVertical();
            GUILayout.Label(stageConfig.name, guiSkin.label, GUILayout.Height(30));
            GUILayout.Space(10);

            if (GUILayout.Button("运行", guiSkin.button, GUILayout.Height(30)))
            {
                WarEditor_Instance.Run(stageConfig);
            }

            if (GUILayout.Button("编辑", guiSkin.button, GUILayout.Height(30)))
            {
                WarEditor_Instance.Open(stageConfig);
                if (editorIsOpenStageConfigWindow)
                {
                    WarEditor_StageConfigWindow_Modify.Open();
                }
            }

            if (GUILayout.Button("克隆", guiSkin.button, GUILayout.Height(30)))
            {
                WarEditor_StageConfigWindow_Create.Open(stageConfig);
            }

            if (GUILayout.Button("删除", guiSkin.button, GUILayout.Height(30)))
            {
                if (EditorUtility.DisplayDialog("删除关卡", "是否真的要删除?", "删除", "取消"))
                {
                    WarEditor_File.Delete(stageConfig.id);
                }
            }
            GUILayout.EndVertical();
            GUILayout.EndHorizontal();
            GUILayout.Space(5);
            GUILayout.Box(iconContent, GUILayout.ExpandWidth(true), GUILayout.Height(1));
        }
コード例 #14
0
        protected void GUIHanlder(StageConfig stageConfig)
        {
            scrollPos = EditorGUILayout.BeginScrollView(scrollPos);

            fold_base = EditorGUILayout.Foldout(fold_base, "基本配置");
            if (fold_base)
            {
                EditorGUILayout.BeginVertical(style_box_marginleft);

                if (id == -1 || _stageConfig != stageConfig)
                {
                    sourceId     = id = stageConfig.id;
                    _stageConfig = stageConfig;
                }

                id = EditorGUILayout.IntField("编号", id);
                OnIdChange(stageConfig);



                stageConfig.name = EditorGUILayout.TextField("名称", stageConfig.name);

                GUILayout.Space(5);
                EditorGUILayout.BeginHorizontal();
                EditorGUILayout.LabelField("描述", GUILayout.Width(100));
                stageConfig.description = EditorGUILayout.TextArea(stageConfig.description, GUILayout.Height(50));
                EditorGUILayout.EndHorizontal();
                GUILayout.Space(5);

                stageConfig.type = (StageType)EditorGUILayout.IntPopup("关卡类型", (int)stageConfig.type, stageType_names, stageType_ids);

                stageConfig.level        = EditorGUILayout.IntField("等级", stageConfig.level);
                stageConfig.nextStageId  = EditorGUILayout.IntField("解锁关卡", stageConfig.nextStageId);
                stageConfig.dropId       = EditorGUILayout.IntField("掉落", stageConfig.dropId);
                stageConfig.costStrength = EditorGUILayout.IntField("消耗体力", stageConfig.costStrength);

                stageConfig.time = EditorGUILayout.IntField("限时", (int)stageConfig.time);
                EditorGUILayout.ToggleLeft("限时", stageConfig.time > 0);

                stageConfig.showHP           = EditorGUILayout.ToggleLeft("血条开关", stageConfig.showHP);
                stageConfig.sos              = EditorGUILayout.ToggleLeft("求救提示", stageConfig.sos);
                stageConfig.neutralRoleLevel = EditorGUILayout.IntField("中立主公等级", stageConfig.neutralRoleLevel);
                stageConfig.winId            = EditorGUILayout.IntPopup("胜利条件", stageConfig.winId, win_names, win_ids);

                GUILayout.Space(10);
                EditorGUILayout.LabelField("星级评价");
                EditorGUILayout.BeginVertical(style_box_marginleft);
                if (stageConfig.stars.Length < 3)
                {
                    int[] tempStarts = stageConfig.stars;
                    stageConfig.stars = new int[3];
                    for (int i = 0; i < tempStarts.Length; i++)
                    {
                        GUILayout.Space(3);
                        stageConfig.stars[i] = tempStarts[i];
                        GUILayout.Space(3);
                    }
                }

                for (int i = 0; i < 3; i++)
                {
                    stageConfig.stars[i] = EditorGUILayout.IntPopup("星级评价1", stageConfig.stars[i], star_names, star_ids);
                }

                EditorGUILayout.EndVertical();
                GUILayout.Space(10);

                EditorGUILayout.EndVertical();
            }



            fold_legionList = EditorGUILayout.Foldout(fold_legionList, "势力列表");
            if (fold_legionList)
            {
                List <StageLegionConfig> legionList = new List <StageLegionConfig>();
                foreach (var legionKVP in stageConfig.legionDict)
                {
                    legionList.Add(legionKVP.Value);
                }

                foreach (StageLegionConfig legionConfig in legionList)
                {
                    GUILayout.Space(10);

                    EditorGUILayout.BeginHorizontal();

                    GUILayout.Space(30);
                    if (GUILayout.Button("删除", style_box_center, GUILayout.Width(50), GUILayout.Height(30)))
                    {
                        stageConfig.legionDict.Remove(legionConfig.legionId);
                    }

                    EditorGUILayout.BeginVertical(style_box_legion);
                    legion_toggles[legionConfig.legionId] = GUILayout.Toggle(legion_toggles[legionConfig.legionId], string.Format("<color={2}>势力{0} [{1}--{3}]</color>", legionConfig.legionId, WarColor.Names[legionConfig.color], WarColor.GetUnitHPColor(legionConfig.color).ToStr32(), EnumUtil.GetName <LegionType>(legionConfig.type)), style_label_toggle, GUILayout.ExpandWidth(true), GUILayout.Height(30));
                    if (legion_toggles[legionConfig.legionId])
                    {
                        legionConfig.color = EditorGUILayout.IntPopup("颜色", legionConfig.color, WarColor.Names, WarColor.IDs, style_label_IntPopup_color);

                        if (legionConfig.color != legionConfig.legionId)
                        {
                            if (stageConfig.legionDict.ContainsKey(legionConfig.color))
                            {
                                EditorGUILayout.HelpBox(string.Format("该颜色以被其他势力使用, 请改回'{0}'", WarColor.Names[legionConfig.legionId]), MessageType.Error);
                            }
                            else
                            {
                                stageConfig.legionDict.Remove(legionConfig.legionId);
                                legionConfig.legionId = legionConfig.color;
                                stageConfig.legionDict.Add(legionConfig.legionId, legionConfig);
                            }
                        }

                        legionConfig.type    = (LegionType)EditorGUILayout.IntPopup("类型", (int)legionConfig.type, legionType_Names, legionType_ids);
                        legionConfig.groupId = EditorGUILayout.IntPopup("联盟", legionConfig.groupId, group_names, group_ids);
//						legionConfig.ai = EditorGUILayout.IntPopup("AI", legionConfig.ai, ai_names, ai_ids);
                        legionConfig.robotId = EditorGUILayout.IntField("机器人", legionConfig.robotId);

                        GUILayout.Space(10);
                        legionConfig.produce      = EditorGUILayout.ToggleLeft("兵营是否产兵", legionConfig.produce);
                        legionConfig.produceLimit = EditorGUILayout.ToggleLeft("兵营生产是否上限(一般只有中立勾选)", legionConfig.produceLimit);
                        GUILayout.Space(10);
                        legionConfig.aiUplevel = EditorGUILayout.ToggleLeft("是否自动升级", legionConfig.aiUplevel);
                        legionConfig.aiSendArm = EditorGUILayout.ToggleLeft("是否自动派兵", legionConfig.aiSendArm);
                        legionConfig.aiSkill   = EditorGUILayout.ToggleLeft("是否自动使用技能", legionConfig.aiSkill);
                        GUILayout.Space(10);


                        // ===========================

//						EditorGUILayout.LabelField("士兵");
//						EditorGUILayout.BeginVertical(style_box_solider);
//						if(legionConfig.soldierMonsterId > 0)
//						{
//							GUI_Solider(legionConfig.soliderMonster);
//
//							if(GUILayout.Button("清除", GUILayout.Height(30)))
//							{
//								legionConfig.soldierMonsterId = 0;
//							}
//						}
//
//						if(GUILayout.Button("选择", GUILayout.Height(30)))
//						{
//							WarEditor_SoliderLibraryWindow.Open(OnSelectSolider, legionConfig);
//						}
//						EditorGUILayout.EndVertical();

                        // ===========================


//						EditorGUILayout.LabelField("英雄");
//						EditorGUILayout.BeginVertical();
//						int heroIndex = 0;
//						for(int i = 0; i < legionConfig.heroIdList.Length; i ++)
//						{
//							int heroId = legionConfig.heroIdList[i];
//							if(heroId <= 0) continue;
//							GUI_Hero(heroId, legionConfig, heroIndex, i);
//							GUILayout.Space(10);
//							heroIndex ++;
//						}
//
//						if(GUILayout.Button("添加", GUILayout.Height(30)))
//						{
//							WarEditor_HeroLibraryWindow.Open(OnSelectAddHero, legionConfig);
//						}
//
//						EditorGUILayout.EndVertical();

                        // ===========================
                    }
                    EditorGUILayout.EndVertical();
                    EditorGUILayout.EndHorizontal();

                    GUILayout.Space(10);
                }
            }



//			fold_legionGroup = EditorGUILayout.Foldout(fold_legionGroup, "势力关系");
//			if (fold_legionGroup)
//			{
//				for(int i = 0; i < stageConfig.legionGroups.Count; i ++)
//				{
//					GUILayout.Box("联盟" + i);
//					EditorGUILayout.BeginHorizontal();
//
//					EditorGUILayout.EndHorizontal();
//
//				}
//			}



            EditorGUILayout.EndScrollView();


            //------------------------

            GUILayout.Space(20);
            EditorGUILayout.BeginHorizontal();


            if (GUILayout.Button("应用", GUILayout.Width(100), GUILayout.Height(30)))
            {
                if (stageConfig.legionDict.Count < 2)
                {
                    this.ShowNotification(new GUIContent("请创建势力,势力至少需要2个"));
                }
                else
                {
                    GenerateGroup(stageConfig);
                    WarEditor_Instance.Open(stageConfig);
                    WarEditor_StageConfigWindow_Modify.Open();
                }
            }

            if (visiable_SaveButton && GUILayout.Button("保存", GUILayout.Width(100), GUILayout.Height(30)))
            {
                GenerateGroup(stageConfig);
                WarEditor_File.SaveStageConfig(stageConfig);
            }

            if (stageConfig.legionDict.Count < WarColor.Names.Length &&
                GUILayout.Button("添加势力", GUILayout.Width(100), GUILayout.Height(30)))
            {
                int legionId = 0;
                for (int i = 0; i < WarColor.Names.Length; i++)
                {
                    if (!stageConfig.legionDict.ContainsKey(i))
                    {
                        legionId = i;
                        break;
                    }
                }

                StageLegionConfig legionConfig = CreateStageLegionConfig(legionId);
                stageConfig.legionDict.Add(legionConfig.legionId, legionConfig);
            }

            EditorGUILayout.EndHorizontal();
        }
コード例 #15
0
 virtual protected void OnIdChange(StageConfig stageConfig)
 {
 }
コード例 #16
0
ファイル: WaveController.cs プロジェクト: listopat/Whave
 public void SetConfig(StageConfig config)
 {
     currentConfig = config;
 }