void Awake () { GameManager.getGameManager().addResetter(this); r_HP = HP; r_FireRate = FireRate; r_Damage = Damage; r_Ammo = Ammo; r_Speed = Speed; r_Attdist = Attdist; // Angriffsdistanz r_Sightdist = Sightdist; // Sichtweite r_Target = Target; r_steeringtype = steeringtype; r_BulletPrefab = BulletPrefab; r_lastFireTime = lastFireTime; r_myBattleStatus = myBattleStatus; r_pastBattleStatus = pastBattleStatus; r_position = this.rigidbody2D.position; r_dreh = this.rigidbody2D.rotation; }
void setType() { change = steeringType; if (steeringType == SteeringType.Move) { Cursor.lockState = CursorLockMode.Locked; } else if (steeringType == SteeringType.Balance) { Cursor.lockState = CursorLockMode.None; } else {} }
void Start() { heightSensor = sensor.transform; shipTransform = GetComponent<Transform>(); change = steeringType; setType(); }
public void Reset () { HP = r_HP; FireRate = r_FireRate; Damage = r_Damage; Ammo = r_Ammo; Speed = r_Speed; Attdist = r_Attdist; // Angriffsdistanz Sightdist = r_Sightdist; // Sichtweite Target = r_Target; steeringtype = r_steeringtype; BulletPrefab = r_BulletPrefab; lastFireTime = r_lastFireTime; myBattleStatus = r_myBattleStatus; pastBattleStatus = r_pastBattleStatus; this.rigidbody2D.MovePosition(r_position); this.rigidbody2D.MoveRotation(r_dreh); Velocity = Vector2.zero; angularVelocity = 0; }
// Adds a specific Steering if it's not already contained public void AddSteering(SteeringType Type) { if (!Behaviours.ContainsKey(Type)) { switch (Type) { case SteeringType.Align: Behaviours.Add(Type, new Align()); break; case SteeringType.AntiAlign: Behaviours.Add(Type, new AntiAlign()); break; case SteeringType.Arrive: Behaviours.Add(Type, new Arrive()); break; case SteeringType.Flee: Behaviours.Add(Type, new Flee()); break; case SteeringType.Seek: Behaviours.Add(Type, new Seek()); break; case SteeringType.VelocityMatching: Behaviours.Add(Type, new VelocityMatching()); break; case SteeringType.Evade: Behaviours.Add(Type, new Evade()); break; case SteeringType.Face: Behaviours.Add(Type, new Face()); break; case SteeringType.LookWhereYouGoing: Behaviours.Add(Type, new LookWhereYouGoing()); break; case SteeringType.ObstacleAvoidance: ObstacleAvoidance O = new ObstacleAvoidance(); O.World = Collider.World; Behaviours.Add(Type, O); break; case SteeringType.PathFollowing: Behaviours.Add(Type, new PathFollowing()); break; case SteeringType.Pursue: Behaviours.Add(Type, new Pursue()); break; case SteeringType.Wander: Behaviours.Add(Type, new Wander()); break; case SteeringType.Alignment: Behaviours.Add(Type, new Alignment()); break; case SteeringType.Cohesion: Behaviours.Add(Type, new Cohesion()); break; case SteeringType.Separation: Behaviours.Add(Type, new Separation()); break; default: break; } } }
//目前的行为是否有这个状态 private bool On(SteeringType type) { int value = (int)type; return((m_flags & value) == value); }
public static Car CreateCar(CarType type, string brand, int numberOfSeats, int numberOfWheels, ColorType color, SteeringType steeringType) { Car carToReturn = null; ISteering steering = null; // Hvilken styring skal bruges switch (steeringType) { case SteeringType.SteeringWheel: steering = new SteeringWheel(); break; case SteeringType.Brain: steering = new Brain(); break; case SteeringType.Joystick: steering = new Joystick(); break; default: throw new Exception("SteeringType ikke valgt korrekt"); } // Hvilken biltype switch (type) { case CarType.Personal: carToReturn = new Personal(brand, numberOfSeats, numberOfWheels, color, steering); break; case CarType.SUV: carToReturn = new SUV(brand, numberOfSeats, numberOfWheels, color, steering); break; case CarType.Van: carToReturn = new Van(brand, numberOfSeats, numberOfWheels, color, steering); break; case CarType.Truck: carToReturn = new Truck(brand, numberOfSeats, numberOfWheels, color, steering); break; default: throw new Exception("CarType ikke valgt korrekt"); } return(carToReturn); }