예제 #1
0
    // Use this for initialization
    void Start()
    {
        NinjaScript.minDistance    = minDistanceBetweenNinjas;
        NinjaScript.attackDistance = ninjaAttackDistance;
        NinjaScript.updateNinjasOnScreen();
        NinjaScript.initSpawns();
        DroneScript.initSpawns();
        DroneCannonScript.initRockets();
        DroneCannonScript.timeBetweenRockets = 5.0f;
        RocketScript.rocketSpeed             = 2.5f;
        RocketScript.hiddenLocation          = new Vector3(100, 100, 100);
        RocketScript.explosionForce          = 500.0f;
        RocketScript.explosionRadius         = 1.0f;
        RocketScript.initRbs();
        RocketScript.initExplosions(explosion);
        compilators          = GameObject.FindObjectsOfType <CompilatorScript>();
        lastCompilatorActive = Random.Range(0, compilators.Length);
        compilators[lastCompilatorActive].Init();
        compilators[lastCompilatorActive].active = true;
        compilatorsUsed = new HashSet <int>();
        compilatorsUsed.Add(lastCompilatorActive);
        maxFillComp = compilationBar.sizeDelta.x;
        minFillComp = 0;

        maxFillDamage   = damageBar.sizeDelta.x;
        minFillDamage   = 0;
        compilatorsLife = compilationTotalDamage;
    }
예제 #2
0
    private void DestroyObject()
    {
        if (totalArmor <= 0)
        {
            switch (parent)
            {
            case Parent.Rocket: {
                RocketScript rocket = gameObject.GetComponent <RocketScript>();
                if (rocket != null && rocket.allowTriggers)
                {
                    rocket.CustomDestroy();
                }
            } break;

            case Parent.Asteroid: {
                Asteroid asteroid = gameObject.GetComponent <Asteroid>();
                if (asteroid != null)
                {
                    asteroid.CustomDestroy();
                }
            } break;

            case Parent.Ship: {
                ShipScript ship = gameObject.GetComponent <ShipScript>();
                if (ship != null)
                {
                    ship.CustomDestroy();
                }
            } break;
            }
        }
    }
예제 #3
0
 // Use this for initialization
 void Start()
 {
     rocketScript   = rocket.GetComponent <RocketScript>();
     Time.timeScale = 0;   // gra startuje w trybie pausy
     //zerowanie statystyl
     atempts = 0;
     wins    = 0;
 }
예제 #4
0
 private void OnCollisionEnter2D(Collision2D collision)
 {
     if (collision.gameObject.tag == "Player")
     {
         RocketScript rocket = collision.gameObject.GetComponent <RocketScript>();
         rocket.SetState(new LanderWaterboom(rocket));
     }
 }
    // Reflect Bullets!
    void OnTriggerEnter2D(Collider2D otherCollider)
    {
        if (otherCollider.gameObject.tag == "Neutral")
        {
            var neutralHealth = otherCollider.gameObject.GetComponent <NeutralHealthScript> () as NeutralHealthScript;

            if (neutralHealth != null)
            {
                // Avoid friendly fire
                neutralHealth.Damage(2, 1);
                SpecialEffectsHelper.Instance.LaserHitBlue(gameObject.transform.position);
                gameObject.SetActive(false);
            }
        }
        // Is this a shot?
        ShotScript shot =
            otherCollider.gameObject.GetComponent <ShotScript> ();

        if (shot != null)
        {
            if (shot.unreflectedShot)
            {
                MoveScript move = otherCollider.gameObject.GetComponent <MoveScript>();
                if (move != null)
                {
                    /*
                     *  How it works:
                     *  The mouse-input is clamped to -1, and 1, so the min/max of the direction
                     *  will always be within the range of -1 to 1. In order to make the position
                     *  accurate,
                     */
                    move.gameObject.transform.eulerAngles = gameObject.transform.eulerAngles;
                    move.setDirection(this.transform.up.x, this.transform.up.y);
                }

                shot.setEnemyShot(false);
            }
        }
        RocketScript rocket =
            otherCollider.gameObject.GetComponent <RocketScript> ();

        if (rocket != null)
        {
            if (!rocket.disabledShot)
            {
                rocket.disableRocket(true);
            }
        }
        // Is this a rocket?


        var enemyHealth = otherCollider.gameObject.GetComponent <EnemyHealthScript> () as EnemyHealthScript;

        if (enemyHealth != null)
        {
            enemyHealth.Damage(damage, 1);
        }
    }
예제 #6
0
 public void RunThruster(RocketScript rocket)  //dzialanie sinika
 {
     if (rocket.fuel > 0)
     {
         rocket.GetComponent <Rigidbody2D>().AddForce(rocket.transform.up * _power * Time.fixedDeltaTime);
         _running     = true;
         rocket.fuel -= fuelConsumption * Time.fixedDeltaTime;
     }
 }
예제 #7
0
 // Update is called once per frame
 void Update()
 {
     transform.Translate(Vector2.left * 10f * Time.deltaTime, Space.World);
     if (RocketScript.timer >= 10)
     {
         RocketScript.ResetRocket();
         RocketScript.instance.poolRocket.HavuzaObjeEkle(gameObject);
         // Destroy(gameObject);
     }
 }
예제 #8
0
 public static void WithDefaults(this RocketScript rocket)
 {
     rocket.buildProgress      = 0f;
     rocket.size               = 1f;
     rocket.startSequence      = "";
     rocket.startProgressIndex = 0;
     for (int i = 0; i < RocketConst.startSequenceSize; i++)
     {
         rocket.startSequence += Mathf.Floor(Random.value * 10f);
     }
 }
예제 #9
0
    public static void initRockets()
    {
        rocket = FindObjectOfType <RocketScript>();
        Vector3 spawnPos = new Vector3(2000.0f, -50.0f, 2000.0f);

        rockets = new Queue <RocketScript>();
        for (int i = 0; i < 10; ++i)
        {
            rockets.Enqueue(Instantiate <RocketScript>(rocket, spawnPos, Quaternion.identity));
        }
    }
예제 #10
0
    public void ROCKET(GameData.TEAM team, Vector3 position, Vector3 to)
    {
        NetworkPrefabLoader networkObj = Instantiate <NetworkPrefabLoader>(NETWORK_PREFAB);
        EntityPlayer        entity     = networkObj.GetComponent <EntityPlayer>();
        Rigidbody           body       = networkObj.GetComponent <Rigidbody>();
        RocketScript        script     = Instantiate <RocketScript>(PREFAB_ROCKET_SCRIPT);

        script.init(networkObj, team, entity, body, position, to);

        NetworkServer.Spawn(networkObj.gameObject);
        //networkObj.RpcLoadPrefab_ParentMe(PREFAB_ID.ROCKET, team);
    }
예제 #11
0
 void Start()
 {
     instance = this;
     // poolRocketPoint = new PoolPattern(CreatePoint, 1);
     // poolRocket = new PoolPattern(RocketPrefab, 1);
     poolRocketPoint = GetComponents <PoolPattern>()[0];
     poolRocket      = GetComponents <PoolPattern>()[1];
     poolRocketPoint.OlusturPoolPattern(CreatePoint, 1);
     poolRocket.OlusturPoolPattern(RocketPrefab, 1);
     direction    = 1;
     youcanChoose = true;
     youcanCreate = true;
     sesiVer      = true;
 }
예제 #12
0
 private void Shoot()
 {
     if (weaponSprite.sprite == rifle)
     {
         audio.Play();
         Instantiate(BulletShotgunPrefab, firePoint.position, firePoint.rotation);
     }
     if (weaponSprite.sprite == rocketLauncher)
     {
         RocketScript rocket = rocketPrefab.GetComponent(typeof(RocketScript)) as RocketScript;
         rocket.speed = tempSpeed;
         Instantiate(rocketPrefab, firePoint.position, firePoint.rotation);
     }
 }
예제 #13
0
    void Shoot()
    {
        rocket = AmmoBank.instance.rockets.Pop();
        rocket.transform.position      = firePoint.position;
        rocket.transform.localRotation = firePoint.rotation;
        rocket.SetActive(true);
        rocketScript = rocket.GetComponent <RocketScript> ();

        if (rocketScript != null)
        {
            rocketScript.Seek(target, targetScript);
        }

        audioSrc.PlayOneShot(audioSrc.clip, 1f);
    }
예제 #14
0
    void SpawnRocket(Transform trans)
    {
        var rocketShotTransform = Instantiate(rocketPrefab) as Transform;

        rocketShotTransform.position = trans.position;

        RocketScript rocketShot = rocketShotTransform.gameObject.GetComponent <RocketScript>();

        rocketShot.parentGuid = guid;
        rocketShot.target     = target;
        rocketShot.isGuided   = isRocketGuided;
        if (rocketShot != null)
        {
            rocketShot.transform.rotation = weaponPilon.rotation;
        }
    }
예제 #15
0
 // Update is called once per frame
 void Update()
 {
     if (!IntroScript.introFinished)
     {
         return;
     }
     transform.LookAt(player.transform.position);
     timer -= Time.deltaTime;
     if (timer <= 0 && !drone.dead && !player.dead)
     {
         RocketScript roc = rockets.Dequeue();
         roc.shoot(rocketLauncher.position, player.transform.position);
         timer = timeBetweenRockets;
         rockets.Enqueue(roc);
     }
 }
예제 #16
0
    void OnTriggerEnter2D(Collider2D otherCollider)
    {
        if (otherCollider.GetType() == typeof(BoxCollider2D))
        {
            // Is this a rocket shot?
            RocketScript rocketShot = otherCollider.gameObject.GetComponent <RocketScript>();
            if (rocketShot != null)
            {
                if (rocketShot.allowTriggers)
                {
                    TakeDamage(rocketShot.parentGuid);
                    Damage(rocketShot.damage, rocketShot.damageType, rocketShot.turretSize);
                    rocketShot.CustomDestroy();
                }
            }

            // Is this a gun shot?
            BulletScript bulletShot = otherCollider.gameObject.GetComponent <BulletScript>();
            if (bulletShot != null)
            {
                if (bulletShot.allowTriggers)
                {
                    TakeDamage(bulletShot.parentGuid);
                    Damage(bulletShot.damage, bulletShot.damageType, bulletShot.turretSize);
                    bulletShot.CustomDestroy();
                }
            }

            // Is this a asteroid collision?
            Asteroid asteroid = otherCollider.gameObject.GetComponent <Asteroid>();
            if (asteroid != null)
            {
                Damage(asteroid.damage);
            }

            // Is this a player collision?
            ShipScript ship = otherCollider.gameObject.GetComponent <ShipScript>();
            if (ship != null)
            {
                //Damage(10);
            }
        }
    }
예제 #17
0
    public void SpawnRocket(Transform prefab, Transform gun, int damage, float speed1, Turret.DamageType damageType, Turret.TurretSize turretSize)
    {
        var rocketShotTransform = Instantiate(prefab) as Transform;

        RocketScript rocketShot = rocketShotTransform.gameObject.GetComponent <RocketScript>();

        rocketShot.damageType = damageType;
        rocketShot.turretSize = turretSize;
        rocketShot.speed      = speed1;
        rocketShot.damage     = damage;
        rocketShot.parentGuid = guid;
        // rocketShot.target = target;
        rocketShot.isGuided = false;
        if (rocketShot != null)
        {
            rocketShot.transform.position = gun.position;
            rocketShot.transform.rotation = gun.rotation;
        }
    }
예제 #18
0
 private void OnTriggerEnter2D(Collider2D collision)
 {
     if (collision.CompareTag("PerkKalkan"))
     {
         RocketScript.instance.poolRocket.HavuzaObjeEkle(gameObject);
         //Destroy(gameObject);
         RocketScript.ResetRocket();
     }
     else if (collision.CompareTag("Player"))
     {
         if (GameCore.instance.PerkKoruma == false)
         {
             Debug.Log("movingrocket");
             GameCore.instance.Dead();
             RocketScript.instance.poolRocket.HavuzaObjeEkle(gameObject);
             //Destroy(gameObject);
             RocketScript.ResetRocket();
         }
     }
 }
예제 #19
0
    public void GameReset()  //resetuje stan gry
    {
        // reset Landera
        Destroy(rocket);
        rocket       = Instantiate(instrocket);
        rocketScript = rocket.GetComponent <RocketScript>();
        var rand = Random.Range(-2f, 2f);

        rocket.transform.position = new Vector3(rand, 2, 0);
        //ustawienie stanu poczatkowego rakiety
        rocketScript.SetState(new LanderIdle(rocketScript));
        rocketScript.inputEnable = true;
        // zresetowanie pozycji platformy
        rand = Random.Range(-1.5f, 1.5f);
        platform.transform.position = new Vector3(rand, -2.05f, 0);
        //zresetowanie paliwa i monopropylanu
        rocketScript.monoprop = rocketScript.startingmonoprop;
        rocketScript.fuel     = rocketScript.startingfuel;
        //zwiekszenie ilosci podjętych prób
        atempts++;
    }
예제 #20
0
    private void OnTriggerExit2D(Collider2D collision)
    {
        if (collision.tag == "Player")
        {
            GameCore.instance.gameType = changeGameType;
            GameObject.FindGameObjectWithTag("Player").GetComponent <Animator>().SetTrigger("Degistir");
            GameObject.Find("Main Camera").GetComponent <Animator>().SetTrigger("Degistir");
            CameraScript.instance.kameraKontrolEdebilir = false;

            switch (GameCore.instance.gameType)
            {
            case 0:

                GameCore.instance.buttonCoolDown = 0f;
                GameCore.instance.ZıplamaButon.SetActive(true);
                GameObject.FindGameObjectWithTag("Player").GetComponent <CharacterControl>().kol.SetActive(true);
                //GameObject.FindGameObjectWithTag("Player").GetComponent<CharacterControl>().kol.gameObject.GetComponent<SpriteRenderer>().enabled = true;
                StartCoroutine(StartSwipe());
                GameObject.FindGameObjectWithTag("Player").GetComponent <Rigidbody2D>().gravityScale = 2f;
                GameObject.FindGameObjectWithTag("Player").GetComponent <Rigidbody2D>().velocity     = Vector2.up * 25f + Vector2.right * 8f;
                RocketScript.ResetRocket();

                break;

            case 1:
                if (GameCore.instance.levelIndex != 1)     // 1. bölümde yer engeli olmadığı için
                {
                    MapGenerator.instance.yerEngeli.SetActive(false);
                    MapGenerator.instance.yapayZekaCollider.GetComponent <YapayZekaColl>().YerZeminleriniHazirla();
                }
                //GameObject.FindGameObjectWithTag("Player").GetComponent<CharacterControl>().kol.gameObject.GetComponent<SpriteRenderer>().enabled = false;
                GameCore.instance.ResetAirPerks();
                GameCore.instance.ZıplamaButon.SetActive(false);
                GameObject.FindGameObjectWithTag("Player").GetComponent <CharacterControl>().kol.SetActive(false);
                Camera.main.GetComponent <CameraScript>().yerKameraKontrol = true;

                break;
            }
        }
    }
예제 #21
0
 void Start()
 {
     parentRocketScript = gameObject.GetComponentInParent <RocketScript>();
     damage             = parentRocketScript.damage;
 }
예제 #22
0
 void Awake()
 {
     //Capturando o Script RocketScript
     rock = playerTransform.gameObject.GetComponent <RocketScript>();
 }
예제 #23
0
 public LanderRight(RocketScript rocket) : base(rocket)
 {
 }
예제 #24
0
 public LanderLeft(RocketScript rocket) : base(rocket)
 {
 }
예제 #25
0
    public LanderState(RocketScript rocket)    // przekazuje obiekt landera wykorzystywany do uaktualniania stanu
    {
        _rocket = rocket;

        OnStateEnter();
    }
예제 #26
0
 public LanderWaterboom(RocketScript rocket) : base(rocket)
 {
 }
예제 #27
0
 public LanderBoom(RocketScript rocket) : base(rocket)
 {
 }
예제 #28
0
 public LanderIdle(RocketScript rocket) : base(rocket)
 {
 }
 // Start is called before the first frame update
 void Start()
 {
     rocket = GameObject.FindGameObjectsWithTag("Rocket")[0].GetComponent <RocketScript>();
 }
    void Update()
    {
        // behaves nicely for continuoes strokes
        if (Input.GetKey(KeyCode.J))
        {
            if (buildingRocket)
            {
                buildRockedProgress += rockedBuildSpeed;

                if (buildRockedProgress >= 1f)
                {
                    // build a rocket
                    buildRockedProgress = 0f;
                    buildingRocket      = false;
                    var rocket = GameObject.Instantiate(rocketPrefab, container);
                    var rt     = rocket.transform as RectTransform;
                    rt.pivot = new Vector2(0.5f, -3.28f);
                    rocket.transform.localPosition = new Vector3(0f, 0f, -100);
                    rocket.transform.rotation      = Quaternion.Euler(0, 0, Random.Range(0f, 360f));


                    // start launching
                    launchingRocket = true;
                    var script = rocket.GetComponent <RocketScript>();
                    Debug.Assert(script);
                    script.WithDefaults();
                    currentStartRocket = script;
                    UpdateRocketText();
                }
            }
        }

        if (Input.GetKeyDown(KeyCode.F) && !buildingRocket)
        {
            buildRockedProgress = 0f;
            buildingRocket      = true;
        }


        // render planet
        planetView.slider.value = buildRockedProgress;
        planetView.slider.gameObject.SetActive(buildingRocket);


        // launchRocket

        if (launchingRocket)
        {
            for (int i = 0; i < 10; i++)
            {
                var zeroKey = KeyCode.Alpha0;
                if (Input.GetKeyDown((KeyCode)(zeroKey + i)))
                {
                    if (currentStartRocket.startSequence[currentStartRocket.startProgressIndex].Equals(i.ToString()[0]))
                    {
                        currentStartRocket.startProgressIndex++;
                        if (currentStartRocket.startProgressIndex == currentStartRocket.startSequence.Length)
                        {
                            launchingRocket = false;
                            StartCoroutine(LaunchRocketCoroutine(currentStartRocket.transform, Vector3.up));
                        }

                        UpdateRocketText();
                    }
                }
            }
        }
    }