예제 #1
0
    /// <summary>
    /// Use this for initialization
    /// </summary>
    void Start()
    {
        // start move timer
        moveTimer = gameObject.AddComponent <Timer>();
        moveTimer.AddTimerFinishedListener(HandleMoveTimerFinishedEvent);
        moveTimer.Duration = 1;
        moveTimer.Run();

        // start death timer
        deathTimer          = gameObject.AddComponent <Timer>();
        deathTimer.Duration = ConfigurationUtils.BallLifeSeconds;
        deathTimer.AddTimerFinishedListener(HandleDeathTimerFinishedEvent);
        deathTimer.Run();

        // speedup effect support
        speedupTimer = gameObject.AddComponent <Timer>();
        EventManager.AddSpeedupEffectListener(HandleSpeedupEffectActivatedEvent);
        speedupTimer.AddTimerFinishedListener(HandleSpeedUpTimerFinishedEvent);
        rb2d = GetComponent <Rigidbody2D>();

        ballsLeftEvent = new BallsLeftEvent();
        EventManager.AddBallsLeftEffectInvoker(this);

        deathballevent = new DeathBallEvent();
        EventManager.AddDeathBallEventInvoker(this);
    }
예제 #2
0
    // Start is called before the first frame update
    void Start()
    {
        reducedBallsEvent = new ReducedBallsEvent();
        EventManager.AddReducedBallsInvoker(this);

        deathBallEvent = new DeathBallEvent();
        EventManager.AddDeathBallInvoker(this);

        deathTimer          = this.gameObject.AddComponent <Timer>();
        deathTimer.Duration = ConfigurationUtils.BallLifeTime;
        deathTimer.AddTimerFinishedListener(HandleDeathTimerFinishedEvent);
        moveTimer          = this.gameObject.AddComponent <Timer>();
        moveTimer.Duration = 1;
        moveTimer.AddTimerFinishedListener(HandleMoveTimerFinishedEvent);
        moveTimer.Run();
        speedUpTimer = this.gameObject.AddComponent <Timer>();
        EventManager.AddSpeedUpEffectListener(SpeedUpEffectActivatedHandler);
        // Vector2 dir = new Vector2(Mathf.Cos(20*Mathf.Deg2Rad), Mathf.Sin(20*Mathf.Deg2Rad));
    }