예제 #1
0
 void Start()
 {
     _rb          = GetComponent <Rigidbody>();
     _warpDrive   = GetComponent <WarpAudio>();
     _audioSource = GetComponent <AudioSource>();
     _boosters    = GetComponent <Boosters>();
 }
예제 #2
0
 protected Booster(int id, Player player, DateTime finishTime, Boosters boosterType, Types type) : base(player)
 {
     Id          = id;
     FinishTime  = finishTime;
     BoosterType = boosterType;
     Type        = type;
 }
예제 #3
0
        public void AddMTSBooster()
        {
            MTSBooster          booster = new MTSBooster();
            MTSBoosterViewModel vm      = new MTSBoosterViewModel(booster);

            Boosters.Add(vm);
            _mts.boosters.Add(booster);
        }
예제 #4
0
    // Start is called before the first frame update
    void Start()
    {
        ID               = 1;
        Hit.enabled      = false;
        HitImage.enabled = false;
        seeker           = GetComponent <Seeker>();
        AM               = FindObjectOfType <AudioManager>();
        GM               = FindObjectOfType <GameManager>();
        //GM = GameObject.FindGameObjectWithTag("GameManager");
        LC  = GM.LegList[1];
        HC  = GM.HeadList[1];
        TC  = GM.TorsoList[1];
        WrC = GM.WeaponRList[1];
        WlC = GM.WeaponLList[1];

        SRLegs.sprite      = LC.part;
        SRLegs.material    = LC.Emitter;
        SRHead.sprite      = HC.part;
        SRHead.material    = HC.Emitter;
        SRTorso.sprite     = TC.part;
        SRTorso.material   = TC.Emitter;
        SRWeaponR.sprite   = WrC.part;
        SRWeaponR.material = WrC.Emitter;
        SRWeaponL.sprite   = WlC.part;
        SRWeaponL.material = WlC.Emitter;
        Anim = legsChildren.GetComponent <Animator>();
        Anim.SetInteger("ArmorID", 1);
        SRLegs.sprite    = LC.part;
        Anim.speed       = 0;
        currentHP        = HC.hp + TC.hp + LC.hp;
        maxHP            = HC.hp + TC.hp + LC.hp;
        maxEnergy        = TC.energy;
        currentEnergy    = maxEnergy;
        currentAmmoL     = WlC.ammo;
        currentAmmoR     = WrC.ammo;
        BarrelL.position = new Vector2(BarrelL.position.x, BarrelL.position.y + WlC.barrelLength);
        BarrelR.position = new Vector2(BarrelR.position.x, BarrelR.position.y + WrC.barrelLength);
        //isBoosting = true;
        currentTarget = movePoints[Random.Range(0, 3)];

        if (AM.Playing("MenuSong"))
        {
            AM.Stop("MenuSong");
        }
        //AM.Play("DesertSong");
        if (Boosters.isPlaying)
        {
            Boosters.Stop();
        }
        if (overBoosters.isPlaying)
        {
            overBoosters.Stop();
        }
        int nextSpot = Random.Range(0, movePoints.Count);

        seeker.StartPath(rb.position, movePoints[nextSpot].position, OnPathComplete);
        InvokeRepeating("UpdatePath", 0f, 0.5f);
    }
예제 #5
0
    public void UpdateModuleStatus(ShipModule module, GameTypes.ModuleType type, bool connected)
    {
        switch (type)
        {
        case GameTypes.ModuleType.FuelPack:
            if (connected)
            {
                fuelPack = module.GetComponent <FuelPack>();
                Debug.Log("Ship: Fuel pack connected");
            }
            else
            {
                fuelPack = null;
                Debug.Log("Ship: Fuel pack disconnected");
            }
            break;

        case GameTypes.ModuleType.Thrusters:
            if (connected)
            {
                thrusters = module.GetComponent <Thrusters>();
                Debug.Log("Ship: Thrusters connected");
            }
            else
            {
                thrusters = null;
                Debug.Log("Ship: Thrusters disconnected");
            }
            break;

        case GameTypes.ModuleType.Boosters:
            if (connected)
            {
                boosters = module.GetComponent <Boosters>();
                Debug.Log("Ship: Boosters connected");
            }
            else
            {
                boosters = null;
                Debug.Log("Ship: Boosters disconnected");
            }
            break;

        case GameTypes.ModuleType.QuantumDrive:
            if (connected)
            {
                quantumDrive = module.GetComponent <QuantumDrive>();
                Debug.Log("Ship: Quantum Drive connected");
            }
            else
            {
                quantumDrive = null;
                Debug.Log("Ship: Quantum Drive disconnected");
            }
            break;
        }
    }
예제 #6
0
    private void Start()
    {
        _minType    = 3;
        _middleType = 4;
        _maxType    = 5;

        board   = FindObjectOfType <Board>();
        booster = FindObjectOfType <Boosters>();
    }
예제 #7
0
    private void Start()
    {
        _swipeResist = 1;

        booster     = FindObjectOfType <Boosters>();
        board       = FindObjectOfType <Board>();
        matchFinder = FindObjectOfType <MatchFinder>();
        gameScore   = FindObjectOfType <GameScore>();
    }
예제 #8
0
 public void RefreshModules()
 {
     boosters     = GetComponentInChildren <Boosters>();
     thrusters    = GetComponentInChildren <Thrusters>();
     fuelTank     = GetComponentInChildren <FuelTank>();
     assistModule = GetComponentInChildren <AssistModule>();
     quantumDrive = GetComponentInChildren <QuantumDrive>();
     landingGear  = GetComponentInChildren <LandingGear>();
     lights       = GetComponentInChildren <Lights>();
 }
예제 #9
0
    void Start()
    {
        direction       = (Random.Range(0, 2) == 1) ? 1 : -1;
        horizontalSpeed = Random.Range(1.5f, 4);
        verticalSpeed   = Random.Range(0.7f, 1.7f);

        boosters = GameManager.instance.GetComponent <Boosters>();
        booster  = boosters.list[Random.Range(0, boosters.list.Count)];

        GetComponent <SpriteRenderer>().sprite = booster.sprite;
    }
예제 #10
0
        public string Print()
        {
            var enumerable = Enumerable
                             .Range(0, Map.SizeY)
                             .Select(
                y =>
            {
                var strings = Enumerable
                              .Range(0, Map.SizeX)
                              .Select(
                    x =>
                {
                    var p = new V(x, Map.SizeY - y - 1);
                    if (Map[p] == CellState.Obstacle)
                    {
                        return("#");
                    }

                    var wCount = Workers.Count(w => w.Position == p);
                    if (wCount != 0)
                    {
                        return(wCount.ToString());
                    }

                    if (Workers.Any(w => w.Manipulators.Any(m => w.Position + m == p && Map.IsReachable(w.Position, w.Position + m))))
                    {
                        return("-");
                    }

                    if (Workers.Any(w => w.Manipulators.Any(m => w.Position + m == p)))
                    {
                        return("!");
                    }

                    var booster = Boosters.FirstOrDefault(b => b.Position == p);
                    if (booster != null)
                    {
                        return(booster.ToString()[0].ToString());
                    }

                    if (Map[p] == CellState.Void)
                    {
                        return(".");
                    }

                    return("*");
                })
                              .ToArray();
                return(string.Join("", strings));
            });

            return(string.Join("\n", enumerable));
        }
예제 #11
0
    // Start is called before the first frame update
    void Start()
    {
        ID               = 1;
        Hit.enabled      = false;
        HitImage.enabled = false;
        seeker           = GetComponent <Seeker>();
        AM               = FindObjectOfType <AudioManager>();
        GM               = FindObjectOfType <GameManager>();
        //GM = GameObject.FindGameObjectWithTag("GameManager");
        LC  = GM.LegList[0];
        HC  = GM.HeadList[0];
        TC  = GM.TorsoList[0];
        WrC = GM.WeaponRList[0];
        WlC = GM.WeaponLList[0];

        SRLegs.sprite      = LC.part;
        SRLegs.material    = LC.Emitter;
        SRHead.sprite      = HC.part;
        SRHead.material    = HC.Emitter;
        SRTorso.sprite     = TC.part;
        SRTorso.material   = TC.Emitter;
        SRWeaponR.sprite   = WrC.part;
        SRWeaponR.material = WrC.Emitter;
        SRWeaponL.sprite   = WlC.part;
        SRWeaponL.material = WlC.Emitter;
        Anim = legsChildren.GetComponent <Animator>();
        Anim.SetInteger("ArmorID", 0);
        SRLegs.sprite    = LC.part;
        Anim.speed       = 0;
        currentHP        = 9999;
        maxHP            = HC.hp + TC.hp + LC.hp;
        maxEnergy        = TC.energy;
        currentEnergy    = maxEnergy;
        currentAmmoL     = WlC.ammo;
        currentAmmoR     = WrC.ammo;
        BarrelL.position = new Vector2(BarrelL.position.x, BarrelL.position.y + WlC.barrelLength);
        BarrelR.position = new Vector2(BarrelR.position.x, BarrelR.position.y + WrC.barrelLength);
        //isBoosting = true;


        if (AM.Playing("MenuSong"))
        {
            AM.Stop("MenuSong");
        }
        if (Boosters.isPlaying)
        {
            Boosters.Stop();
        }
        if (overBoosters.isPlaying)
        {
            overBoosters.Stop();
        }
    }
예제 #12
0
    // Start is called before the first frame update
    void Start()
    {
        ID               = 4;
        cannonRange      = cannonRange - 2;
        Hit.enabled      = false;
        HitImage.enabled = false;
        seeker           = GetComponent <Seeker>();
        AM               = FindObjectOfType <AudioManager>();
        GM               = FindObjectOfType <GameManager>();
        //GM = GameObject.FindGameObjectWithTag("GameManager");
        LC  = GM.LegList[4];
        HC  = GM.HeadList[4];
        TC  = GM.TorsoList[4];
        WrC = GM.WeaponRList[4];
        WlC = GM.WeaponLList[4];

        SRLegs.sprite      = LC.part;
        SRLegs.material    = LC.Emitter;
        SRHead.sprite      = HC.part;
        SRHead.material    = HC.Emitter;
        SRTorso.sprite     = TC.part;
        SRTorso.material   = TC.Emitter;
        SRWeaponR.sprite   = WrC.part;
        SRWeaponR.material = WrC.Emitter;
        SRWeaponL.sprite   = WlC.part;
        SRWeaponL.material = WlC.Emitter;
        Anim = legsChildren.GetComponent <Animator>();
        Anim.SetInteger("ArmorID", 4);
        SRLegs.sprite    = LC.part;
        Anim.speed       = 0;
        currentHP        = HC.hp + TC.hp + LC.hp;
        maxHP            = HC.hp + TC.hp + LC.hp;
        maxEnergy        = TC.energy;
        currentEnergy    = maxEnergy;
        currentAmmoL     = WlC.ammo;
        currentAmmoR     = WrC.ammo;
        BarrelL.position = new Vector2(BarrelL.position.x, BarrelL.position.y + WlC.barrelLength);
        BarrelR.position = new Vector2(BarrelR.position.x, BarrelR.position.y + WrC.barrelLength);
        Turn();
        if (AM.Playing("MenuSong"))
        {
            AM.Stop("MenuSong");
        }


        //AM.Play("ManufactureSong");
        if (Boosters.isPlaying)
        {
            Boosters.Stop();
        }
        InvokeRepeating("UpdatePath", 0f, 0.5f);
    }
예제 #13
0
    private void Awake()
    {
        AM = FindObjectOfType <AudioManager>();
        GM = FindObjectOfType <GameManager>();
        if (AM.Playing("MenuSong"))
        {
            AM.Stop("MenuSong");
        }

        if (Boosters.isPlaying)
        {
            Boosters.Stop();
        }
    }
예제 #14
0
 private void Awake()
 {
     AM = FindObjectOfType <AudioManager>();
     GM = FindObjectOfType <GameManager>();
     if (AM.Playing("MenuSong"))
     {
         AM.Stop("MenuSong");
     }
     if (!(GM.slainEnemies == 2 || GM.slainEnemies == 5) || GM.statusE[ID] == true)
     {
         AM.Play("AirArenaSong");
     }
     if (Boosters.isPlaying)
     {
         Boosters.Stop();
     }
 }
예제 #15
0
    void Start()
    {
        // Не трогай!
        Boosters             = _boostersObj.GetComponent <Boosters>();
        GameManagerHanler    = GameManager.GetComponent <GameManager>();
        anim_doNotUseText    = _doNotUseText.GetComponent <Animator>();
        _scoreCounterHandler = _scoreCounter.GetComponent <Score>();


        // Доавлять при создании способности!!!
        SetCostText(TimeSlowerCostText, TimeSlowerCost);
        SetCostText(SheldCostText, SheldCost);
        SetCostText(NinjaMaskCostText, NinjaMaskCost);
        SetCostText(ReduceBirdCostText, ReduceBirdCost);

        ChangeBoostersCondition(false);
    }
예제 #16
0
    private void OnCollisionEnter2D(Collision2D col)
    {
        if (col.gameObject.tag == "Ball")
        {
            StartCoroutine(Delay());
            GetComponent <BoxCollider2D>().enabled = false;
            Login.instance.score += 10;

            if (lg.levelTiles - 1 == 0)
            {
                lg.CheckLevel();
            }
            else
            {
                lg.levelTiles--;
            }

            if (booster)
            {
                Boosters.RandomBooster(transform.position);
            }
        }
    }
예제 #17
0
    void FixedUpdate()
    {
        if (active)
        {
            //Debug.Log(currentHP);
            if (currentHP <= 0)
            {
                if (currentHP < 0)
                {
                    currentHP = 0;
                }
                dead = true;

                if (dead == true && createdSpark == false)
                {
                    createdSpark = true;
                    Vector3    deathPos = this.gameObject.transform.position;
                    GameObject E        = Instantiate(deathSpark, deathPos, Quaternion.identity);
                    E.transform.parent = gameObject.transform;
                    //StartCoroutine(Reload());
                }
            }

            if (inCannonRange && Time.time > timeStampturn)
            {
                Turn();
                timeStampturn = Time.time + 0.5f;
            }


            if (!dead)
            {
                if (isBoosting && !overheating && Time.time > timeStampDeplete && currentEnergy > LC.consumptionRate)
                {
                    timeStampDeplete = Time.time + LC.consumptionRate;
                    //currentEnergy -= 10;
                }
                else if (isBoosting == false && Time.time > timeStampCharge && currentEnergy < maxEnergy)
                {
                    currentEnergy += 10;

                    timeStampCharge = Time.time + TC.chargeRate;
                }
                if (currentEnergy <= LC.consumptionRate)
                {
                    overheating = true;
                }
                else if (currentEnergy >= maxEnergy / 4)
                {
                    overheating = false;
                }
                if (isBoosting)
                {
                    if (boosttimer <= 0.0f)
                    {
                        boosttimer = 0.2f;
                    }
                }
                if (isBoosting || boosttimer > 0.0f)
                {
                    boosttimer -= Time.deltaTime;
                    if (!Boosters.isPlaying)
                    {
                        Boosters.Play();
                    }
                    SRLegs.sprite = LC.part;
                    Anim.speed    = 0;
                }
                else
                {
                    if (Boosters.isPlaying)
                    {
                        Boosters.Stop();
                    }
                    if (Anim.GetInteger("ArmorID") < 0)
                    {
                        Anim.SetInteger("ArmorID", 12);
                    }
                }
                float distance = Vector3.Distance(transform.position, Player.transform.position);



                //if (BR.near && !overheating)
                //{
                //    isBoosting = true;
                //}
                //else if (distance < 10f && !overheating)
                //{

                //    isBoosting = true;
                //}
                //else if (BR.near == false || overheating)
                //{
                //    isBoosting = false;
                //}


                //    // movement = movement * -1;
                //    //go back


                //}
                //else if (distance > 7f)
                //{
                //    backwards = false;
                //    isBoosting = true;
                //    //    movement = movement;
                //    //go back
                //}
                //if (inCannonRange)
                //{
                //    isBoosting = true;
                //}
                //else
                //{
                //    isBoosting = false;
                //}


                if (isBoosting)
                {
                    if (Left)
                    {
                        Debug.Log("BoostL");
                        rb.MovePosition(rb.position + (movement + (Vector2)transform.right) * LC.boosters * Time.fixedDeltaTime);
                    }
                    else if (Right)
                    {
                        Debug.Log("BoostR");
                        rb.MovePosition(rb.position + (movement - (Vector2)transform.right) * LC.boosters * Time.fixedDeltaTime);
                    }
                    else
                    {
                        rb.MovePosition(rb.position + (movement) * LC.boosters * Time.fixedDeltaTime);
                    }
                }
                else
                {
                    if (Left)
                    {
                        rb.MovePosition(rb.position + (movement + (Vector2)transform.right) * LC.walkSpd * Time.fixedDeltaTime);
                    }
                    else if (Right)
                    {
                        rb.MovePosition(rb.position + (movement - (Vector2)transform.right) * LC.walkSpd * Time.fixedDeltaTime);
                    }
                    else
                    {
                        rb.MovePosition(rb.position + (movement) * LC.walkSpd * Time.fixedDeltaTime);
                    }
                }


                if (movement != Vector2.zero)
                {
                    Anim.speed = 1;
                }
                else
                {
                    Anim.speed = 0;
                }


                Vector2 lookDir = (Vector2)Player.transform.position - rb.position;
                float   angle   = Mathf.Atan2(lookDir.y, lookDir.x) * Mathf.Rad2Deg - 90f;
                rb.rotation = angle;
            }
        }
    }
예제 #18
0
    // Update is called once per frame
    void Update()
    {
        if (active)
        {
            isBoosting = true;
            if (currentAmmoR >= 3)
            {
                misslesArmed   = true;
                misslesLoading = false;
            }
            else if (currentAmmoR <= 0)
            {
                misslesArmed   = false;
                misslesLoading = true;
            }


            if (currentAmmoL >= 2)
            {
                carbineArmed   = true;
                carbineLoading = false;
            }
            else if (currentAmmoL <= 0)
            {
                carbineArmed   = false;
                carbineLoading = true;
            }


            if (struck == true)
            {
                struck = false;
                StartCoroutine(showHit());
            }
            //if (sideL.hittingWall && !sideR.hittingWall)
            //{
            //    Left = false;
            //    Right = true;
            //}
            //else if (sideR.hittingWall && !sideL.hittingWall)
            //{
            //    Left = true;
            //    Right = false;
            //}
            //else if (sideR.hittingWall && sideL.hittingWall)
            //{
            //    Right = false;
            //    Left = false;
            //}
            //Armor 8 AI

            //if player not in radar range or IS in range
            //walk towards player


            //if player in viewing range
            //boost towards them
            float distance = Vector3.Distance(transform.position, Player.transform.position);

            if (!dead)
            {
                if (distance < machineGunRange)
                {
                    //isBoosting = true;
                    inCannonRange = true;
                }
                else
                {
                    //isBoosting = true;
                    inCannonRange = false;
                }
                if (distance < missileRange)
                {
                    DroneReady = true;
                }
                else
                {
                    DroneReady = false;
                }

                var mask = ~((1 << 14) | (1 << 11) | (1 << 12) | (1 << 8) | (1 << 10));
                RaycastHit2D
                    hit = Physics2D.Linecast(transform.position, Player.transform.position, mask);

                if (DroneReady && Time.time > timeStampL && currentAmmoL > 0 && hit.collider != null && hit.collider.tag == "Player")
                {
                    fireLeft      = true;
                    timeStampL    = Time.time + WlC.fireRate;
                    currentAmmoL -= 1;
                    WlC.Atk(BarrelL, AM, ally);
                }
                else if (DroneReady == false || currentAmmoL <= 0)
                {
                    fireLeft = false;
                }

                if (((fireLeft && currentAmmoL < WlC.ammo) || currentAmmoL <= 0) && Time.time > ammoTimeStampL)
                {
                    ammoTimeStampL = Time.time + WlC.reloadRate;
                    currentAmmoL  += 1;
                }

                if (carbineArmed && inCannonRange == true && Time.time > timeStampR && currentAmmoR > 0 && hit.collider != null && hit.collider.tag == "Player")
                {
                    fireRight     = true;
                    timeStampR    = Time.time + WrC.fireRate;
                    currentAmmoR -= 1;
                    WrC.Atk(BarrelR, AM, ally);
                }
                else if (!carbineArmed || !inCannonRange)
                {
                    fireRight = false;
                }

                if ((fireRight == false && (currentAmmoR < WrC.ammo) || currentAmmoR <= 0) && Time.time > ammoTimeStampR)
                {
                    ammoTimeStampR = Time.time + WrC.reloadRate;
                    currentAmmoR  += 1;
                }



                if (movement != Vector2.zero)
                {
                    Quaternion newRot = Quaternion.LookRotation(Vector3.forward, movement);
                    legsChildren.transform.rotation = newRot;
                    //Debug.Log(legsChildren.transform.localRotation.eulerAngles.z);
                    if (legsChildren.transform.localRotation.eulerAngles.z > 90 && legsChildren.transform.localRotation.eulerAngles.z < 270)
                    {
                        //    newRot = Quaternion.Inverse(newRot);
                        //    //Vector3 rot = legsChildren.transform.localRotation.eulerAngles;
                        //    //rot = new Vector3(newRot.x, newRot.y, newRot.z - 180);
                        legsChildren.transform.localScale = Vector3.down + Vector3.right + Vector3.forward;
                        //    ////rot = new Vector3(rot.x, rot.y, Mathf.Clamp(rot.z, legsChildren.transform.rotation.eulerAngles.z - 90, legsChildren.transform.rotation.eulerAngles.z + 90));
                        //    //newRot = Quaternion.Euler(rot);
                        //legsChildren.transform.rotation = rot180degrees;
                    }
                    else
                    {
                        legsChildren.transform.localScale = Vector3.up + Vector3.right + Vector3.forward;
                    }
                }
                else
                {
                    legsChildren.transform.rotation = transform.rotation;
                }

                if (path == null)
                {
                    return;
                }
                if (currentWaypoint >= path.vectorPath.Count)
                {
                    reachedEndOfPath = true;
                    return;
                }
                else
                {
                    reachedEndOfPath = false;
                }

                //            Vector2 directoin =
                movement = ((Vector2)path.vectorPath[currentWaypoint] - rb.position).normalized; //Vector3.Normalize(Player.transform.position - transform.position);

                float d = Vector2.Distance(rb.position, path.vectorPath[currentWaypoint]);
                if (d < nextWaypointDistance)
                {
                    currentWaypoint++;
                }
            }
            else
            {
                rb.velocity = Vector2.zero;
                if (Boosters.isPlaying)
                {
                    Boosters.Stop();
                }
                Anim.speed = 0;
                movement   = Vector2.zero;
            }

            //if player in shooting range
            //rotate around them and charge towards them
            //shoot the f**k out of them
            //keep a certain distance away

            //if player is really close
            //activate overdrive atk

            //if bullet is near
            //sidestep
            //if missle is near
            //sidestep and charge towards player if near

            //if energy below 20%
            //dont boost unless avoiding a projectile

            //notes: armor 8 is hyper aggressive and tanky, the strategy is to strafe and chagre until in overdrive range, this armor cares very little for their own safety



            //movement.x = Input.GetAxisRaw("Horizontal");
            //movement.y = Input.GetAxisRaw("Vertical");
        }
    }
예제 #19
0
    void Start()
    {
        Hit              = GameObject.Find("HitText").GetComponent <TextMeshProUGUI>();
        HitImage         = GameObject.Find("HitImage").GetComponent <Image>();
        Human            = GameObject.Find("Player");
        Enemy            = GameObject.Find("Enemy");
        ID               = 5;
        Hit.enabled      = false;
        HitImage.enabled = false;
        seeker           = GetComponent <Seeker>();
        AM               = FindObjectOfType <AudioManager>();
        GM               = FindObjectOfType <GameManager>();
        //GM = GameObject.FindGameObjectWithTag("GameManager");
        LC  = GM.LegList[11];
        HC  = GM.HeadList[11];
        TC  = GM.TorsoList[11];
        WrC = GM.WeaponRList[6];
        WlC = GM.WeaponLList[5];

        SRLegs.sprite      = LC.part;
        SRLegs.material    = LC.Emitter;
        SRHead.sprite      = HC.part;
        SRHead.material    = HC.Emitter;
        SRTorso.sprite     = TC.part;
        SRTorso.material   = TC.Emitter;
        SRWeaponR.sprite   = WrC.part;
        SRWeaponR.material = WrC.Emitter;
        SRWeaponL.sprite   = WlC.part;
        SRWeaponL.material = WlC.Emitter;

        Anim = legsChildren.GetComponent <Animator>();
        Anim.SetInteger("ArmorID", 11);
        Anim.speed    = 0;
        SRLegs.sprite = LC.part;
        currentHP     = HC.hp + TC.hp + LC.hp + 500;
        if (GM.onFinalLevel1)
        {
            currentHP = 2800;
        }
        maxHP            = HC.hp + TC.hp + LC.hp;
        maxEnergy        = TC.energy;
        currentEnergy    = maxEnergy;
        currentAmmoL     = WlC.ammo;
        currentAmmoR     = WrC.ammo;
        BarrelL.position = new Vector2(BarrelL.position.x, BarrelL.position.y + WlC.barrelLength);
        BarrelR.position = new Vector2(BarrelR.position.x, BarrelR.position.y + WrC.barrelLength);
        Turn();
        if (AM.Playing("MenuSong"))
        {
            AM.Stop("MenuSong");
        }
        AM.StopAll();
        if (GM.onFinalLevel1)
        {
        }
        else
        {
            AM.Play("AISong");
        }



        //AM.Play("ArenaSong");
        if (Boosters.isPlaying)
        {
            Boosters.Stop();
        }
        InvokeRepeating("UpdatePath", 0f, 0.5f);
    }
예제 #20
0
    void FixedUpdate()
    {
        // Debug.Log(Boosters.isPlaying);
        //Debug.Log(currentHP);
        if (currentHP <= 0)
        {
            if (currentHP < 0)
            {
                currentHP = 0;
            }
            dead = true;

            if (dead == true && createdSpark == false)
            {
                createdSpark = true;
                Vector3    deathPos = this.gameObject.transform.position;
                GameObject E        = Instantiate(deathSpark, deathPos, Quaternion.identity);
                E.transform.parent = gameObject.transform;
                StartCoroutine(Reload());
            }
        }



        //if (isBoosting == true && Time.time > timeStampDeplete && currentEnergy > LC.consumptionRate)
        //{
        //    if (!AM.Playing("Boosters"))
        //    {
        //        AM.Play("Boosters");
        //    }
        //    timeStampDeplete = Time.time + LC.consumptionRate;
        //    currentEnergy -= 10;

        //}
        //else if (isBoosting == false && Time.time > timeStampCharge && currentEnergy < maxEnergy)
        //{
        //    if (AM.Playing("Boosters"))
        //    {
        //        AM.Stop("Boosters");
        //    }
        //    currentEnergy += 10;

        //    timeStampCharge = Time.time + TC.chargeRate;
        //}
        ////boosters and movement
        ///
        if (!dead)
        {
            if (isBoosting)// && currentEnergy > LC.consumptionRate)
            {
                if (!Boosters.isPlaying)
                {
                    Boosters.Play();
                }

                rb.MovePosition(rb.position + movement * LC.boosters * Time.fixedDeltaTime);


                //Debug.Log("Space");
                //Anim.SetInteger("ArmorSet", -1);
                SRLegs.sprite = LC.part;
                Anim.speed    = 0;
            }
            else
            {
                if (Boosters.isPlaying)
                {
                    Boosters.Stop();
                }


                rb.MovePosition(rb.position + movement * LC.walkSpd * Time.fixedDeltaTime);


                if (Anim.GetInteger("ArmorID") < 0)
                {
                    Anim.SetInteger("ArmorID", 6);
                }
                if (movement != Vector2.zero)
                {
                    Anim.speed = 1;
                }
                else
                {
                    Anim.speed = 0;
                }
            }


            Vector2 lookDir = (Vector2)Player.transform.position - rb.position;
            float   angle   = Mathf.Atan2(lookDir.y, lookDir.x) * Mathf.Rad2Deg - 90f;
            rb.rotation = angle;
        }
    }
예제 #21
0
    void FixedUpdate()
    {
        if (active)
        {
            //Debug.Log(currentHP);
            if (currentHP <= 0)
            {
                if (currentHP < 0)
                {
                    currentHP = 0;
                }
                dead = true;

                if (dead == true && createdSpark == false)
                {
                    createdSpark = true;
                    Vector3    deathPos = this.gameObject.transform.position;
                    GameObject E        = Instantiate(deathSpark, deathPos, Quaternion.identity);
                    E.transform.parent = gameObject.transform;
                    StartCoroutine(Reload());
                }
            }

            if (inCannonRange && Time.time > timeStampturn)
            {
                Turn();
                timeStampturn = Time.time + 1f;
            }


            if (!dead)
            {
                if (isBoosting)
                {
                    if (!Boosters.isPlaying)
                    {
                        Boosters.Play();
                    }
                    SRLegs.sprite = LC.part;
                    Anim.speed    = 0;
                }
                else
                {
                    if (Boosters.isPlaying)
                    {
                        Boosters.Stop();
                    }
                    if (Anim.GetInteger("ArmorID") < 0)
                    {
                        Anim.SetInteger("ArmorID", 5);
                    }
                }

                if (BR.near)
                {
                    isBoosting = true;
                }

                float distance = Vector3.Distance(transform.position, Player.transform.position);
                if (distance < 7.25f)
                {
                    backwards = true;
                    if (BR.near == false)
                    {
                        isBoosting = false;
                    }

                    // movement = movement * -1;
                    //go back
                }
                else if (distance > 15f)
                {
                    backwards  = false;
                    isBoosting = true;
                    //    movement = movement;
                    //go back
                }

                if (flagB.hittingWall)
                {
                    backwards = false;
                }
                if (backwards)
                {
                    movement = movement * -1;
                }

                if (isBoosting)
                {
                    if (Left)
                    {
                        rb.MovePosition(rb.position + (movement + (Vector2)transform.right) * LC.boosters * Time.fixedDeltaTime);
                    }
                    else if (Right)
                    {
                        rb.MovePosition(rb.position + (movement - (Vector2)transform.right) * LC.boosters * Time.fixedDeltaTime);
                    }
                }
                else
                {
                    if (Left)
                    {
                        rb.MovePosition(rb.position + (movement + (Vector2)transform.right) * LC.walkSpd * Time.fixedDeltaTime);
                    }
                    else if (Right)
                    {
                        rb.MovePosition(rb.position + (movement - (Vector2)transform.right) * LC.walkSpd * Time.fixedDeltaTime);
                    }
                }


                if (movement != Vector2.zero)
                {
                    Anim.speed = 1;
                }
                else
                {
                    Anim.speed = 0;
                }


                Vector2 lookDir = (Vector2)Player.transform.position - rb.position;
                float   angle   = Mathf.Atan2(lookDir.y, lookDir.x) * Mathf.Rad2Deg - 90f;
                rb.rotation = angle;
            }
        }
    }
예제 #22
0
 public void RemoveMTSBooster(MTSBoosterViewModel booster)
 {
     Boosters.Remove(booster);
     _mts.boosters.Remove(booster.Model);
 }
예제 #23
0
 private void Update()
 {
     Boosters.BoosterMovement(transform, speed);
 }
예제 #24
0
        public override void Init(object initData)
        {
            base.Init(initData);
            CurrentReviewPage = 1;
            MaxItemsInPage = 12;
            BackReviews = new Command(() =>
            {
                if (CurrentReviewPage > 1)
                    CurrentReviewPage--;
            });
            NextReviews = new Command(() =>
            {
                if (CurrentReviewPage * MaxItemsInPage < Boosters.Count())
                    CurrentReviewPage++;
            });
            OpenProfilePage = new Command(() => {
                CoreMethods.PushPageModel<ProfilePageModel>();
            });
            TapGestureRecognizer t = new TapGestureRecognizer();

            //temp
            Boosters = new ObservableCollection<BoosterOfferCardModel>() {
    new BoosterOfferCardModel() {
      Displayname = "Rekurencja",
       Email = "*****@*****.**",
       ImageSource = "http://fioextremadura.es/wp-content/uploads/placeholder-blue-800x600px.png"
     },
     new BoosterOfferCardModel() {
      Displayname = "Rekurencja1",
       Email = "*****@*****.**",
       ImageSource = "http://fioextremadura.es/wp-content/uploads/placeholder-blue-800x600px.png"
     },
     new BoosterOfferCardModel() {
      Displayname = "Rekurencja2",
       Email = "*****@*****.**",
       ImageSource = "http://fioextremadura.es/wp-content/uploads/placeholder-blue-800x600px.png"
     },
     new BoosterOfferCardModel() {
      Displayname = "Rekurencja3",
       Email = "*****@*****.**",
       ImageSource = "http://fioextremadura.es/wp-content/uploads/placeholder-blue-800x600px.png"
     },
     new BoosterOfferCardModel() {
      Displayname = "Rekurencja4",
       Email = "*****@*****.**",
       ImageSource = "http://fioextremadura.es/wp-content/uploads/placeholder-blue-800x600px.png"
     },
     new BoosterOfferCardModel() {
      Displayname = "Rekurencja5",
       Email = "*****@*****.**",
       ImageSource = "http://fioextremadura.es/wp-content/uploads/placeholder-blue-800x600px.png"
     },
     new BoosterOfferCardModel() {
      Displayname = "Rekurencja6",
       Email = "*****@*****.**",
       ImageSource = "http://fioextremadura.es/wp-content/uploads/placeholder-blue-800x600px.png"
     },
     new BoosterOfferCardModel() {
      Displayname = "Rekurencja7",
       Email = "*****@*****.**",
       ImageSource = "http://fioextremadura.es/wp-content/uploads/placeholder-blue-800x600px.png"
     },
     new BoosterOfferCardModel() {
      Displayname = "Rekurencja8",
       Email = "*****@*****.**",
       ImageSource = "http://fioextremadura.es/wp-content/uploads/placeholder-blue-800x600px.png"
     },
     new BoosterOfferCardModel() {
      Displayname = "Rekurencja9",
       Email = "*****@*****.**",
       ImageSource = "http://fioextremadura.es/wp-content/uploads/placeholder-blue-800x600px.png"
     },
     new BoosterOfferCardModel() {
      Displayname = "Rekurencja6",
       Email = "*****@*****.**",
       ImageSource = "http://fioextremadura.es/wp-content/uploads/placeholder-blue-800x600px.png"
     },
     new BoosterOfferCardModel() {
      Displayname = "Rekurencja7",
       Email = "*****@*****.**",
       ImageSource = "http://fioextremadura.es/wp-content/uploads/placeholder-blue-800x600px.png"
     },
     new BoosterOfferCardModel() {
      Displayname = "Rekurencja8",
       Email = "*****@*****.**",
       ImageSource = "http://fioextremadura.es/wp-content/uploads/placeholder-blue-800x600px.png"
     },
     new BoosterOfferCardModel() {
      Displayname = "Rekurencja9",
       Email = "*****@*****.**",
       ImageSource = "http://fioextremadura.es/wp-content/uploads/placeholder-blue-800x600px.png"
     }, new BoosterOfferCardModel() {
      Displayname = "Rekurencja6",
       Email = "*****@*****.**",
       ImageSource = "http://fioextremadura.es/wp-content/uploads/placeholder-blue-800x600px.png"
     },
     new BoosterOfferCardModel() {
      Displayname = "Rekurencja7",
       Email = "*****@*****.**",
       ImageSource = "http://fioextremadura.es/wp-content/uploads/placeholder-blue-800x600px.png"
     },
     new BoosterOfferCardModel() {
      Displayname = "Rekurencja8",
       Email = "*****@*****.**",
       ImageSource = "http://fioextremadura.es/wp-content/uploads/placeholder-blue-800x600px.png"
     },
     new BoosterOfferCardModel() {
      Displayname = "Rekurencja9",
       Email = "*****@*****.**",
       ImageSource = "http://fioextremadura.es/wp-content/uploads/placeholder-blue-800x600px.png"
     },
     new BoosterOfferCardModel() {
      Displayname = "Rekurencja6",
       Email = "*****@*****.**",
       ImageSource = "http://fioextremadura.es/wp-content/uploads/placeholder-blue-800x600px.png"
     },
     new BoosterOfferCardModel() {
      Displayname = "Rekurencja7",
       Email = "*****@*****.**",
       ImageSource = "http://fioextremadura.es/wp-content/uploads/placeholder-blue-800x600px.png"
     },
     new BoosterOfferCardModel() {
      Displayname = "Rekurencja8",
       Email = "*****@*****.**",
       ImageSource = "http://fioextremadura.es/wp-content/uploads/placeholder-blue-800x600px.png"
     },
     new BoosterOfferCardModel() {
      Displayname = "Rekurencja9",
       Email = "*****@*****.**",
       ImageSource = "http://fioextremadura.es/wp-content/uploads/placeholder-blue-800x600px.png"
     },
   };
        }