Example #1
0
        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;
 }