Advertisement
Guest User

Untitled

a guest
Jul 8th, 2014
203
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.15 KB | None | 0 0
  1. public class Door : MonoBehaviour {
  2.  
  3.     public float translateValue;
  4.     public float easeTime;
  5.     public OTween.EaseType ease;
  6.     public float waitTime;
  7.    
  8.     private Vector3 StartlocalPos;
  9.     private Vector3 endlocalPos;
  10.    
  11.     private void Start(){
  12.         StartlocalPos = transform.localPosition;   
  13.         gameObject.isStatic = false;
  14.     }
  15.        
  16.     public void OpenDoor(){
  17.         OTween.ValueTo( gameObject,ease,0.0f,-translateValue,easeTime,0.0f,"StartOpen","UpdateOpenDoor","EndOpen");
  18.         audio.Play();
  19.     }
  20.    
  21.     private void UpdateOpenDoor(float f){      
  22.         Vector3 pos = transform.TransformDirection( new Vector3( 1,0,0));
  23.         transform.localPosition = StartlocalPos + pos*f;
  24.        
  25.     }
  26.  
  27.     private void UpdateCloseDoor(float f){     
  28.         Vector3 pos = transform.TransformDirection( new Vector3( -f,0,0)) ;
  29.        
  30.         transform.localPosition = endlocalPos-pos * f;
  31.        
  32.     }
  33.    
  34.     private void EndOpen(){
  35.         endlocalPos = transform.localPosition ;
  36.         StartCoroutine( WaitToClose());
  37.     }
  38.    
  39.     private IEnumerator WaitToClose(){
  40.        
  41.         yield return new WaitForSeconds(waitTime);
  42.         OTween.ValueTo( gameObject,ease,0.0f,translateValue,easeTime,0.0f,"StartClose","UpdateCloseDoor","EndClose");
  43.         audio.Play();
  44.     }
  45. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement