Esempio n. 1
0
    public void PlayAddAnimation(float xx, float yy)
    {
        float delay = 0.1f;

        if (Consts.SHOW_ADD_POINTS_ANIMATION)
        {
            Vector3    startPos = transform.parent.transform.InverseTransformPoint(new Vector3(xx, yy, 0));
            Vector3    endPos   = transform.parent.transform.InverseTransformPoint(transform.position); // + new Vector3(-150.0f, RESOURCES_EFFECT_OFFSET - ((colorType - 1) * RESOURCES_EFFECT_OFFSET), 0.0f);
            GameObject effect   = GameObject.Instantiate(CollectEffect, Vector3.zero, Quaternion.identity) as GameObject;
            effect.transform.SetParent(transform.parent.transform, false);
            effect.transform.localPosition = startPos;
            List <Vector3> path = GameManager.Instance.GameData.XMLSplineData[String.Format("chip_get_{0}", UnityEngine.Random.Range(1, 4))];

            MoveSplineAction splineMover = new MoveSplineAction(effect, path, startPos, endPos, Consts.ADD_POINTS_EFFECT_TIME);
            _worker.AddParalelAction(splineMover);
            delay = Consts.ADD_POINTS_EFFECT_TIME;
            GameObject.Destroy(effect, Consts.ADD_POINTS_EFFECT_TIME + 0.1f);
        }

        GameObject obj = AText.gameObject;

        LeanTween.cancel(obj);
        LeanTween.scale(obj, new Vector3(1.5f, 1.5f, 1), 0.3f)
        .setDelay(delay)
        .setOnComplete(
            () => {
            LeanTween.scale(obj, Vector3.one, 0.3f);
        }
            );
    }
Esempio n. 2
0
 public int AddManaForBump(SSlot slot, SPipe pipe, int mana, int color)
 {
     for (int i = 0; i < _buttons.Count; ++i)
     {
         int addedMana = _buttons[i].AddMana(mana, color);
         if (addedMana > 0)
         {
             mana -= addedMana;
             Vector3    startPos = transform.parent.transform.InverseTransformPoint(slot.transform.position);
             Vector3    endPos   = transform.parent.transform.parent.InverseTransformPoint(_buttons[i].transform.position);
             GameObject effect   = GameObject.Instantiate(CollectManaEffect, Vector3.zero, Quaternion.identity) as GameObject;
             effect.transform.SetParent(transform.parent.transform, false);
             effect.transform.localPosition = startPos;
             List <Vector3>   path        = GameManager.Instance.GameData.XMLSplineData[String.Format("chip_get_{0}", UnityEngine.Random.Range(1, 4))];
             MoveSplineAction splineMover = new MoveSplineAction(effect, path, startPos, endPos, Consts.ADD_POINTS_EFFECT_TIME);
             _worker.AddParalelAction(splineMover);
             GameObject.Destroy(effect, Consts.ADD_MANA_EFFECT_TIME + 0.1f);
         }
         if (mana <= 0)
         {
             break;
         }
     }
     return(mana);
 }
Esempio n. 3
0
    void OnReachMaxPipeLevel(EventData e)
    {
        if (GameBoard.GameType != EGameType.Leveled)
        {
            return;
        }
        float amount  = GameManager.Instance.BoardData.StarsGained;
        bool  isforce = false;

        if (e.Data.ContainsKey("isforce"))
        {
            isforce = (bool)e.Data["isforce"];
        }
        if (isforce)
        {
            LeanTween.cancel(AGameObject);
            SetAmountForce(amount);
        }
        else
        {
            SetAmount(amount);
        }
        if (Consts.SHOW_ADD_POINTS_ANIMATION)
        {
            Vector3 startPos = new Vector3((float)e.Data["x"], (float)e.Data["y"], 0);
            startPos = transform.parent.transform.InverseTransformPoint(startPos);
            Vector3    endPos = transform.parent.transform.InverseTransformPoint(transform.position); // + new Vector3(-150.0f, RESOURCES_EFFECT_OFFSET - ((colorType - 1) * RESOURCES_EFFECT_OFFSET), 0.0f);
            GameObject effect = GameObject.Instantiate(_effectPrefabs[UnityEngine.Random.Range(0, _effectPrefabs.Length)], Vector3.zero, Quaternion.identity) as GameObject;
            effect.transform.SetParent(transform.parent.transform, false);
            effect.transform.localPosition = startPos;
            List <Vector3> path = GameManager.Instance.GameData.XMLSplineData[String.Format("chip_get_{0}", UnityEngine.Random.Range(1, 4))];

            MoveSplineAction splineMover = new MoveSplineAction(effect, path, startPos, endPos, Consts.ADD_POINTS_EFFECT_TIME);
            _worker.AddParalelAction(splineMover);

            GameObject.Destroy(effect, Consts.ADD_POINTS_EFFECT_TIME + 0.1f);

            LeanTween.delayedCall(AGameObject, Consts.ADD_POINTS_EFFECT_TIME, () =>
            {
                SetAmountForce(amount);
            });
        }
    }
Esempio n. 4
0
    public void Collect(SSlot slot, int pipeColor, int toCollect)
    {
        if (IsFull())
        {
            return;
        }
        SetAmount(GetAmount() + toCollect);
        Vector3    startPos = transform.parent.transform.InverseTransformPoint(slot.transform.position);
        Vector3    endPos   = transform.parent.transform.parent.InverseTransformPoint(transform.position);
        GameObject effect   = GameObject.Instantiate(CollectEffect, Vector3.zero, Quaternion.identity) as GameObject;

        effect.transform.SetParent(transform.parent.transform, false);
        effect.transform.localPosition = startPos;
        List <Vector3>   path        = GameManager.Instance.GameData.XMLSplineData[String.Format("chip_get_{0}", UnityEngine.Random.Range(1, 4))];
        MoveSplineAction splineMover = new MoveSplineAction(effect, path, startPos, endPos, Consts.ADD_POINTS_EFFECT_TIME);

        _worker.AddParalelAction(splineMover);
        GameObject.Destroy(effect, Consts.ADD_MANA_EFFECT_TIME + 0.1f);
    }