public static Model[] GetModelsFromType(TrenchType type) { switch (type) { case TrenchType.Platform: return(TrenchPlatform); case TrenchType.Straight: return(TrenchStraight); case TrenchType.T: return(TrenchT); case TrenchType.Intersection: return(TrenchIntersection); case TrenchType.Elbow: return(TrenchElbow); default: return(TrenchPlatform); } }
static Vector3[] calculateTurretDelta(float rotation, Vector3 delta1, Vector3 delta2, TrenchType type) { Vector3[] deltas = new Vector3[] { Vector3.Zero, Vector3.Zero }; switch (rotation) { case 0f: deltas[0] = new Vector3(delta1.X, delta1.Y, delta1.Z); deltas[1] = new Vector3(delta2.X, delta2.Y, delta2.Z); break; case 90f: deltas[0] = new Vector3(delta1.Z, delta1.Y, -delta1.X); deltas[1] = new Vector3(delta2.Z, delta2.Y, -delta2.X); break; case 180f: deltas[0] = new Vector3(-delta1.X, delta1.Y, -delta1.Z); deltas[1] = new Vector3(-delta2.X, delta2.Y, -delta2.Z); break; case 270f: switch (type) { case TrenchType.Straight: deltas[0] = new Vector3(delta1.Z, delta1.Y, -delta1.X); deltas[1] = new Vector3(delta2.Z, delta2.Y, -delta2.X); break; case TrenchType.T: deltas[0] = new Vector3(-delta1.Z, delta1.Y, delta1.X); deltas[1] = new Vector3(-delta2.Z, delta2.Y, delta2.X); break; case TrenchType.Elbow: deltas[0] = new Vector3(-delta1.Z, delta1.Y, delta1.X); deltas[1] = new Vector3(-delta2.Z, delta2.Y, delta2.X); break; default: deltas[0] = new Vector3(delta1.Z, delta1.Y, -delta1.X); deltas[1] = new Vector3(delta2.Z, delta2.Y, -delta2.X); break; } break; } return(deltas); }
public Trench(TrenchType t, float r) { Game = TGCGame.Instance; Type = t; Rotation = r; }