Beispiel #1
0
	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;
	}
Beispiel #2
0
 void setType()
 {
     change = steeringType;
     if (steeringType == SteeringType.Move) {
         Cursor.lockState = CursorLockMode.Locked;
     } else if (steeringType == SteeringType.Balance) {
         Cursor.lockState = CursorLockMode.None;
     } else {}
 }
Beispiel #3
0
 void Start()
 {
     heightSensor = sensor.transform;
     shipTransform = GetComponent<Transform>();
     change = steeringType;
     setType();
 }
Beispiel #4
0
	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;
		 
	}
Beispiel #5
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;
                }
            }
        }
Beispiel #6
0
        //目前的行为是否有这个状态
        private bool On(SteeringType type)
        {
            int value = (int)type;

            return((m_flags & value) == value);
        }
Beispiel #7
0
        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);
        }