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); } ); }
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); }
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); }); } }
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); }