Advertisement
MaGuSware2012

Untitled

Dec 23rd, 2012
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.29 KB | None | 0 0
  1. using UnityEngine;
  2. using System.Collections;
  3. using System.IO;
  4.  
  5. public class HingeDoor : SavableStaticInstance
  6. {
  7.     public float m_fMotorForce = 10.0f;
  8.     public float m_fTargetVelocity = 300.0f;
  9.     public bool m_bUsable = true;
  10.     public bool m_bStartOpen = false;
  11.  
  12.     JointMotor openMotor;
  13.     JointMotor closeMotor;
  14.     bool m_bOpen = false;
  15.    
  16.     public void Start()
  17.     {
  18.         openMotor = new JointMotor();
  19.         openMotor.targetVelocity = -m_fTargetVelocity;
  20.         openMotor.force = m_fMotorForce;
  21.         openMotor.freeSpin = false;
  22.        
  23.         closeMotor = new JointMotor();
  24.         closeMotor.targetVelocity = m_fTargetVelocity;
  25.         closeMotor.force = m_fMotorForce;
  26.         closeMotor.freeSpin = false;
  27.        
  28.         gameObject.hingeJoint.motor = m_bStartOpen ? openMotor : closeMotor;
  29.         m_bOpen = m_bStartOpen;
  30.     }
  31.  
  32.     public void Use()
  33.     {
  34.         if (m_bUsable)
  35.         {
  36.             Activate();
  37.         }
  38.     }
  39.    
  40.     void Activate()
  41.     {
  42.         if (m_bOpen)
  43.         {
  44.             gameObject.hingeJoint.motor = closeMotor;
  45.             m_bOpen = false;
  46.         }
  47.         else
  48.         {
  49.             gameObject.hingeJoint.motor = openMotor;
  50.             m_bOpen = true;
  51.         }  
  52.     }
  53.    
  54.     override public void Serialize(FileStream file)
  55.     {
  56.         WriteBool(m_bOpen, file);  
  57.     }
  58.    
  59.     override public void Deserialize(FileStream file)
  60.     {
  61.         m_bOpen = ReadBool(file);
  62.         gameObject.hingeJoint.motor = m_bOpen ? openMotor : closeMotor;
  63.     }
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement