// Update is called once per frame
 void Update()
 {
     if (Input.GetKeyDown(KeyCode.Space))
     {
         LaserTurret.Fire();
     }
 }
        void Start()
        {
            isVisible = true;

            laserTurret = GetComponent <LaserTurret>();

            LaserTurretPosiiton = transform;
            while (LaserTurretPosiiton.name != "Tip")
            {
                LaserTurretPosiiton = LaserTurretPosiiton.GetChild(0);
            }

            //light = LightSetup();
            LightbulbObject = new GameObject();

            LightbulbObject.transform.parent = transform;

            LightbulbObject.transform.position      = LaserTurretPosiiton.position;
            LightbulbObject.transform.localRotation = Quaternion.identity;
            LightbulbObject.transform.localScale    = Vector3.one;
            ps = ParticleSystemSetup();

            grayscaleObject = new GameObject();

            grayscaleObject.transform.parent = transform;

            grayscaleObject.transform.position      = LaserTurretPosiiton.position;
            grayscaleObject.transform.localRotation = Quaternion.identity;
            grayscaleObject.transform.localScale    = Vector3.one;

            grayscalePs = GrayScaleSystemSetup();
        }
Exemple #3
0
    public static void AddNewLaserTurret(LaserTurret lt)
    {
        if (!instance)
        {
            return;
        }

        instance.turrets.Add(lt);
    }
Exemple #4
0
 private void Start()
 {
     SlowingRate = 0.5f;
     ReloadTime  = 0;
     target      = null;
     turret      = new LaserTurret();
     laserbullet = new LaserBullet(turret.attack);
     InvokeRepeating("UpdateTarget", 0f, 0.5f);
 }
Exemple #5
0
        private void addTurret()
        {
            Turret t = new GunTurret(new Vector2(10, 0), world, game.ragdollManager);

            game.hazardManager.addHazard(t);

            Turret t2 = new LaserTurret(new Vector2(-10, 0), world, game.ragdollManager);

            game.hazardManager.addHazard(t2);
        }
Exemple #6
0
            public Menu()
                : base(128, 240)
            {
                // 设定menu层级高于MapLayer
                SetLayer(101);
                // 不锁定menu移动
                SetLocked(false);
                SetLimitMove(false);
                // 锁定Actor拖拽
                SetActorDrag(false);
                SetDelay(500);
                // 设定Menu背景
                LImage image = LImage.CreateImage(this.GetWidth(),
                                                  this.GetHeight(), true);
                LGraphics g = image.GetLGraphics();

                g.SetColor(0, 0, 0, 125);
                g.FillRect(0, 0, GetWidth(), GetHeight());
                g.SetColor(LColor.white);
                g.SetFont(15);
                g.DrawString("我是可拖拽菜单", 12, 25);
                g.Dispose();
                SetBackground(image.GetTexture());

                BulletTurret bulletTurret = new BulletTurret();

                bulletTurret.SetLocation(18, 64);


                BombTurret bombTurret = new BombTurret();

                bombTurret.SetLocation(78, 64);


                PoisonTurret poisonTurret = new PoisonTurret();

                poisonTurret.SetLocation(18, 134);


                LaserTurret laserTurret = new LaserTurret();

                laserTurret.SetLocation(78, 134);

                Button button = new Button();

                button.SetLocation(27, 196);

                // 复合LPaper到Layer
                Add(bulletTurret);
                Add(bombTurret);
                Add(poisonTurret);
                Add(laserTurret);
                Add(button);
            }
Exemple #7
0
 void SpawnLaser2()
 {
     if (laser2 == null)
     {
         Vector3    laserTurretLocation = new Vector3(GameController.instance.bounds.xMax, 0, 0);
         GameObject laserTurret         = GameObject.Instantiate(laserTurretPrefab, laserTurretLocation, Quaternion.identity);
         laser2 = laserTurret.GetComponent <LaserTurret>();
     }
     laser2.target = GameController.instance.player;
     laser2.LaserOff();
 }
 public void Initialize(float slowFactor_, float maxSize_, float duration_, LaserTurret owner_)
 {
     duration   = duration_;
     maxSize    = maxSize_;
     slowFactor = slowFactor_;
     owner      = owner_;
     child      = transform.GetChild(0);
     sCollider  = GetComponent <SphereCollider>();
     aura       = GetComponentInChildren <ParticleSystem>().shape;
     StartCoroutine(Animate());
 }
    public void DisableSuperSkill()
    {
        isUsingSuperFlight = false;
        isUsingSuperSpeed  = false;
        isUsingSuperTime   = false;

        // Remove the superskill trail
        TrailRenderer trailRenderer = gameObject.GetComponentInChildren <TrailRenderer>();

        trailRenderer.enabled = false;

        // Reset gravity to its orignal value
        gameObject.GetComponent <Rigidbody2D>().gravityScale = oriGravityScale;
        PteraMover.DeactivateTimeFreeze();
        CaveFlamePit.DeactivateTimeFreeze();
        Fireball.DeactivateTimeFreeze();
        DestroyByTime.DeactivateTimeFreeze();
        LaserBeam.DeactivateTimeFreeze();
        Saw.DeactivateTimeFreeze();
        LaserTurret.DeactivateTimeFreeze();
        Bat.DeactivateTimeFreeze();
        SwingingBoulder[] sb = FindObjectsOfType <SwingingBoulder>();
        sb[0].DeactivateTimeFreeze();
        sb[1].DeactivateTimeFreeze();
        sb[2].DeactivateTimeFreeze();
        sb[3].DeactivateTimeFreeze();
        sb[4].DeactivateTimeFreeze();
        sb[5].DeactivateTimeFreeze();
        sb[6].DeactivateTimeFreeze();
        RockController.DeactivateTimeFreeze();
        Turret.DeactivateTimeFreeze();
        PlayerController[] players = FindObjectsOfType <PlayerController>();
        foreach (PlayerController p in players)
        {
            p.timeFreezeActivated = false;
            p.GetComponent <Rigidbody2D>().isKinematic = false;
            p.anim.enabled = true;
        }
        GameObject[] FXs = GameObject.FindGameObjectsWithTag("FX");
        foreach (GameObject fx in FXs)
        {
            fx.GetComponent <ParticleSystem>().Play();
        }
        Arrow.DeactivateTimeFreeze();
        Puma.DeactivateTimeFreeze();
        Piranha.DeactivateTimeFreeze();
        Cobra.DeactivateTimeFreeze();
        Saw.DeactivateTimeFreeze();
        Banana.DeactivateTimeFreeze();
        BananaSpawn[] bs = FindObjectsOfType <BananaSpawn>();
        bs[0].DeactivateTimeFreeze();
        bs[1].DeactivateTimeFreeze();
        bs[2].DeactivateTimeFreeze();
    }
    public void SuperTime()
    {
        // Next iteration
        PteraMover.ActivateTimeFreeze();
        CaveFlamePit.ActivateTimeFreeze();
        Fireball.ActivateTimeFreeze();
        DestroyByTime.ActivateTimeFreeze();
        LaserBeam.ActivateTimeFreeze();
        Saw.ActivateTimeFreeze();
        LaserTurret.ActivateTimeFreeze();
        SwingingBoulder[] sb = FindObjectsOfType <SwingingBoulder>();
        sb[0].ActivateTimeFreeze();
        sb[1].ActivateTimeFreeze();
        sb[2].ActivateTimeFreeze();
        sb[3].ActivateTimeFreeze();
        sb[4].ActivateTimeFreeze();
        sb[5].ActivateTimeFreeze();
        sb[6].ActivateTimeFreeze();
        RockController.ActivateTimeFreeze();
        Turret.ActivateTimeFreeze();
        PlayerController[] players = FindObjectsOfType <PlayerController>();
        foreach (PlayerController p in players)
        {
            if (p.playerNumber != playerNumber)
            {
                p.timeFreezeActivated = true;
                p.GetComponent <Rigidbody2D>().isKinematic = true;
                p.anim.enabled = false;
            }
        }
        GameObject[] FXs = GameObject.FindGameObjectsWithTag("FX");
        foreach (GameObject fx in FXs)
        {
            fx.GetComponent <ParticleSystem>().Pause();
        }
        Arrow.ActivateTimeFreeze();
        Puma.ActivateTimeFreeze();
        Piranha.ActivateTimeFreeze();
        Cobra.ActivateTimeFreeze();
        Saw.ActivateTimeFreeze();
        Banana.ActivateTimeFreeze();
        BananaSpawn[] bs = FindObjectsOfType <BananaSpawn>();
        Bat.ActivateTimeFreeze();
        bs[0].ActivateTimeFreeze();
        bs[1].ActivateTimeFreeze();
        bs[2].ActivateTimeFreeze();

        // Add a trail to show the use of a super skill
        TrailRenderer trailRenderer = gameObject.GetComponentInChildren <TrailRenderer>();

        trailRenderer.enabled = true;
    }
Exemple #11
0
 public GameClass()
 {
     MainBase           = new BaseBuilding(100);
     standardTurretTemp = new StandardTurret();
     missleLuncherTemp  = new MissleTurret();
     LaserTurretTemp    = new LaserTurret();
     kills       = 0;
     score       = 0;
     coins       = 500;
     wavesPassed = 0;
     startlives  = 50;
     Lives       = startlives;
 }
Exemple #12
0
    public static void RemoveTurret(LaserTurret lt)
    {
        if (!instance)
        {
            return;
        }

        if (instance.turrets.Count > 0)
        {
            instance.turrets.Remove(lt);
        }

        if (instance.turrets.Count < 1)
        {
            instance.gameObject.SetActive(false);
        }
    }
Exemple #13
0
 private void OnDestroy()
 {
     for (int i = 0; i < effect.transform.childCount; i++)
     {
         effect.transform.GetChild(i).GetComponent <ParticleSystem>().Stop();
     }
     Destroy(effect, 1);
     if (turret.GetComponent <LaserTurret>() != null)
     {
         LaserTurret turret = this.turret.GetComponent <LaserTurret>();
         turret.damage -= dataChange;
     }
     else if (turret.GetComponent <LunchTurret>() != null)
     {
         LunchTurret turret = this.turret.GetComponent <LunchTurret>();
         turret.attackRate += dataChange;
     }
 }
Exemple #14
0
    private IEnumerator destroyBullet()
    {
        /*
         * plays a sound and particle effect on hitting something,
         * as well as destroys the bullet
         */

        rb2d.velocity = Vector2.zero;

        GetComponent <SpriteRenderer>().sprite       = null;
        GetComponent <CapsuleCollider2D>().isTrigger = true;

        SoundController.Instance.playSound("laserBulletHit");

        explodeParticles.SetActive(true);
        explodeParticles.GetComponent <ParticleSystem>().Play(true);

        yield return(new WaitForSeconds(.5f));

        // remove the bullet
        LaserTurret.destroyBullet(gameObject);
    }
Exemple #15
0
        public override void HandleInput()
        {
            InputHelper input = game.inputManager.inputHelper;

            if (input.IsNewButtonPress(MouseButtons.LeftButton))
            {
                Vector2 position = ProjectionHelper.PixelToFarseer(input.MousePosition);

                List <Fixture> list = game.farseerManager.world.TestPointAll(position);

                LaserTurret t;

                if (list.Count == 0)
                {
                    t = new LaserTurret(position, game.farseerManager.world, game.ragdollManager);
                }
                else
                {
                    t = new LaserTurret(position, game.farseerManager.world, game.ragdollManager, list[0]);
                }

                game.hazardManager.addHazard(t);
            }
        }
Exemple #16
0
            public Menu()
                : base(128, 240)
            {


                // 设定menu层级高于MapLayer
                SetLayer(101);
                // 不锁定menu移动
                SetLocked(false);
                SetLimitMove(false);
                // 锁定Actor拖拽
                SetActorDrag(false);
                SetDelay(500);
                // 设定Menu背景
                LImage image = LImage.CreateImage(this.GetWidth(),
                        this.GetHeight(), true);
                LGraphics g = image.GetLGraphics();
                g.SetColor(0, 0, 0, 125);
                g.FillRect(0, 0, GetWidth(), GetHeight());
                g.SetColor(LColor.white);
                g.SetFont(15);
                g.DrawString("我是可拖拽菜单", 12, 25);
                g.Dispose();
                SetBackground(image.GetTexture());

                BulletTurret bulletTurret = new BulletTurret();
                bulletTurret.SetLocation(18, 64);


                BombTurret bombTurret = new BombTurret();
                bombTurret.SetLocation(78, 64);


                PoisonTurret poisonTurret = new PoisonTurret();
                poisonTurret.SetLocation(18, 134);


                LaserTurret laserTurret = new LaserTurret();
                laserTurret.SetLocation(78, 134);

                Button button = new Button();
                button.SetLocation(27, 196);

                // 复合LPaper到Layer
                Add(bulletTurret);
                Add(bombTurret);
                Add(poisonTurret);
                Add(laserTurret);
                Add(button);
            }
Exemple #17
0
 // Use this for initialization
 void Start()
 {
     laser = gameObject.AddComponent <LaserTurret>();
     laser.Init(this, cannonSound);
 }
    protected override void InitUpStats()
    {
        LaserTurret lt = (LaserTurret)turretUp;

        damageUp = lt.damage;
    }
 public static void MakeLaserSpecial(LaserTurret lt)
 {
     instance.laserBtn.SetActive(true);
     LaserSpecial.AddNewLaserTurret(lt);
 }
Exemple #20
0
 void Start()
 {
     turret = GetComponentInParent <LaserTurret>();
 }