Exemplo n.º 1
0
    protected override void OnStart()
    {
        mo           = SceneMoba1.instance;
        myTower      = thisCs.groupIndex == 1 ? mo.TowerBlue : mo.TowerRed;
        myCamp       = thisCs.groupIndex == 1 ? mo.CampBlue : mo.CampRed;
        enemyTower   = thisCs.groupIndex == 1 ? mo.TowerRed : mo.TowerBlue;
        enemyCamp    = thisCs.groupIndex == 1 ? mo.CampRed : mo.CampBlue;
        myHome       = thisCs.groupIndex == 1 ? mo.HomeBlue : mo.HomeRed;
        myHomeRadius = myHome.GetComponent <SphereCollider>().radius;
        aiSkillHandler.SetSkills(thisCs.GetSkills());

        initDefendHp = defendHpRate;
        if (myTower != null)
        {
            mal = myTower.GetComponentInChildren <MobaAddLife>();
        }
    }
Exemplo n.º 2
0
    public override void InitScene()
    {
        instance = this;

        isDungeons         = Globe.isFB; //不是副本
        GameLibrary.isMoba = true;       //moba
        if (!isDungeons)
        {
            sceneType = SceneType.MB1;//moba类型场景
        }
        InitHeroDatas();

        HeroReborn(HeroDataBlue);
        HeroReborn(HeroDataRed);
        if (HeroRed != null)
        {
            HeroRed.GetComponent <BasePlayerAI>().enabled = false;
        }

        InitHpAndAttackRatio();

        if (!isDungeons)
        {
            InitTower(TowerBlue, (uint)212000101, 1, Modestatus.Tower);
            InitTower(TowerRed, (uint)212000102, 0, Modestatus.Tower);
            InitTower(CampBlue, (uint)211000101, 1, Modestatus.Tower);
            InitTower(CampRed, (uint)211000102, 0, Modestatus.Tower);
        }
        else
        {
            InitTower(TowerBlue, Modestatus.Tower, dungeonTower[0].groupIndex == 1 ? dungeonTower[0] : dungeonTower[1]);
            InitTower(TowerRed, Modestatus.Tower, dungeonTower[0].groupIndex == 0 ? dungeonTower[0] : dungeonTower[1]);
            InitTower(CampBlue, Modestatus.Tower, dungeonCamp[0].groupIndex == 1 ? dungeonCamp[0] : dungeonCamp[1]);
            InitTower(CampRed, Modestatus.Tower, dungeonCamp[0].groupIndex == 0 ? dungeonCamp[0] : dungeonCamp[1]);
        }

        CampRed.OnDead     += (CharacterState cs) => ShowResult(true);
        CampBlue.OnDead    += (CharacterState cs) => ShowResult(false);
        CampRed.Invincible  = true;
        CampBlue.Invincible = true;
        TowerBlue.OnDead   += (CharacterState cs) => CampBlue.Invincible = false;
        TowerRed.OnDead    += (CharacterState cs) => CampRed.Invincible = false;

        SpawnMonsters = GetComponentsInChildren <SpawnMonster>();
        for (int i = 0; i < SpawnMonsters.Length; i++)
        {
            SpawnMonsters[i].OnCreatMonster += OnMonsterCreated;
        }
        RefreshInfo();


        CDTimer.GetInstance().AddCD(5, (int count, long id) =>
        {
            if (HeroRed != null)
            {
                HeroRed.GetComponent <BasePlayerAI>().enabled = true;
            }
            Block.SetActive(false);

            if (FightTouch._instance.overBtn != null)
            {
                FightTouch._instance.overBtn.onClick = () => ShowResult(true);
            }
        });

        CDTimer.GetInstance().AddCD(20, (int count, long id) => rebornTime++, 30);

        //if (!isDungeons)
        //{
        //    //CDTimer.CD timeOverCD = CDTimer.GetInstance().AddCD(BATTLE_DURATION, (int count, long id) =>
        //    //{
        //    //    ShowResult(ScoreRed < ScoreBlue);
        //    //    Debug.Log("Result " + count);
        //    //});
        //    //BattleCDandScore.instance.StartCD(BATTLE_DURATION);
        //}
        //else
        //{
        //    BattleCDandScore.instance.gameObject.SetActive(false);
        //}

        TowerRed.priority = MobaAIPlayerPriority.TowerLow;
        CampRed.priority  = MobaAIPlayerPriority.CampLow;

        spwanList.AddRange(GetComponentsInChildren <SpawnMonster>());

        if (FightTouch._instance != null)
        {
            FightTouch._instance.TpPosition = HomeBlue.transform.position;
            FightTouch._instance.tpEffect1  = Resource.CreatPrefabs("HuiCheng_01", gameObject, Vector3.one, "Effect/Prefabs/Item/");
            FightTouch._instance.tpEffect2  = Resource.CreatPrefabs("HuiCheng_02", gameObject, Vector3.one, "Effect/Prefabs/Item/");
        }
        base.InitScene();
    }