Inheritance: System.Web.UI.Page
コード例 #1
0
        public void Update(Lazer c)
        {
            try
            {
                OpenConnection();
                Cmd = new SqlCommand("UPDATE tb_lazer SET  tipo_lazer=@v1, local=@v2, observacao=@v3, cadastrado_por=@v4 where id=@v5", Con);

                //Atribuindo valores as variaveis do insert
                Cmd.Parameters.AddWithValue("@V1", c.Tipo_Lazer);
                Cmd.Parameters.AddWithValue("@V2", c.Local);
                Cmd.Parameters.AddWithValue("@v3", c.Observacao);
                Cmd.Parameters.AddWithValue("@V4", c.Cadastrado_por);
                Cmd.Parameters.AddWithValue("@V5", c.Id);

                Cmd.ExecuteNonQuery();
            }
            catch (Exception ex)
            {
                throw new Exception("Erro ao atualizar o registro!" + ex.Message);
            }
            finally
            {
                CloseConnection();
            }
        }
コード例 #2
0
        public Lazer FindForCode(int Id)
        {
            try
            {
                Cmd = new SqlCommand("SELECT * FROM tb_lazer where id=@v1");
                Cmd.Parameters.AddWithValue("@v1", Id);
                Dr = Cmd.ExecuteReader();
                Lazer c = null; //Criando um espaço na memória

                if (Dr.Read())
                {
                    c                = new Lazer();
                    c.Id             = Convert.ToInt32(Dr["Id"]);
                    c.Tipo_Lazer     = Convert.ToString(Dr["tipo_lazer"]);
                    c.Local          = Convert.ToString(Dr["local"]);
                    c.Observacao     = Convert.ToString(Dr["observacao"]);
                    c.Data_cadastro  = Convert.ToDateTime(Dr["data_cadastro"]);
                    c.Cadastrado_por = Convert.ToInt32(Dr["cadastrado_por"]);
                }
                return(c);
            }
            catch (Exception ex)
            {
                throw new Exception("Não foi possível encontrar o cliente" + ex.Message);
            }
            finally
            {
                CloseConnection();
            }
        }
コード例 #3
0
        public void Record(Lazer c)
        {
            try
            {
                //Chama o método que abre a conexão
                OpenConnection();

                //Passa para o objeto Cmd, o insert recebendo valores de variaveis
                Cmd = new SqlCommand("INSERT INTO tb_lazer (tipo_lazer, local, observacao, cadastrado_por) " +
                                     "values (@v1, @v2, @v3, @v4)", Con);

                //Atribuindo valores as variaveis do insert
                Cmd.Parameters.AddWithValue("@V1", c.Tipo_Lazer);
                Cmd.Parameters.AddWithValue("@V2", c.Local);
                Cmd.Parameters.AddWithValue("@v3", c.Observacao);
                Cmd.Parameters.AddWithValue("@V4", c.Cadastrado_por);

                //Executando o método
                Cmd.ExecuteNonQuery();
            }
            catch (Exception ex)
            {
                throw new Exception("Erro ao gravar registro!:" + ex.Message);
            }
            finally
            {
                CloseConnection();
            }
        }
コード例 #4
0
        public List <Lazer> Listar()
        {
            try
            {
                OpenConnection();
                Cmd = new SqlCommand("SELECT * FROM tb_lazer", Con);
                Dr  = Cmd.ExecuteReader();

                List <Lazer> lista = new List <Lazer>();

                while (Dr.Read())
                {
                    Lazer c = new Lazer();
                    c                = new Lazer();
                    c.Id             = Convert.ToInt32(Dr["Id"]);
                    c.Tipo_Lazer     = Convert.ToString(Dr["tipo_lazer"]);
                    c.Local          = Convert.ToString(Dr["local"]);
                    c.Observacao     = Convert.ToString(Dr["observacao"]);
                    c.Data_cadastro  = Convert.ToDateTime(Dr["data_cadastro"]);
                    c.Cadastrado_por = Convert.ToInt32(Dr["cadastrado_por"]);

                    lista.Add(c);
                }
                return(lista);
            }
            catch (Exception ex)
            {
                throw new Exception("Não foi possível listar os registros!" + ex.Message);
            }
            finally
            {
                CloseConnection();
            }
        }
コード例 #5
0
        private void btnIncluir_Click(object sender, EventArgs e)
        {
            if (String.IsNullOrEmpty(txtId.Text))
            {
                Lazer c = new Lazer();

                c.Tipo_Lazer = txtTipoLazer.Text;
                c.Local      = txtTipoLocal.Text;
                c.Observacao = txtObservacao.Text;

                LazerDAL C = new LazerDAL();
                C.Record(c); //Gravando o condominio
                MessageBox.Show("Lazer cadastrado com sucesso!", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Information);
                AlimentarGrid();
                LimparCampos();
            }
            else
            {
                Lazer c = new Lazer();

                c.Tipo_Lazer = txtTipoLazer.Text;
                c.Local      = txtTipoLocal.Text;
                c.Observacao = txtObservacao.Text;
                c.Observacao = txtObservacao.Text;
                c.Id         = Convert.ToInt32(txtId.Text);

                LazerDAL C = new LazerDAL();
                C.Update(c); //Gravando o condominio
                MessageBox.Show("Lazer atualizado com sucesso!", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Information);
                AlimentarGrid();
                LimparCampos();
            }
        }
コード例 #6
0
ファイル: Plazm.cs プロジェクト: DIMON0404/Tanks
 Lazer lazer;    // Сама пушка
 // Use this for initialization
 void Start()
 {
     StartCoroutine(DestroyThis());
     lazer = transform.parent.parent.parent.GetComponent <Lazer>();
     gameObject.GetComponent <Rigidbody>().AddForce(lazer.tank.transform.forward * 5000);
     transform.SetParent(GameObject.FindWithTag("BulletsPocket").transform);
 }
コード例 #7
0
        internal void KolobokShot()
        {
            var startX     = kolobok.Coordinates.X + kolobok.Sprite.Width / 2;
            var startY     = kolobok.Coordinates.Y + kolobok.Sprite.Height / 2;
            var startPoint = new Point(startX, startY);

            var target = SearchLazerTarget(startPoint, kolobok.Direction);

            var endPoint = new Point();

            if (target == null)
            {
                switch (kolobok.Direction)
                {
                case Direction.Left:
                    endPoint.X = 0;
                    endPoint.Y = kolobok.Coordinates.Y + kolobok.Sprite.Height / 2;
                    break;

                case Direction.Up:
                    endPoint.X = kolobok.Coordinates.X + kolobok.Sprite.Width / 2;
                    endPoint.Y = 0;
                    break;

                case Direction.Right:
                    endPoint.X = mapSize.Width;
                    endPoint.Y = kolobok.Coordinates.Y + kolobok.Sprite.Height / 2;
                    break;

                case Direction.Down:
                    endPoint.X = kolobok.Coordinates.X + kolobok.Sprite.Width / 2;
                    endPoint.Y = mapSize.Height;
                    break;
                }
            }
            else
            {
                endPoint.X = target.Coordinates.X + target.Sprite.Width / 2;
                endPoint.Y = target.Coordinates.Y + target.Sprite.Height / 2;
                var explosion = new Explosion(target.Coordinates);
                explosions.Add(explosion);
                AddToInfoSource(explosion);
                if (target is Tank)
                {
                    tanksScore++;
                    var tank = target as Tank;
                    RemoveFromInfoSource(tank.Id);
                    tanks.Remove(tank);
                }
                if (target is Wall)
                {
                    var wall = target as Wall;
                    RemoveFromInfoSource(wall.Id);
                    walls.Remove(wall);
                }
            }

            lazer = new Lazer(startPoint, endPoint);
        }
コード例 #8
0
    protected override void Start()
    {
        base.Start();

        button = GetComponentInChildren <CustomButton>(); //Get the buy button

        if (defaultWeapon)                                //If is the default weapon
        {
            isBought = true;
            isActive = true;

            if (type == ShopItemType.WEAPON)                //If it's a weapon
            {
                ShopManager.Instance.CurrentWeapon = this;  //Set the last weapon to this, the default weapon
                Player.Instance.changeWeapon(weaponPrefab); //Set the player's initial weapon to this
            }
        }

        //Construct description text
        string txt = "";

        if (type == ShopItemType.WEAPON)
        {
            Weapon wp = weaponPrefab.GetComponent <Weapon>();

            txt += "Weapon type: ";
            if (wp is Lazer)
            {
                txt += "Lazer\n";
            }
            else if (wp is Pellet)
            {
                txt += "Projectile\n";
            }

            txt += "\nDamage: " + wp.DamageAmount;
            txt += "\nCooldown: " + wp.Cooldown;
            txt += "\nRange: " + wp.Range;

            if (wp is Lazer)
            {
                Lazer lz = (Lazer)wp;
                txt += "\nDuration: " + lz.Duration;
            }
            else if (wp is Pellet)
            {
                Pellet pl = (Pellet)wp;
                txt += "\nSpeed: " + pl.Speed;
            }
        }
        else if (type == ShopItemType.HEALTH)
        {
            txt = "Heals " + healAmount + " health";
        }

        descriptionText.text = txt;

        UpdateItem(); //Update the item GUI
    }
コード例 #9
0
    public static Character CreateCharacter(int id)
    {
        Character c = null;

        switch (id)
        {   //有没有bug看单位表和各个类
        case 1:  c = new MvpTemp();    break;

        case 2:  c = new TankTemp();   break;

        case 3:  c = new WarriorTemp(); break;

        case 4:  c = new Taunter();    break;     // 嘲讽盾

        case 5:  c = new Paladin();    break;     // 奶骑

        case 6:                        break;     // 反甲

        case 7:  c = new Explosive();  break;     // 自爆卡车

        case 8:  c = new Linkage();    break;     // 联动

        case 9:  c = new TaiChi();     break;     // 打太极

        case 10: c = new Silence();    break;     // 沉默

        case 11: c = new GroupHealer(); break;    // 群体治疗

        case 12:                       break;     // 单体治疗

        case 13:                       break;     // 操控怒气

        case 14: c = new Calmer();     break;     // 频繁减怒

        case 15: c = new Buffer();     break;     // 加buff

        case 16: c = new Pierce();     break;     // 单体输出

        case 17: c = new Sputter();    break;     // 溅射

        case 18: c = new Volition();   break;     // 越打越痛

        case 19: c = new Transformer(); break;    // 变身

        case 20: c = new DoubleAgent(); break;    // 内鬼

        case 21: c = new Lazer();      break;     // 激光豆

        case 22: c = new Darius();     break;     // 人头狗

        case 23:                       break;     // 投石机

        case 24: c = new Marshall();   break;     // 黑胡子

        default: Debug.Log("输入了错误的id,找不到对应单位"); break;
        }

        return(c);
    }
コード例 #10
0
 //If this Item is dropped, destroy the Lazer if it exists
 protected override void DropItem()
 {
     if (lazer != null)
     {
         lazer.DestroyThis();
         lazer = null;
     }
 }
コード例 #11
0
 public void DeleteLaser()
 {
     if (laser)
     {
         laser.Destroy(2.0f);
         laser = null;
     }
 }
コード例 #12
0
ファイル: LazerSword.cs プロジェクト: tls5200/Nebula-Wars
 //if this Item is dropped, destroy the Lazer if it exists
 protected override void DropItem()
 {
     if (sword != null)
     {
         sword.DestroyThis();
         sword = null;
     }
 }
コード例 #13
0
        public ActionResult Excluir(int id)
        {
            Lazer lazer = db.Lazer.Find(id);

            db.Lazer.Remove(lazer);
            db.SaveChanges();

            return(RedirectToAction("Index"));
        }
コード例 #14
0
ファイル: Enemy.cs プロジェクト: MichaelShade/SpaceShooterPro
    private void OnTriggerEnter2D(Collider2D other)
    {
        // if other is player
        if (other.gameObject.tag == "Player")
        {
            //Damage player

            if (_player != null)
            {
                _player.Damage();
            }
            // trigger animation
            _anim.SetTrigger("OnEnemyDeath");
            //wait for animation to finsih?
            _speed = 0;
            _audioSource.Play();
            Destroy(GetComponent <Collider2D>());
            Destroy(this.gameObject, 2.8f);
        }

        if (other.gameObject.tag == "Lazer")
        {
            Lazer hitLazer = other.gameObject.GetComponent <Lazer>();
            if (hitLazer != null)
            {
                if (!hitLazer.CheckIfEnemyLazer())
                {
                    Destroy(other.gameObject);
                    _player.Score(10);

                    //trigger Anim
                    _anim.SetTrigger("OnEnemyDeath");
                    _speed = 0;
                    _audioSource.Play();
                    Destroy(GetComponent <Collider2D>());
                    Destroy(this.gameObject, 2.8f);
                }
            }
        }

        if (other.gameObject.tag == "ClusterBomb")
        {
            //Destroy(other.gameObject);
            _player.Score(10);

            //trigger Anim
            _anim.SetTrigger("OnEnemyDeath");
            _speed = 0;
            _audioSource.Play();
            Destroy(GetComponent <Collider2D>());
            Destroy(this.gameObject, 2.8f);
        }
    }
コード例 #15
0
ファイル: Gun.cs プロジェクト: Dirakon/RTS-Wargame
 // Start is called before the first frame update
 void Start()
 {
     if (emptyParentY == null)
     {
         emptyParentY = emptyParentXZ;
     }
     if (body.shootType == ShootType.LazerShoot)
     {
         lazer = new Lazer[shootingPlace.Length];
         InstantiateLasers();
         lazer[0].ManageStart(this);
     }
     StartCoroutine(autoShooter());
 }
コード例 #16
0
    protected override void UpdateDestructableObject()
    {
        //if target is too far away, make it no longer the target
        if (target != null && DistanceFrom(target) > maxLength * difficultyModifier)
        {
            target = null;
        }

        //if there is no target, try to find one
        if (target == null)
        {
            target = ClosestObjectInDirection(level.GetTypes(true, true, false, false), angle, false);

            //make sure the target is within the correct distance
            if (target != null && DistanceFrom(target) > maxLength * difficultyModifier)
            {
                target = null;
            }
        }

        //if there is no target, turn and make sure the lazer is not made
        if (target == null)
        {
            angle += turnSpeed;

            if (lazer != null)
            {
                lazer.DestroyThis();
                lazer = null;
            }
        }
        //if there is a target, turn towards it and make sure the lazer is made
        else
        {
            angularVelocity = 0f;
            TurnTowards(target, Mathf.Abs(turnSpeed));

            if (lazer == null)
            {
                lazer             = (Lazer)level.CreateObject("LazerPF", position, angle);
                lazer.attachedTo  = this;
                lazer.damage      = damage;
                lazer.extendSpeed = extendSpeed * difficultyModifier;
                lazer.maxLength   = maxLength * difficultyModifier;
                lazer.team        = team;
                lazer.color       = lazerColor;
            }
        }
    }
コード例 #17
0
 // Start is called before the first frame update
 void Start()
 {
     spaceshipHorizontalSpeed = 1;
     fail                        = false;
     danger                      = false;
     lazer                       = Resources.LoadAll <Lazer>("Lazer")[0];
     shield                      = GameObject.Find("Shield");
     cannon                      = Resources.LoadAll <GameObject>("Cannon")[0];
     shieldAnimator              = shield.GetComponent <SpriteAnimator>();
     leftSolar                   = GameObject.Find("SolarArrayL").GetComponent <SpriteRenderer>();
     rightSolar                  = GameObject.Find("SolarArrayR").GetComponent <SpriteRenderer>();
     leftSolarDamaged            = GameObject.Find("SolarArrayLDamaged").GetComponent <SpriteRenderer>();
     rightSolarDamaged           = GameObject.Find("SolarArrayRDamaged").GetComponent <SpriteRenderer>();
     thruster                    = GameObject.Find("Thruster");
     QualitySettings.vSyncCount  = 0;
     Application.targetFrameRate = 60;
 }
コード例 #18
0
        private async void StartLazerAnimation()
        {
            await Lazer.TranslateTo(0, 120, 700);

            await Lazer.TranslateTo(0, -120, 700);

            await Lazer.TranslateTo(0, 0, 700);

            await Lazer.TranslateTo(0, 120, 700);

            await Lazer.TranslateTo(0, -120, 700);

            await Lazer.TranslateTo(0, 0, 700);

            //PresentNextAnimation();
            Device.StartTimer(new TimeSpan(0, 0, 2), LaunchMainPage);
        }
コード例 #19
0
ファイル: LazerSword.cs プロジェクト: tls5200/Nebula-Wars
    protected override void HoldingItem(bool use, bool startUse, bool endUse, bool doubleUse)
    {
        //if the holder double presses this Item's key, then destroy
        //the Lazer sword if it exists
        if (doubleUse && sword != null)
        {
            sword.DestroyThis();
            sword = null;
        }
        //if the holder presses this Item's key, then create a new Lazer attached
        //to the user if one does not currently exist
        else if (startUse)
        {
            if (sword == null)
            {
                sword             = (Lazer)level.CreateObject("LazerPF");
                sword.attachedTo  = holder;
                sword.damage      = swordDamge;
                sword.maxLength   = swordLength;
                sword.color       = color;
                sword.attachPoint = offset;
            }

            //reset the time before holding down this Item's key will turn the Lazer
            turnTimer = (int)(timeToTurnSecs * level.updatesPerSec);
        }
        //if the holder holds down this Item's key, rotate the Lazer around the
        //holder if a certain amount of time has past
        else if (use)
        {
            if (turnTimer > 0)
            {
                turnTimer--;
            }
            else if (sword != null)
            {
                sword.attachAngle += turnSpeed;
            }
        }

        if (sword != null)
        {
            level.score += USE_POINTS;
        }
    }
コード例 #20
0
        public ActionResult Excluir(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            Lazer lazer = db.Lazer.Find(id);

            if (lazer == null)
            {
                return(HttpNotFound());
            }

            var lazerVM = Mapper.Map <Lazer, LazerViewModel>(lazer);

            return(View(lazerVM));
        }
コード例 #21
0
 private void OnTriggerEnter2D(Collider2D other)
 {
     if (other.tag == "Player")
     {
         Player player = other.GetComponent <Player>();
         player.doDamage();
         doDamage(_health);
     }
     else if (other.tag == "Laser")
     {
         Lazer laser = other.GetComponent <Lazer>();
         Destroy(other.gameObject);
         doDamage(laser.dps);
     }
     else if (other.tag == "PowerUp")
     {
         Destroy(other);
     }
 }
コード例 #22
0
        public ActionResult Editar(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            Lazer lazer = db.Lazer.Find(id);

            if (lazer == null)
            {
                return(HttpNotFound());
            }

            var lazerVM = Mapper.Map <Lazer, LazerViewModel>(lazer);

            ViewBag.CidadeId    = new SelectList(db.Cidade, "CidadeId", "Nome", lazerVM.Cidade);
            ViewBag.TipoLazerId = new SelectList(db.TipoLazer, "TipoLazerId", "Nome", lazerVM.TipoLazer);

            return(View(lazerVM));
        }
コード例 #23
0
        private void btnExcluir_Click(object sender, EventArgs e)
        {
            if (String.IsNullOrEmpty(txtId.Text))
            {
                MessageBox.Show("Escolha um item na lista");
            }
            else
            {
                if (MessageBox.Show("Deseja Excluir este registro? \nEssa ação não poderá ser desfeita!", "Atenção", MessageBoxButtons.YesNo,
                                    MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) == DialogResult.Yes)
                {
                    Lazer    C = new Lazer();
                    LazerDAL c = new LazerDAL();
                    C.Id = Convert.ToInt32(txtId.Text);

                    c.Delete(Convert.ToInt32(C.Id));

                    MessageBox.Show("Registro " + txtId.Text + " excluído com sucesso!", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    AlimentarGrid();
                    LimparCampos();
                }
            }
        }
コード例 #24
0
    protected override void HoldingItem(bool use, bool startUse, bool endUse, bool doubleUse)
    {
        //if the holder presses this Item's key, create a Lazer
        if (startUse)
        {
            lazer             = (Lazer)level.CreateObject("LazerPF");
            lazer.position    = holder.position;
            lazer.angle       = holder.angle;
            lazer.attachedTo  = holder;
            lazer.damage      = beamDamge;
            lazer.maxLength   = beamMaxLength;
            lazer.extendSpeed = beamExtendSpeed;
            lazer.color       = holder.color;
        }

        //if the user presses releases this Item's key, destroy the Lazer
        if (!use && lazer != null)
        {
            lazer.DestroyThis();
            lazer = null;

            level.score += USE_POINTS;
        }
    }
コード例 #25
0
    public void Shoot()
    {
        Lazer lazer = PoolingManager.instance.Get <Lazer>(this.turretData.lazerPrefab);

        lazer?.Launch(this.muzzle, this.muzzle.forward, this.OnHit);
    }
コード例 #26
0
ファイル: Shoot_New.cs プロジェクト: DavidWry/Capstone-Dev
    private void RightShoot()
    {
        if (IsRightShooting && CanRightShoot)
        {
            //create the projectile if it can shoot multi-bullets
            if (player.rightWeapon.IsMultiBullets)
            {
                //create as many shot with the specific angle
                foreach (float Angle in player.rightWeapon.BulletAngleList)
                {
                    //create the projectile
                    GameObject MultiNewProj = Instantiate(player.rightWeapon.Projectile);
                    MultiNewProj.transform.position   = Right.GetChild(0).GetChild(0).position;
                    MultiNewProj.transform.localScale = BulletSizeUp * MultiNewProj.transform.localScale;

                    //calculate the new angle for every shot
                    Vector3 Temp = Right.eulerAngles + new Vector3(0, 0, -player.fixRightAngle);
                    Temp.z += Angle;
                    MultiNewProj.transform.eulerAngles = Temp;
                    //give state
                    Projectile Proj = MultiNewProj.GetComponent <Projectile>();
                    Proj.IsReady  = true;
                    Proj.Damage   = player.rightWeapon.Damage;
                    Proj.Speed    = player.rightWeapon.ProjectileSpeed;
                    Proj.Duration = player.rightWeapon.Duration;
                    Proj.Thrust   = player.rightWeapon.IsThrust;
                }
                if (NextScene.nowName == "2_1" || NextScene.nowName == "2_2" || NextScene.nowName == "3_1" || NextScene.nowName == "2_3" || NextScene.nowName == "3_3" || NextScene.nowName == "3_2")
                {
                    GameObject.FindGameObjectWithTag("MainCamera").GetComponent <scshake>().time = 0.2f;
                }
                //movement.Recoil = - Right.transform.right * 0.2f;
                GameObject Shot = Instantiate(player.rightWeapon.ShotFX, Right.GetChild(0).GetChild(0));
                Shot.transform.position = Right.GetChild(0).GetChild(0).position;
                var offset = -0.1f * player.RightHand.parent.InverseTransformDirection(-Right.up);
                StartCoroutine(AnimateOffset(player.RightHand, offset, player.RightHand.localPosition, spring: true));
            }
            else if (player.rightWeapon.IsLazer)
            {
                if (RightLazer == null)
                {
                    GameObject NewLazer = Instantiate(player.rightWeapon.Projectile, Right);
                    NewLazer.transform.position    = Right.GetChild(0).GetChild(0).position;
                    NewLazer.transform.eulerAngles = Right.eulerAngles + new Vector3(0, 0, -player.fixRightAngle);

                    Lazer Laz = NewLazer.GetComponent <Lazer>();
                    Laz.IsReady              = true;
                    Laz.LazeDuration         = player.rightWeapon.Duration;
                    Laz.Damage               = player.rightWeapon.Damage;
                    Laz.transform.localScale = BulletSizeUp * Laz.transform.localScale;
                    NewLazer.GetComponent <LineRenderer>().widthMultiplier = BulletSizeUp;

                    RightLazer = Laz;
                    GameObject Shot = Instantiate(player.rightWeapon.ShotFX, Right.GetChild(0).GetChild(0));
                    Shot.transform.position = Right.GetChild(0).GetChild(0).position;
                }
            }
            else if (player.rightWeapon.WeaponType == WeaponType.Melee)
            {
                //Creat projectile
                GameObject NewProj = Instantiate(player.rightWeapon.Projectile);
                NewProj.transform.position    = Right.GetChild(0).GetChild(0).position;
                NewProj.transform.eulerAngles = Right.eulerAngles + new Vector3(0, 0, -player.fixRightAngle);
                NewProj.transform.localScale  = BulletSizeUp * NewProj.transform.localScale;
                //Change state according to the weapon
                Projectile Proj = NewProj.GetComponent <Projectile>();
                Proj.IsReady  = true;
                Proj.Damage   = player.rightWeapon.Damage;
                Proj.Speed    = player.rightWeapon.ProjectileSpeed;
                Proj.Duration = player.rightWeapon.Duration;
                Proj.Thrust   = player.rightWeapon.IsThrust;
                var offsets = new Vector3(0, 0, -60);
                StartCoroutine(SwordOffset(Right.GetChild(0), offsets, Right.GetChild(0).eulerAngles, Right.GetChild(0).localRotation, spring: true));
                var offset = -0.1f * player.RightHand.parent.InverseTransformDirection(-Right.up);
                StartCoroutine(AnimateOffset(player.RightHand, offset, player.RightHand.localPosition, spring: true, duration: 0.3f));
            }
            else
            {
                //Creat impact
                GameObject Shot = Instantiate(player.rightWeapon.ShotFX, Right.GetChild(0).GetChild(0));
                Shot.transform.position = Right.GetChild(0).GetChild(0).position;
                //Creat projectile
                GameObject NewProj = Instantiate(player.rightWeapon.Projectile);
                NewProj.transform.position    = Right.GetChild(0).GetChild(0).position;
                NewProj.transform.eulerAngles = Right.eulerAngles + new Vector3(0, 0, -player.fixRightAngle);
                NewProj.transform.localScale  = BulletSizeUp * NewProj.transform.localScale;
                //Change state according to the weapon
                Projectile Proj = NewProj.GetComponent <Projectile>();
                Proj.IsReady  = true;
                Proj.Damage   = player.rightWeapon.Damage;
                Proj.Speed    = player.rightWeapon.ProjectileSpeed;
                Proj.Duration = player.rightWeapon.Duration;
                Proj.Thrust   = player.rightWeapon.IsThrust;
                var offset = -0.1f * player.RightHand.parent.InverseTransformDirection(-Right.up);
                StartCoroutine(AnimateOffset(player.RightHand, offset, player.RightHand.localPosition, spring: true));
            }
            //Deal with reload
            if (!player.rightWeapon.IsShortRange)
            {
                player.rightWeapon.CurrentAmmos--;
            }
            gameManager.rightWeaponMenu.UpdateWeaponMenu(player.rightWeapon);
            CanRightShoot = false;
        }
        else if (!IsRightShooting && RightLazer != null)
        {
            RightLazer.IsReady = false;
        }
    }
コード例 #27
0
    // Update is called once per frame
    void Update()
    {
        GetComponent <Rigidbody2D>().WakeUp();


        Vector3 mp = Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x,
                                                                Input.mousePosition.y, Camera.main.nearClipPlane));

        mp.z = 0;

        /*
         * if (Input.GetMouseButtonDown(1))
         * {
         *  if (coll.OverlapPoint(mp))
         *  {
         *      superShrinkReaction();
         *  }
         * }*/


        float td = Time.deltaTime;

        float   curSize   = transform.localScale.x;
        Vector3 globScale = transform.lossyScale;

        //print(curSize);
        if (superShrink)
        {
            //superShrinkReaction();
            transform.localScale = new Vector3(curSize - td * 0.3f, curSize - td * 0.3f);
            Color curCol = rend.color;
            rend.color = new Color(curCol.r - 0.01f, curCol.g, curCol.b, curCol.a);
        }
        else if (curSize < maxSize)
        {
            transform.localScale = new Vector3(curSize + td * eng.growRate, curSize + td * eng.growRate);
        }

        if (curSize < 0)
        {
            Destroy(this.gameObject);
            return;
        }

        if (curSize > 2)
        {
            nextSpawn -= td;
        }

        if (nextSpawn < 0 && maxCreate > 0 && eng.totalGrowth < 80)
        {
            Vector3 rndVec = new Vector3(Random.Range(-1f, 1f), Random.Range(-1f, 1f), 0);
            rndVec.Normalize();
            rndVec *= 6;

            Vector3 dir = (rndVec - transform.position);
            dir.Normalize();


            dir *= globScale.x * Random.Range(0.4f, 0.5f);
            if ((transform.position + rndVec).magnitude < 6)
            {
                GameObject newGrowth = Instantiate(eng.growthPrefab, transform.position + dir, new Quaternion());

                newGrowth.transform.localScale = new Vector3(0.01f, 0.01f, 1);

                //Color rndCol = new Color(Random.Range(0.7f, 1f), Random.Range(0.3f, 0.7f), Random.Range(0.3f, 0.7f), 1);
                newGrowth.GetComponent <SpriteRenderer>().color = rend.color;

                newGrowth.GetComponent <Growth>().maxSize = Random.Range(1.5f, 3);

                nextSpawn = 6 * (0.1f / eng.growRate);
                maxCreate--;
                eng.lastGrowthSpawn = 0;
            }
        }


        Core core = FindObjectOfType <Core>();

        if (Physics2D.IsTouching(coll, core.GetComponent <Collider2D>()))
        {
            core.power -= Time.deltaTime * 10;
            FindObjectOfType <MainCamera>().shake += 0.01f;
        }

        Lazer lazer = FindObjectOfType <Lazer>();

        if (lazer != null)
        {
            if (Physics2D.IsTouching(coll, lazer.GetComponent <Collider2D>()))
            {
                superShrinkReaction();
            }
        }
    }
コード例 #28
0
ファイル: OrangeGameScript.cs プロジェクト: adnissen/Irrupt
    public override void Start()
    {
        InitScript.inGame = true;
        InitScript.totalScore = 0;
        bonusSpeed = 2f;
        score = 0;
        value1 = 0;
        value2 = 0;
        value3 = 0;
        FrameCounter = 120;
        obstacles = new List<Obstacle>();
        powerups = new List<Powerup>();
        bullets = new List<Bullet>();

        background = new Starfield(InitScript.bg1Pos,false);
        Futile.stage.AddChild(background);

        background2 = new Starfield(InitScript.bg2Pos, false);
        Futile.stage.AddChild(background2);

        bar = new EnergyBar();
        Futile.stage.AddChild(bar);

        walls = new FSprite("AwesomeWall.png");
        walls.scale = 2.0f;
        walls.x = 0;
        Futile.stage.AddChild(walls);

        //score stuffffff
        digit1 = new FSprite("0.png");
        digit1.scale = 2.0f;
        digit1.x = -159.7772f + 180;
        digit1.y = Futile.screen.halfHeight - 57;
        Futile.stage.AddChild(digit1);

        digit2 = new FSprite("0.png");
        digit2.scale = 2.0f;
        digit2.x = -159.7772f + 160;
        digit2.y = Futile.screen.halfHeight - 57;
        Futile.stage.AddChild(digit2);

        digit3 = new FSprite("0.png");
        digit3.scale = 2.0f;
        digit3.x = -159.7772f + 140;
        digit3.y = Futile.screen.halfHeight - 57;
        Futile.stage.AddChild(digit3);

        ///////

        testPlayer = new Spaceman();
        Futile.stage.AddChild(testPlayer);
        testPlayer.PlayerAlive();

        victoryFlare = new FSprite("Victory0.png");
        victoryFlare.scale = 2.0f;
        victoryFlare.x = 159.7772f - 30;
        victoryFlare.y = -Futile.screen.halfHeight + 160;
        Futile.stage.AddChild(victoryFlare);

        btnPause = new FButton("PauseButton.png");
        btnPause.x = -159.7772f + 12;
        btnPause.y = Futile.screen.halfHeight - 12;
        btnPause.scale = 2.0f;
        //btnPause.isVisible = false;
        Futile.stage.AddChild(btnPause);

        turret = new Turret();
        Futile.stage.AddChild(turret);

        laser = new LazerTurret();
        Futile.stage.AddChild(laser);

        laserActual = new Lazer();
        Futile.stage.AddChild(laserActual);

        rocket = new RocketTurret();
        Futile.stage.AddChild(rocket);

        pausedScreen = new FSprite("Paused0.png");
        pausedScreen.scale = 2.0f;
        pausedScreen.isVisible = false;
        Futile.stage.AddChild(pausedScreen);

        InitScript.blackBar1.MoveToTop();
        InitScript.blackBar2.MoveToTop();

        btnPause.SignalRelease += HandlePauseButtonRelease;
        Futile.instance.SignalUpdate += HandleUpdate;
    }
コード例 #29
0
 public static void Add(Lazer lazer)
 {
     lazers.Add(lazer);
 }
コード例 #30
0
 private void Awake()
 {
     this.myTransform = transform;
     this.lazer       = GetComponentInParent <Lazer>();
     this.GetComponent <SphereCollider>().radius = Mathf.Max(this.lazer.lazerData.width / 2f, 0.1f);
 }
コード例 #31
0
 public void CreateLaser()
 {
     laser = Instantiate(laserPrefab, laserPt).GetComponent <Lazer>();
     laser.Init(laserLength, laserDamage, 0.35f);
 }