private void DecompressIntoPowerup(JArray data, PowerupData powerup)
        {
            var id             = ExtractValue <int>(data, _powerupContract.ID);
            var disposed       = ExtractValue <bool>(data, _powerupContract.Disposed);
            var positionOffset = new Vector2(_initializationData.Configuration.HealthPackConfiguration.WIDTH * .5, _initializationData.Configuration.HealthPackConfiguration.HEIGHT * .5);
            var position       = new Vector2(ExtractValue <double>(data, _powerupContract.PositionX), ExtractValue <double>(data, _powerupContract.PositionY)) + positionOffset;
            var powerupType    = (PowerupType)ExtractValue <int>(data, _powerupContract.Type);
            var movementData   = new MovementData()
            {
                Position = position,
                Rotation = 0
            };
            var lifeData = new LifeData()
            {
                Alive  = true,
                Health = 0,
            };

            powerup.Id       = id;
            powerup.Disposed = disposed;
            powerup.Type     = powerupType;
            powerup.Movement = movementData;
            powerup.Life     = lifeData;

            if (powerupType == PowerupType.HealthPack)
            {
                powerup.Width  = _initializationData.Configuration.HealthPackConfiguration.WIDTH;
                powerup.Height = _initializationData.Configuration.HealthPackConfiguration.HEIGHT;
                powerup.Height = _initializationData.Configuration.HealthPackConfiguration.LIFE_SPAN;
            }
        }
Exemple #2
0
    public void PickupPowerup(PowerupData powerup)
    {
        _source.PlayOneShot(_pickupSound);

        switch (powerup.PowerupType)
        {
        case PowerUpTypes.Burst:
        case PowerUpTypes.Laser:
        case PowerUpTypes.Spread:
            PowerUp          = powerup;
            _powerupDuration = powerup.DurationInBeats;
            break;

        case PowerUpTypes.Super:
            HasSuper = true;
            break;

        case PowerUpTypes.Shield:
            _shield.SetActive(true);
            ShieldDuration = powerup.DurationInBeats;
            break;

        case PowerUpTypes.TempoUp:
            break;

        case PowerUpTypes.TempoDown:
            break;
        }
    }
Exemple #3
0
 public void NewPowerup(PowerupData powerupData, Buff buff, Vector2 targetSize, float duration)
 {
     this.powerupData     = powerupData;
     this.buff            = buff;
     powerupDiplay.sprite = powerupData.image;
     StartCoroutine(ResetDisplay(targetSize, duration));
 }
Exemple #4
0
    // BUTTON BUFF IMAGE
    public void ChangeImageBothEquip(PowerupData data)
    {
        isBoosterIsInUse(true);
        ChangePseudoImage(data.spritePowerUp);

        MainMenuController.Instance.isBoosterIsInUse(true);
        MainMenuController.Instance.ChangeSelectedBuffImage(data.spritePowerUp);
    }
 //  METHODS
 public void powerupHandler(PowerupData powerupData, Buff buff)
 {
     if (notifTextActive)
     {
         StopAllCoroutines();        // Should be fine. change if more coroutines get added.
     }
     StartCoroutine(notifTextRoutine(powerupData));
 }
        public PayloadData DecompressPayload(JArray data)
        {
            var ships     = new List <ShipData>();
            var shipsData = (JArray)data[_payloadContract.Ships];

            for (var i = 0; i < shipsData.Count; i++)
            {
                var shipData = (JArray)shipsData[i];
                var ship     = new ShipData();
                DecompressIntoShip(shipData, ship);
                ships.Add(ship);
            }

            var bullets     = new List <BulletData>();
            var bulletsData = (JArray)data[_payloadContract.Bullets];

            for (var i = 0; i < bulletsData.Count; i++)
            {
                var bulletData = (JArray)bulletsData[i];
                var bullet     = new BulletData();
                DecompressIntoBullet(bulletData, bullet);
                bullets.Add(bullet);
            }

            var powerups     = new List <PowerupData>();
            var powerupsData = (JArray)data[_payloadContract.Powerups];

            for (var i = 0; i < powerupsData.Count; i++)
            {
                var powerupData = (JArray)powerupsData[i];
                var powerup     = new PowerupData();
                DecompressIntoPowerup(powerupData, powerup);
                powerups.Add(powerup);
            }

            var experience            = ExtractValue <int>(data, _payloadContract.Experience);
            var experienceToNextLevel = ExtractValue <int>(data, _payloadContract.ExperienceToNextLevel);
            var kills         = ExtractValue <int>(data, _payloadContract.Kills);
            var deaths        = ExtractValue <int>(data, _payloadContract.Deaths);
            var killedByName  = ExtractValue <string>(data, _payloadContract.KilledByName);
            var killedByPhoto = ExtractValue <string>(data, _payloadContract.KilledByPhoto);

            var payload = new PayloadData()
            {
                Ships                 = ships,
                Bullets               = bullets,
                Powerups              = powerups,
                Experience            = experience,
                ExperienceToNextLevel = experienceToNextLevel,
                Kills                 = kills,
                Deaths                = deaths,
                KilledByName          = killedByName,
                KilledByPhoto         = killedByPhoto,
            };

            return(payload);
        }
    // COROUTINES
    IEnumerator notifTextRoutine(PowerupData pData)
    {
        notifTextActive         = true;
        playerUI_NotifText.text = "Got Power-up!\n" + pData.name;
        yield return(new WaitForSeconds(showForSeconds));

        playerUI_NotifText.text = "";
        notifTextActive         = false;
    }
Exemple #8
0
    private void AddPowerupButton(PowerupData powerupData)
    {
        GameObject    obj           = GameManager.Instance.Game.GetPool().InstantiateObject("Powerup_" + powerupData.Type.ToString(), Container);
        PowerupButton powerupButton = obj.GetComponent <PowerupButton>();

        _buttons.Add(powerupButton);
        obj.transform.localPosition = Positions[_buttons.Count - 1].localPosition;
        powerupButton.InitPowerup(this, powerupData);
    }
 public void InitPowerup(PowerupsPanel panel, PowerupData data)
 {
     _panel = panel;
     _powerup.InitPowerup(data.Level);
     _maxAmount = _powerup.GetMaxMana();
     SetAmountForce(0);
     UpdatePowerupView(data.Level);
     UpdateUseButton();
     UnselectForce();
 }
Exemple #10
0
    // BUFF
    public void InitPopConfirm(PowerupData buffData, System.Action actBuy, System.Action actExit = null)
    {
        this.gameObject.SetActive(true);

        SetDelegate(actBuy, actExit);

        SetConfirmPopup(buffData);

        EssentialData.popupState = EnumData.PopupState.on;
    }
Exemple #11
0
    public void Select(PowerupData _powerup)
    {
        if (selected)
        {
            selected.UnSelect();
        }
        selected = _powerup;
        selected.Select(Message);

        UpdateMessage();
    }
Exemple #12
0
    public void Select(PowerupData _powerup)
    {
        if(selected)
        {
            selected.UnSelect();
        }
        selected = _powerup;
        selected.Select(Message);

        UpdateMessage();
    }
Exemple #13
0
    void SetConfirmPopup(PowerupData confirmData)
    {
        goldShell.SetActive(true);

        txtConfirm.text = stringPurchase + " " + confirmData.powerupName + "?";

        string goldString = confirmData.powerupPrice.ToString("N0");

        txtConfirmPrice.text = goldString;

        SetConfirmImage(confirmData.spritePowerUp);
    }
Exemple #14
0
    public void BuffSelected(PowerupData data)
    {
        selectedData = data;

        if (!string.IsNullOrEmpty(selectedData.powerupId))
        {
            ShowPanelSelected();

            selectedBuffName.text = data.powerupName;
            selectedBuffDesc.text = data.powerupDescription;
            ChangeSelectedBuffImage(data.spritePowerUp);
        }
    }
Exemple #15
0
    public override void OnSetPage()
    {
        CoinsCounter.Instance.AnimateIn();

        selected = null;

        foreach (PowerupData powerup in powerups)
        {
            powerup.UnSelect();
            powerup.UpdateVisual();
        }

        Message.text    = DefaultText;
        MessageBuy.text = "";
    }
Exemple #16
0
    public override void OnSetPage()
    {
        CoinsCounter.Instance.AnimateIn();

        selected = null;

        foreach(PowerupData powerup in powerups)
        {
            powerup.UnSelect();
            powerup.UpdateVisual();
        }

        Message.text = DefaultText;
        MessageBuy.text = "";
    }
Exemple #17
0
    public void SetItemData(PowerupData data)      // data item buff
    {
        buffData = data;
        DefaultConditionItem();

        if (!string.IsNullOrEmpty(buffData.powerupId))
        {
            buffName.text = buffData.powerupName;

            SetImageBuff(buffData.spritePowerUp);

//			buffShellIcon.SetActive (true);
            buffPrice.text = buffData.powerupPrice.ToString("N0");
        }
    }
Exemple #18
0
    void SetShopData(string jsonText)
    {
        var jsonData = Json.Deserialize(jsonText) as Dictionary <string, object>;
        Dictionary <string, object> data = null;

        if (NetworkConfig.IsUsingEncryption)
        {
            var enc = jsonData [TAG_DATA] as string;
            data = Json.Deserialize(AES.Decrypt(enc)) as Dictionary <string, object>;
        }
        else
        {
            data = jsonData[TAG_DATA] as Dictionary <string, object>;
        }

        //Load shop gold data
        listShopGold.Clear();
        var shopGolds = data[TAG_SHOP_GOLD] as List <object>;

        for (int i = 0; i < shopGolds.Count; i++)
        {
            var          rawData   = shopGolds[i] as Dictionary <string, object>;
            ShopGoldData sGoldData = new ShopGoldData(rawData);
            listShopGold.Add(sGoldData);
        }

        //Load Shop Skin
        listShopSkin.Clear();
        var shopSkins = data[TAG_SHOP_SKIN] as List <object>;

        for (int i = 0; i < shopSkins.Count; i++)
        {
            var          rawData   = shopSkins[i] as Dictionary <string, object>;
            ShopSkinData sSkinData = new ShopSkinData(rawData);
            listShopSkin.Add(sSkinData);
        }

        //Load Shop Buff
        listShopBuff.Clear();
        var shopBuffs = data[TAG_SHOP_BUFF] as List <object>;

        for (int i = 0; i < shopBuffs.Count; i++)
        {
            var         rawData = shopBuffs[i] as Dictionary <string, object>;
            PowerupData puData  = new PowerupData(rawData);
            listShopBuff.Add(puData);
        }
    }
    public void AddPowerup(PowerupData powerupData, Buff buff)
    {
        StopAllCoroutines();
        RectTransform newPowerup;

        if (inactivePool.childCount > 0)
        {
            newPowerup = inactivePool.GetChild(0).GetComponent <RectTransform>();
            newPowerup.SetParent(activePool, false);
        }
        else
        {
            newPowerup = activePool.GetChild(0).GetComponent <RectTransform>();
        }
        newPowerup.SetAsLastSibling();
        newPowerup.position = new Vector3((rectTransform.position.x - (size.width - size.height) / 2) + TargetPosition(activePool.childCount - 1) * ((size.width - size.height) / (numToDisplay - 3.5f)), rectTransform.position.y, rectTransform.position.z);
        newPowerup.GetComponent <PowerupDisplayUI>().NewPowerup(powerupData, buff, new Vector2(size.height, size.height), AnimationDuration);
        UpdateDisplaysPositions();
    }
Exemple #20
0
        protected override JobHandle OnUpdate(JobHandle inputDeps)
        {
            var   ecb = m_ecbSystem.CreateCommandBuffer().ToConcurrent();
            float r   = m_random.NextFloat(0.0f, 1.0f);

            JobHandle jobHandle = Entities
                                  .WithAll <BrickTag>()
                                  .ForEach((Entity entity, int entityInQueryIndex, in Level level, in Translation translation) =>
            {
                if (level.m_level == 0)
                {
                    ecb.DestroyEntity(entityInQueryIndex, entity);

                    if (r < GameConfig.k_multiball10Value)
                    {
                        Entity powerupRequest = ecb.CreateEntity(entityInQueryIndex);
                        PowerupData powerup   = new PowerupData {
                            m_powerup = PowerupType.None, m_context = 0.0f
                        };

                        if (r <= GameConfig.k_paddleSpeedUpValue)
                        {
                            powerup = new PowerupData {
                                m_powerup = PowerupType.PaddleSpeed, m_context = GameConfig.k_paddleSpeedMultiplier
                            };
                        }
                        else if (r <= GameConfig.k_ballSpeedUpValue)
                        {
                            powerup = new PowerupData {
                                m_powerup = PowerupType.BallSpeed, m_context = GameConfig.k_ballSpeedMultiplier
                            };
                        }
                        else if (r <= GameConfig.k_ballSpeedDownValue)
                        {
                            powerup = new PowerupData {
                                m_powerup = PowerupType.BallSpeed, m_context = 1.0f / GameConfig.k_ballSpeedMultiplier
                            };
                        }
                        else if (r <= GameConfig.k_multiball1Value)
                        {
                            powerup = new PowerupData {
                                m_powerup = PowerupType.Multiball, m_context = 1.0f
                            };
                        }
                        else if (r <= GameConfig.k_multiball2Value)
                        {
                            powerup = new PowerupData {
                                m_powerup = PowerupType.Multiball, m_context = 2.0f
                            };
                        }
                        else if (r <= GameConfig.k_multiball3Value)
                        {
                            powerup = new PowerupData {
                                m_powerup = PowerupType.Multiball, m_context = 3.0f
                            };
                        }
                        else if (r <= GameConfig.k_multiball5Value)
                        {
                            powerup = new PowerupData {
                                m_powerup = PowerupType.Multiball, m_context = 5.0f
                            };
                        }
                        else if (r <= GameConfig.k_multiball10Value)
                        {
                            powerup = new PowerupData {
                                m_powerup = PowerupType.Multiball, m_context = 10.0f
                            };
                        }

                        ecb.AddComponent(entityInQueryIndex, powerupRequest,
                                         new PowerupSpawnRequest
                        {
                            m_powerup  = powerup,
                            m_position = new float2(translation.Value.x, translation.Value.y)
                        });
                    }
                }
            })
    private void OnEnable()
    {
        Data = _possiblePowerups[Random.Range(0, _possiblePowerups.Length)];

        GetComponent <SpriteRenderer>().sprite = Data.Icon;
    }