Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using UnityEngine;
- using System.Collections;
- using System.IO;
- public class HingeDoor : SavableStaticInstance
- {
- public float m_fMotorForce = 10.0f;
- public float m_fTargetVelocity = 300.0f;
- public bool m_bUsable = true;
- public bool m_bStartOpen = false;
- JointMotor openMotor;
- JointMotor closeMotor;
- bool m_bOpen = false;
- public void Start()
- {
- openMotor = new JointMotor();
- openMotor.targetVelocity = -m_fTargetVelocity;
- openMotor.force = m_fMotorForce;
- openMotor.freeSpin = false;
- closeMotor = new JointMotor();
- closeMotor.targetVelocity = m_fTargetVelocity;
- closeMotor.force = m_fMotorForce;
- closeMotor.freeSpin = false;
- gameObject.hingeJoint.motor = m_bStartOpen ? openMotor : closeMotor;
- m_bOpen = m_bStartOpen;
- }
- public void Use()
- {
- if (m_bUsable)
- {
- Activate();
- }
- }
- void Activate()
- {
- if (m_bOpen)
- {
- gameObject.hingeJoint.motor = closeMotor;
- m_bOpen = false;
- }
- else
- {
- gameObject.hingeJoint.motor = openMotor;
- m_bOpen = true;
- }
- }
- override public void Serialize(FileStream file)
- {
- WriteBool(m_bOpen, file);
- }
- override public void Deserialize(FileStream file)
- {
- m_bOpen = ReadBool(file);
- gameObject.hingeJoint.motor = m_bOpen ? openMotor : closeMotor;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement