using System; using System.Collections; using System.Collections.Generic; using UnityEngine; public class Pile : MonoBehaviour { public int NumLeaves = 0; public GameObject Mesh; public float Height; private float currentScale = 0; private float? initialPop = null; internal float InitialPop { set { if (tween == null) { initialPop = value; } else { Pop(value); } } } // Use this for initialization void Start() { tween = new SimpleTween(); SetPileScale(0); if (initialPop.HasValue) { Pop(initialPop.Value); } } private void SetPileScale(float scale) { currentScale = scale; Vector3 pos = Mesh.transform.position; pos.y = -Height * (1.0f - scale); Mesh.transform.position = pos; float meshScale = scale * 0.5f + 0.5f; Mesh.transform.localScale = new Vector3(meshScale, meshScale, meshScale); } // Update is called once per frame void Update () { } private SimpleTween tween; public void Pop(float pileScale) { initialPop = null; tween.Init(SetPileScale, SimpleTween.QuadEaseOut, currentScale, pileScale, (pileScale - currentScale) * 0.8f); } }