コード例 #1
0
ファイル: BattleField.cs プロジェクト: moto2002/DefenseGame
    public override void InitializeBattleSystem()
    {
        base.InitializeBattleSystem();

        //配置加载 如果有大厅之后最好放在大厅登陆成功
        ConfigService.Instance.Initialize();

        GameData.gameInfo.currentLevels = 100011;
        GameData.gameInfo.towersInfo.Add(2001);


        XEventBus.Instance.Register(EventId.GameResult, GameResult);
        XEventBus.Instance.Register(EventId.BattleHurt, NormalHurt);
        XEventBus.Instance.Register(EventId.BattleSkillHurt, SkillHurt);
        XEventBus.Instance.Register(EventId.BattleSkillEnd, BattleSkillEnd);
        XEventBus.Instance.Register(EventId.SpawningEnemies, SpawningEnemies);

        battleSystem = new BattleSystem(this);

        enemyFaction = new Faction();
        enemyFaction.Initialize(1, this);

        waveManager = GetComponent <WaveManager>();
        waveManager.spawningCompleted += OnSpawningCompleted;

        intro = GetComponent <LevelIntro>();
        if (intro != null)
        {
            intro.introCompleted += IntroCompleted;
        }
        else
        {
            IntroCompleted();
        }
    }
コード例 #2
0
ファイル: Level2Logic.cs プロジェクト: Hyperlazydude/Game-3
    protected override IEnumerator Start()
    {
        yield return(base.Start());

        PlayerManager playerManager = PlayerManager.Instance;
        LevelIntro    intro         = this.intros.First();

        this.StartCoroutine(intro.PlayIntro(
                                new Dictionary <string, Transform>
        {
            { "player-1", playerManager.GetPlayer(1).transform },
            { "player-2", playerManager.GetPlayer(2).transform },
            { "deadlift", this.deadliftPosition }
        },
                                new Dictionary <string, string>
        {
            { "player-1", playerManager.GetPlayerName(1) },
            { "player-2", playerManager.GetPlayerName(2) },
        }
                                ));
        yield return(new WaitForSeconds(intro.Time));

        CameraMovement.Instance.TrackPlayers(0.5f);
        yield return(new WaitForSeconds(0.5f));

        Goal.Instance.Show();
        yield return(new WaitForSeconds(1.5f));

        Goal.Instance.Hide();
        Countdown.Instance.StartCountdown(this.StartLevel);
    }
コード例 #3
0
 void Start()
 {
     rb2d         = GetComponent <Rigidbody2D>();
     WinText.text = "";
     WinButton.gameObject.SetActive(false);
     Gup    = FindObjectOfType <GravityUpController> ();
     lvlint = FindObjectOfType <LevelIntro> ();
 }
コード例 #4
0
 private void Awake()
 {
     if (!lIntro)
     {
         lIntro = this;
     }
     else
     {
         Destroy(gameObject);
     }
 }
コード例 #5
0
 void Awake()
 {
     RegisterStates();
     levelIntro = GetComponent <LevelIntro>();
     if (levelIntro == null)
     {
         levelIntro = gameObject.AddComponent <LevelIntro>();
     }
     if (floorPhysicMat == null)
     {
         floorPhysicMat = (PhysicMaterial)Resources.Load("PassablePMat");
     }
 }
コード例 #6
0
    private IEnumerator OnTriggerEnter2D(Collider2D collision)
    {
        Player winner = collision.gameObject.GetComponent <Player>();

        if (!this.triggered && winner != null)
        {
            this.triggered = false;

            PlayerManager playerManager = PlayerManager.Instance;
            PointSystem   player        = PointSystem.Instance;
            int           loser         = winner.playerNumber == 1 ? 2 : 1;
            Finish        finish        = Finish.Instance;
            HUD.Hide();
            finish.ShowFinish(PlayerManager.Instance.GetPlayerName(winner.playerNumber) + " won!");

            Player player1 = playerManager.GetPlayer(1);
            Player player2 = playerManager.GetPlayer(2);
            player1.movementEnabled = player1.abilityEnabled = false;
            player2.movementEnabled = player2.abilityEnabled = false;
            yield return(new WaitForSeconds(2f));

            finish.HideFinish();

            LevelIntro intro = this.intros[1];
            this.StartCoroutine(intro.PlayIntro(
                                    new Dictionary <string, Transform>
            {
                { "player-winner", playerManager.GetPlayer(winner.playerNumber).transform },
                { "player-loser", playerManager.GetPlayer(loser).transform },
                { "heart", this.transform }
            },
                                    new Dictionary <string, string>
            {
                { "player-winner", playerManager.GetPlayerName(winner.playerNumber) },
                { "player-loser", playerManager.GetPlayerName(loser) },
                { "heart", "Heart" }
            }
                                    ));

            yield return(new WaitForSeconds(intro.Time));

            CameraMovement.Instance.TrackPlayers(1.5f);
            yield return(new WaitForSeconds(2f));

            SwitchScene switchScene = SwitchScene.Instance;

            switchScene.ShuffleLevel();
            SceneManager.LoadSceneAsync(switchScene.GetLevel());
        }
    }
コード例 #7
0
    protected override IEnumerator Start()
    {
        yield return(base.Start());

        PlayerManager playerManager = PlayerManager.Instance;
        PointSystem   player        = PointSystem.Instance;
        int           leader        = player.CurrentLeader();
        int           second        = player.Second();


        LevelIntro intro = this.intros.First();

        this.StartCoroutine(intro.PlayIntro(
                                new Dictionary <string, Transform>
        {
            { "player-1", playerManager.GetPlayer(leader).transform },
            { "player-2", playerManager.GetPlayer(second).transform },
            { "heart", this.transform }
        },
                                new Dictionary <string, string>
        {
            { "player-1", playerManager.GetPlayerName(leader) },
            { "player-2", playerManager.GetPlayerName(second) },
            { "heart", "Heart" }
        }
                                ));
        yield return(new WaitForSeconds(intro.Time));

        CameraMovement.Instance.TrackPlayers(0.5f);
        yield return(new WaitForSeconds(0.5f));

        Goal.Instance.Show();
        yield return(new WaitForSeconds(1.5f));

        Goal.Instance.Hide();

        Finish finish = Finish.Instance;

        finish.ShowFinish("Tutorial Level!!!");
        yield return(new WaitForSeconds(2f));

        finish.HideFinish();

        Countdown.Instance.StartCountdown(this.StartLevel);
    }
コード例 #8
0
ファイル: WinLogic.cs プロジェクト: Hyperlazydude/Game-3
    protected override IEnumerator Start()
    {
        yield return(base.Start());

        PlayerManager playerManager = PlayerManager.Instance;
        PointSystem   player        = PointSystem.Instance;
        int           leader        = player.CurrentLeader();
        int           second        = player.Second();


        LevelIntro intro = this.intros.First();

        this.StartCoroutine(intro.PlayIntro(
                                new Dictionary <string, Transform>
        {
            { "player-winner", playerManager.GetPlayer(leader).transform },
            { "player-loser", playerManager.GetPlayer(second).transform },
            { "heart", this.transform }
        },
                                new Dictionary <string, string>
        {
            { "player-winner", playerManager.GetPlayerName(leader) },
            { "player-loser", playerManager.GetPlayerName(second) },
            { "heart", "Heart" }
        }
                                ));
        yield return(new WaitForSeconds(intro.Time));

        CameraMovement.Instance.TrackPlayers(1.5f);
        yield return(new WaitForSeconds(1.5f));

        Finish finish = Finish.Instance;

        finish.ShowFinish(PlayerManager.Instance.GetPlayerName(leader) + " won!");
        yield return(new WaitForSeconds(2.5f));

        finish.HideFinish();

        canvas.SetActive(true);
    }
コード例 #9
0
    public void DisplayIntro(LevelIntro intro, Action onClick)
    {
        whole.gameObject.SetActive(true);

        if (intro.image == null)
        {
            placeForImage.enabled = false;
        }
        else
        {
            placeForImage.enabled = true;
            placeForImage.sprite  = intro.image;
        }

        onButton.onClick.RemoveAllListeners();
        onButton.onClick.AddListener(() => onClick?.Invoke());
        onButton.onClick.AddListener(() => HideIntro());

        buttonText.text  = intro.okButtonText;
        titleText.text   = intro.title;
        contentText.text = intro.content;
        songText.text    = intro.songTitle;
    }
コード例 #10
0
 // Use this for initialization
 void Start()
 {
     lvlintr         = FindObjectOfType <LevelIntro> ();
     lvlintr.CanMove = true;
 }