MapObjectScaler.cs 742 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. using UnityEngine;
  2. using System.Collections;
  3. public class MapObjectScaler : MonoBehaviour {
  4. private float scale;
  5. private float speed = 0.01f;
  6. void Update ()
  7. {
  8. Vector3 localScale = transform.localScale;
  9. bool done = false;
  10. float s = 0;
  11. if(localScale.x > scale)
  12. {
  13. s = localScale.x - speed;
  14. if(s < scale)
  15. {
  16. s = scale;
  17. done = true;
  18. }
  19. }
  20. else
  21. {
  22. s = localScale.x + speed;
  23. if(s > scale)
  24. {
  25. s = scale;
  26. done = true;
  27. }
  28. }
  29. localScale.x = s;
  30. localScale.y = s;
  31. localScale.z = s;
  32. transform.localScale = localScale;
  33. if(done)
  34. Destroy(this);
  35. }
  36. public static void Scale(MapObject mapObj, float scale)
  37. {
  38. mapObj.gameObject.AddComponent<MapObjectScaler>().scale = scale;
  39. }
  40. }