SingleCharacterScript using UnityEngine; using System.Collections; public class SingleCharacterScript : MonoBehaviour { public class Stuff{ public int bullets; public int grenades; public int rockets; public Stuff(int bul, int gre, int roc) {
bullets = bul;
grenades = gre;
rockets = roc;
}
}
public Stuff myStuff = new Stuff(10, 7, 25); public float speed; public float turnSpeed; public Rigidbody bulletPrefab; public Transform firePosition; public float bulletSpeed;
void Update () {
Movement();
Shoot();
}
void Movement () { float forwardMovement = Input.GetAxis("Vertical") * speed * Time.deltaTime; float turnMovement = Input.GetAxis("Horizontal") * turnSpeed * Time.deltaTime;
transform.Translate(Vector3.forward * forwardMovement);
transform.Rotate(Vector3.up * turnMovement);
}
void Shoot () { if(Input.GetButtonDown("Fire1") && myStuff.bullets > 0)
{
Rigidbody bulletInstance = Instantiate(bulletPrefab, firePosition.position, firePosition.rotation) as Rigidbody;
bulletInstance.AddForce(firePosition.forward * bulletSpeed);
myStuff.bullets--;
}
}
}
Inventory using UnityEngine; using System.Collections; public class Inventory : MonoBehaviour
{ public class Stuff{ public int bullets; public int grenades; public int rockets; public float fuel; public Stuff(int bul, int gre, int roc){
bullets = bul;
grenades = gre;
rockets = roc;
} public Stuff(int bul, float fu){
bullets = bul;
fuel = fu;
} // Constructor public Stuff (){
bullets = 1;
grenades = 1;
rockets = 1;
}
} // Creating an Instance (an Object) of the Stuff class public Stuff myStuff = new Stuff(50, 5, 5); public Stuff myOtherStuff = new Stuff(50, 1.5f); void Start(){
Debug.Log(myStuff.bullets);
}
}
MovementControls using UnityEngine; using System.Collections; public class MovementControls : MonoBehaviour
{ public float speed; public float turnSpeed;
void Update (){
Movement();
}
void Movement (){ float forwardMovement = Input.GetAxis("Vertical") * speed * Time.deltaTime; float turnMovement = Input.GetAxis("Horizontal") * turnSpeed * Time.deltaTime;
transform.Translate(Vector3.forward * forwardMovement);
transform.Rotate(Vector3.up * turnMovement);
}
}
Shooting using UnityEngine; using System.Collections; public class Shooting : MonoBehaviour { public Rigidbody bulletPrefab; public Transform firePosition; public float bulletSpeed;
private Inventory inventory;
void Awake () {
inventory = GetComponent<Inventory>();
}
void Update () {
Shoot();
}
void Shoot () { if(Input.GetButtonDown("Fire1") && inventory.myStuff.bullets > 0)
{
Rigidbody bulletInstance = Instantiate(bulletPrefab, firePosition.position, firePosition.rotation) as Rigidbody;
bulletInstance.AddForce(firePosition.forward * bulletSpeed);
inventory.myStuff.bullets--;
}
}
}
|