示例#1
0
 public override string ToString() => String.Format("Color: {0} RepeatU: {1} RepeatV: {2} OffsetU: {3} OffsetV: {4} " +
                                                    "Rotation: {5} Bump: {6} Shiny: {7} Fullbright: {8} Mapping: {9} Media: {10} Glow: {11} ID: {12} MaterialID: {13}",
                                                    TextureColor.ToString(), RepeatU, RepeatV, OffsetU, OffsetV, Rotation, Bump.ToString(), Shiny.ToString(), FullBright, TexMapType.ToString(),
                                                    MediaFlags, Glow, TextureID.ToString(), MaterialID.ToString());
示例#2
0
        private void PlaceNewComp(CompTimePair nextCTP)
        {
            CompsScatteredSoFar++;
            //Shotter.TakeEngineShot();
            var fEngine = ObjectSerializer.DeepCopy(StaticData.EngineManager);

            for (int i = 0; i < 15; i++)
            {
                fEngine.Update(new GameTime());
            }

            Vector2 cPossss = StaticData.EngineManager.CookieRB.PositionXNA2D;
            Vector2 cPos    = fEngine.CookieRB.PositionXNA2D;
            //StaticData.EngineManager.CookieRB.PositionXNACenter2D;
            int       cX   = (int)cPos.X;
            int       cY   = (int)cPos.Y;
            Component cAdd = new Rope(0, 0, 100);
            Vector3   acc  = StaticData.EngineManager.CookieRB.GetAcceleration();

            switch (nextCTP.CType)
            {
            case ComponentType.Cookie:
                break;

            case ComponentType.Frog:
                cAdd = GetFrogPosition();
                break;

            case ComponentType.Blower:
                cAdd = GetBlowerPosition(nextCTP);
                break;

            case ComponentType.Rope:
                break;

            case ComponentType.Bubble:
                cAdd = new Bubble(cX - (int)StaticData.BubbleDimBubble / 2,
                                  cY - (int)StaticData.BubbleDimBubble / 2);
                //GetBubblePosition();
                break;

            case ComponentType.Water:
                break;

            case ComponentType.Rocket:
                int dirR = _rand.Next(8);
                cAdd = new Rocket(cX - (int)StaticData.RocketCarrierHalfSize.X,
                                  cY - (int)StaticData.RocketCarrierHalfSize.Y, (Direction)dirR);
                //GetRocketPosition(nextCTP);
                break;

            case ComponentType.Bump:
                int dirB = _rand.Next(3);
                dirB = dirB == 2 ? 3 : dirB;
                if (dirB == 1 || dirB == 3)
                {
                    var fEngineB = ObjectSerializer.DeepCopy(StaticData.EngineManager);
                    for (int i = 0; i < 25; i++)
                    {
                        fEngineB.Update(new GameTime());
                    }
                    cPos = fEngine.CookieRB.PositionXNA2D;
                    cX   = (int)cPos.X;
                    cY   = (int)cPos.Y;
                }
                cAdd = new Bump(cX - (int)StaticData.BumpHalfSize.X,
                                cY - (int)StaticData.BumpHalfSize.Y, (Direction)dirB);
                //cAdd = GetBumperPosition(nextCTP);
                break;

            case ComponentType.Cracker:
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }
            if (!(cAdd is Rope))
            {
                cAdd.AddSelfToEngine();
                LevelStr += cAdd.ToString();
            }
        }