Пример #1
0
    public override void Init()
    {
        base.Init();
        //pStatics = PlayerStatics.Instance;
        playerData           = PlayerDataOperator.Instance.playerData;
        lvMgr                = LevelInfoMgr.Instance;
        mBtn_Shop            = Find <Button>("Btn_Shop");
        mBtn_Achievement     = Find <Button>("Btn_Achievement");
        mBtn_Set             = Find <Button>("Btn_Set");
        mBtn_Help            = Find <Button>("Btn_Help");
        mTxt_Count           = Find <Text>("Txt_Count");
        mSetPanel            = Find <Image>("SetPanel");
        mDeletePanel         = Find <Image>("DeletePanel");
        mBtn_SoundEffects    = UITool.FindChild <Button>(mSetPanel.gameObject, "Btn_SoundEffects");
        mBtn_Music           = UITool.FindChild <Button>(mSetPanel.gameObject, "Btn_Music");
        mBtn_Home            = UITool.FindChild <Button>(mSetPanel.gameObject, "Btn_Home");
        mBtn_Delete          = UITool.FindChild <Button>(mSetPanel.gameObject, "Btn_Delete");
        mImg_EffectsOff      = UITool.FindChild <Image>(mSetPanel.gameObject, "Img_EffectsOff");
        mImg_MusicOff        = UITool.FindChild <Image>(mSetPanel.gameObject, "Img_MusicOff");
        mBtn_Sure            = UITool.FindChild <Button>(mDeletePanel.gameObject, "Btn_Sure");
        mBtn_Cancle          = UITool.FindChild <Button>(mDeletePanel.gameObject, "Btn_Cancle");
        mImg_Map             = Find <Image>("Img_Map");
        mImg_MapEventTrigger = mImg_Map.GetComponent <EventTrigger>();

        onDragEntry                = new EventTrigger.Entry();
        onDragEntry.eventID        = EventTriggerType.Drag;
        onPointerDownEntry         = new EventTrigger.Entry();
        onPointerDownEntry.eventID = EventTriggerType.PointerDown;

        lvBtnList = new List <LevelButton>();
    }
Пример #2
0
    private void Awake()
    {
        _instance = this;
        gameTrans = UnityTool.FindChild(gameObject, "Game").transform;
        lvInfoMgr = LevelInfoMgr.Instance;
        mapMaker  = GetComponent <MapMaker>();

        enemyBuilder   = new EnemyBuilder();
        towerBuilder   = new TowerBuilder();
        bullectBuilder = new BullectBuilder();
        currentLevel   = GameRoot.Instance.pickLevel;
        info           = lvInfoMgr.levelInfoList[currentLevel];
        //初始化地图
        mapMaker.InitAllGrid();
        mapMaker.LoadLevelMap(currentLevel);
        //获得关卡数据和回合数据
        SetLevelData(info);

        level = new Level(info);
        level.HandleRound();
        beginPos = level.roundInfoList[0].pathList[0];
        EventCenter.Broadcast(EventType.SetStartPos, beginPos);
        isPause = true;
        EventCenter.AddListener <int>(EventType.UseItemInGame, UseItem);
    }
Пример #3
0
    public static void ExcelToAsset()
    {
        fileName = "LevelInfo";
        LevelInfoMgr mgr = ScriptableObject.CreateInstance <LevelInfoMgr>();

        mgr.levelInfoList = ReadExcel(excelPath);
        CreateAsset(mgr);
    }
Пример #4
0
 public override void Init()
 {
     base.Init();
     lvMgr          = LevelInfoMgr.Instance;
     closeBtn       = Find <Button>("Btn_Close");
     Btn_Begin      = Find <Button>("Btn_Begin");
     smallMap       = Find <Image>("SmallMap");
     levelName      = Find <Text>("Txt_LevelName");
     levelIntroduce = Find <Text>("Txt_LevelIntroduce");
 }
Пример #5
0
    public override void Init()
    {
        base.Init();
        lvInfoMgr      = LevelInfoMgr.Instance;
        pauseBtn       = Find <Button>("Btn_Pause");
        startBtn       = Find <Button>("Btn_Start");
        Txt_TotalRound = Find <Text>("Txt_TotalRound");
        Txt_NowRound   = Find <Text>("Txt_NowRound");
        Txt_Life       = Find <Text>("Txt_Life");
        Txt_Coin       = Find <Text>("Txt_Coin");

        enemyInfoPanel = UnityTool.FindChild(rootUI, "EnemyInfo");
        towerInfoPanel = UnityTool.FindChild(rootUI, "TowerInfo");
        Txt_EnemyName  = UITool.FindChild <Text>(enemyInfoPanel, "Txt_Name");
        Txt_TowerName  = UITool.FindChild <Text>(towerInfoPanel, "Txt_Name");
        Txt_NowLife    = UITool.FindChild <Text>(enemyInfoPanel, "Txt_NowLife");
        Txt_TotalLife  = UITool.FindChild <Text>(enemyInfoPanel, "Txt_TotalLife");
        Txt_Heart      = UITool.FindChild <Text>(enemyInfoPanel, "Txt_Heart");
        Txt_Def        = UITool.FindChild <Text>(enemyInfoPanel, "Txt_Def");
        Txt_Mdef       = UITool.FindChild <Text>(enemyInfoPanel, "Txt_Mdef");
        Txt_Speed      = UITool.FindChild <Text>(enemyInfoPanel, "Txt_Speed");
        Txt_Phy        = UITool.FindChild <Text>(towerInfoPanel, "Txt_Phy");
        Txt_Magic      = UITool.FindChild <Text>(towerInfoPanel, "Txt_Magic");
        Txt_CD         = UITool.FindChild <Text>(towerInfoPanel, "Txt_CD");
        Txt_Range      = UITool.FindChild <Text>(towerInfoPanel, "Txt_Range");

        Btn_Bag     = Find <Button>("Btn_Bag");
        Bag_BG      = Find <Transform>("Bag_BG").gameObject;
        ItemContent = UITool.FindChild <Transform>(Bag_BG, "ItemContent");

        Bag_BG.SetActive(false);
        enemyInfoPanel.SetActive(false);
        towerInfoPanel.SetActive(false);
        EventCenter.AddListener <int>(EventType.Play_CoinUpdate, SetCoinNum);
        EventCenter.AddListener <int>(EventType.Play_LifeUpdate, SetLifeNum);
        EventCenter.AddListener <int>(EventType.Play_NowRoundUpdate, SetNowRound);
        EventCenter.AddListener(EventType.RestartGame, RestartGame);
        EventCenter.AddListener <GridPoint>(EventType.HandleGrid, HandleGrid);
        EventCenter.AddListener <BaseEnemy>(EventType.HandleEnemy, HandleEnemy);
        EventCenter.AddListener <Vector3>(EventType.SetStartPos, SetStartBtnPos);
        EventCenter.AddListener(EventType.LeaveGameScene, RestartGame);
        pauseBtn.onClick.AddListener(OnPauseClick);
        startBtn.onClick.AddListener(OnStartClick);
        startBtn.gameObject.SetActive(false);

        Btn_Bag.onClick.AddListener(OnBtnBGClick);

        itemBtnList = new List <ItemHoldBtn>();
        SetItemHoldBtn();
    }
Пример #6
0
    public override void OnInspectorGUI()
    {
        base.OnInspectorGUI();
        if (Application.isPlaying)
        {
            EditorGUILayout.BeginHorizontal();
            if (GUILayout.Button("读取"))
            {
                Init();
                int count = lvInfoMgr.levelInfoList.Count;
                for (int i = 0; i < count; i++)
                {
                    Vector3 pos = lvInfoMgr.levelInfoList[i].levelPos;
                    if (pos == Vector3.zero)
                    {
                        continue;
                    }
                    else
                    {
                        GameObject go = GameObject.Instantiate(maker.levelGO, maker.parent);
                        go.transform.localPosition = pos;
                    }
                }
            }
            if (GUILayout.Button("搜集"))
            {
                maker.posList = null;
                posList.Clear();

                int num = maker.parent.childCount;
                for (int i = 0; i < num; i++)
                {
                    posList.Add(maker.parent.GetChild(i).localPosition);
                }
                maker.posList = posList;
            }

            if (GUILayout.Button("重置"))
            {
                Init();
            }

            if (GUILayout.Button("保存"))
            {
                if (posList.Count != lvInfoMgr.levelInfoList.Count)
                {
                    Debug.LogError("数目不对 toolcount " + posList.Count + ", dataCount " + lvInfoMgr.levelInfoList.Count);
                }
                else
                {
                    for (int i = 0; i < posList.Count; i++)
                    {
                        if (lvInfoMgr.levelInfoList[i].levelPos != posList[i])
                        {
                            lvInfoMgr.levelInfoList[i].levelPos = posList[i];
                        }
                    }
                    LevelInfoMgr mgr = ScriptableObject.CreateInstance <LevelInfoMgr>();
                    mgr.levelInfoList = new List <LevelInfo>();
                    for (int i = 0; i < posList.Count; i++)
                    {
                        mgr.levelInfoList.Add(lvInfoMgr.levelInfoList[i]);
                    }
                    UnityEditor.AssetDatabase.CreateAsset(mgr, "Assets/Resources/AssetData/LevelInfo.asset");
                    UnityEditor.AssetDatabase.SaveAssets();
                    UnityEditor.AssetDatabase.Refresh();

                    Debug.Log("保存成功");
                }
            }

            EditorGUILayout.EndHorizontal();
        }
    }
Пример #7
0
 private void Awake()
 {
     maker     = LevelButonMaker.Instance;
     posList   = new List <Vector3>();
     lvInfoMgr = LevelInfoMgr.Instance;
 }