public void SetTextP1(string inString1, string inString2)
        {
            FunnyWord.WordInfo wInfo1, wInfo2;
            wInfo1.scale       = 0.54f;
            wInfo2.scale       = 0.54f;
            wInfo1.isCentrePos = true;
            wInfo2.isCentrePos = true;
            wInfo1.position    = Utilities.CGPointMake(150, yPos - 12.0f);
            if (inString2 != "\n")
            {
                wInfo1.position.y = yPos - 28.0f;
                wInfo2.position   = Utilities.CGPointMake(150, yPos + 8.0f);
                (commentLine[1]).InitWithWordP1(wInfo2, inString2);
                (commentLine[1]).Show(1.6f);
            }
            else
            {
                (commentLine[1]).Disappear();
            }

            (commentLine[0]).InitWithWordP1(wInfo1, inString1);
            (commentLine[0]).Show(1);
            for (int i = 0; i < 2; i++)
            {
                (commentLine[i]).SetHideStyle((int)ZobjectHideStyle.kZobjectHide_SlideToTop);
            }
        }
Exemplo n.º 2
0
        public void Setup(AppleWonInfo info)
        {
            timeBetweenApples = info.timeBetweenApples;
            for (int i = 0; i < 3; i++)
            {
                Zobject.ZobjectInfo zInfo = new Zobject.ZobjectInfo();
                zInfo.texture = info.texture;
                float xPos = (((float)i) * info.distanceBetweenApples);
                zInfo.position    = Utilities.CGPointMake(info.position.x + xPos, info.position.y);
                zInfo.isMapObject = false;
                zInfo.startState  = ZobjectState.kZobjectHidden;
                //zInfo.texture= null;
                zInfo.mapScrollPosition = Utilities.CGPointMake(0, 0);

                (apple[i]).Initialise(zInfo);
                (apple[i]).SetShowLagSpeed(0.9f);
                (apple[i]).SetShowStyle(ZobjectShowStyle.kZobjectShow_ZoomAndWobble);
                (apple[i]).SetShowScale(info.appleScale);
                // (apple[i]).SetAtlasAndSubtextureP1(Globals.g_world.GetAtlas(AtlasType.kAtlas_AppleSign),0);
                if (info.soundEffectId != -1)
                {
                    (apple[i]).SetSoundEffectIdAppear((int)info.soundEffectId);
                }

                apple[i].myAtlasBillboard.myObject.layer = LayerMask.NameToLayer("guistuff");
            }
        }
Exemplo n.º 3
0
        public void Show()
        {
            if (hangingButton != null)
            {
                hangingButton.Show(0.5f);
            }

            if (isDisabled)
            {
                isClickable = true;
                isDisabled  = false;
                zobject.SetShowAlpha(1);
            }

            wasPressed = false;
            state      = ButtonState.EActive;
            if (clickStyle == (int)ButtonClickStyle.kButtonClick_Highlight)
            {
                zobject.SetTexture(normalTexture);
            }

            zobject.SetScreenPosition(position);
            zobject.SetState(ZobjectState.kZobjectHidden);
            zobject.Show();
            if (zobjectLabel != null)
            {
                CGPoint labePos = Utilities.CGPointMake(position.x + labelOffset.x, position.y + labelOffset.y);
                zobjectLabel.SetScreenPosition(labePos);
                zobjectLabel.SetState(ZobjectState.kZobjectHidden);
                zobjectLabel.Show();
            }
        }
Exemplo n.º 4
0
        bool IsThisSkidAGoodIdea()
        {
            CGPoint nowPos        = myPig.position;
            CGPoint nowSpeed      = skidDirection;
            float   prevNumThings = 0.0f;
            float   frame         = 5.0f;

            for (int i = 0; i < 9; i++)
            {
                float numThings    = (frame * (frame + 1.0f)) * 0.5f;
                float nowNumThings = numThings;
                numThings    -= prevNumThings;
                prevNumThings = nowNumThings;
                nowPos.x     += (nowSpeed.x * 5.0f);
                nowPos.y     += (nowSpeed.y * 5.0f);
                nowPos.x     += (numThings * skidAcceleration.x);
                nowPos.y     += (numThings * skidAcceleration.y);
                frame        += 5.0f;
                int     whichTargetPoint        = this.GetTargetPointAt(nowPos.y);
                CGPoint nearestPoint            = Utilities.CGPointMake((float)racingLine.GetPoint(whichTargetPoint).x, (float)racingLine.GetPoint(whichTargetPoint).y);
                float   sqrDistance             = Utilities.GetSqrDistanceP1(nowPos, nearestPoint);
                float   kMinSqrDistanceForPoint = 2500.0f;
                if (sqrDistance > kMinSqrDistanceForPoint)
                {
                    return(false);
                }
            }

            return(true);
        }
Exemplo n.º 5
0
        public void UpdateDustCloud()
        {
            if (Globals.g_world.artLevel == 0)
            {
                return;
            }

            const float kDistBetweenClouds = 115.0f;

            distSinceCloud += Utilities.GetABS(xSpeed);
            if (distSinceCloud >= kDistBetweenClouds)
            {
                distSinceCloud -= kDistBetweenClouds;
                ParticleSystemRoss.EffectInfo info = new ParticleSystemRoss.EffectInfo();
                info.type          = EffectType.kEffect_DustCloudTrailWithoutPlayer;
                info.startPosition = position;
                CGPoint normalDirection = Utilities.CGPointMake(0.0f, 1.0f);
                info.startPosition.y -= (normalDirection.y * 15.0f);
                info.startPosition.x -= (normalDirection.x * 15.0f);
                info.velocity         = Utilities.CGPointMake(0.0f, xSpeed * 0.5f);
                if ((int)crossingThingType == (int)CrossingThingType.kCrossingThing_Sheep)
                {
                    info.velocity = Utilities.CGPointMake(0.0f, 1.5f);
                }

                info.player = null;
                (ParticleSystemRoss.Instance()).AddParticleEffect(info);
            }
        }
Exemplo n.º 6
0
        public void ReInit(ZRaceMeterReinitData inData)
        {
            this.SetDefaults();
            useLocator = inData.useLocator;
            raceMeterScreenPosition = inData.raceMeterScreenPosition;
            raceMarkerStartPos      = Utilities.CGPointMake(inData.raceMeterScreenPosition.x + inData.raceMarkersScreenFrom.x, inData.raceMeterScreenPosition.y + inData.
                                                            raceMarkersScreenFrom.y);
            raceMarkerFinishPos = Utilities.CGPointMake(inData.raceMeterScreenPosition.x + inData.raceMarkersScreenTo.x, inData.raceMeterScreenPosition.y + inData.
                                                        raceMarkersScreenTo.y);
            for (int team = 0; team < numTeams; team++)
            {
                markerPosition[team] = ((float)(numTeams - 1 - team)) * markerSize;
                (pMarker[team]).SetShowScale(inData.markerScale);
                overTakingTimer[team] = 0.0f;
                if (useLocator)
                {
                }

                playerPosition[team] = team;
                playerState[team]    = RMPlayerState.kRMPlayer_Free;
            }

            pRaceTrack.SetPosition(inData.raceMeterScreenPosition);
            pRaceTrack.SetShowScale(inData.scale);
            pRaceTrackLowerHalf.SetShowScale(inData.scale);
            zRotation = 0;
        }
Exemplo n.º 7
0
        public void AddToSceneP1(HangingButton.HangingButtonInfo info, FrontEndButton inButt)
        {
            hangingButtonScale = info.hangingButtonScale;
            if (hangingButtonScale <= 0.0f)
            {
                hangingButtonScale = 1.0f;
            }

            wobbleDeclineMultiplier = 1.0f;
            yOffset              = 0.0f;
            myButton             = inButt;
            showWobbleMultiplier = info.showWobbleMultiplier;
            longerRope           = 0.0f;
            baseAngleFromCentre  = Utilities.GetAngleFromXYP1(info.offset.x, info.offset.y);
            baseAngleFromCentre2 = Utilities.GetAngleFromXYP1(-info.offset.x, info.offset.y);
            baseDistance         = Utilities.GetDistanceP1(Utilities.CGPointMake(0, 0), info.offset);
            currentOffset        = info.offset;
            currentOffset2       = info.offset;
            currentOffset2.x     = -currentOffset2.x;
            type          = info.type;
            currentWobble = 0.0f;
            if ((int)type == (int)HangingButtonType.kHB_Rope)
            {
            }
            else
            {
            }

            subTextureId = info.subTextureId;
        }
Exemplo n.º 8
0
        public void SetStartOfRace(RacingBrainInfo info)
        {
            dodgingTractor      = -1;
            timeTilCanSkidAgain = 1.0f;
            skidding            = false;
            inFlock             = false;
            skidDirection       = Utilities.CGPointMake(0, 1);
            closerTargetTimer   = 0.0f;
            myPig       = info.myPig;
            targetPoint = 0;
            this.SetNextTargetPoint();
            desiredSpeed      = Utilities.CGPointMake(0, 0);
            currentSpeed      = 5.0f;
            boostPower        = 0.0f;
            boostTimer        = 0.0f;
            elasticityCounter = 100;
            elasticity        = 0.0f;
            if (myPig.playerId == 3)
            {
                speedOutOfBlocks = 0.066f;
            }
            else if (myPig.playerId == 2)
            {
                speedOutOfBlocks = 0.07f;
            }
            else
            {
                speedOutOfBlocks = 0.073f;
            }

            this.SetDifferentAccelerationP1(speedOutOfBlocks, 1.75f);
        }
Exemplo n.º 9
0
        public void StartEffect_PowerSkid(ParticleSystemRoss.EffectInfo info)
        {
            Particle.ParticleInfo pInfo = new Particle.ParticleInfo();
            pInfo.type          = ParticleType.kParticle_PowerSkid;
            pInfo.hasGravity    = false;
            pInfo.isAnimated    = true;
            pInfo.numAnimFrames = 5;
            pInfo.rotationStart = info.rotation;
            pInfo.velocity      = Utilities.CGPointMake(info.velocity.x, info.velocity.y);
            for (int i = 0; i < 5; i++)
            {
                pInfo.texture[i] = (ParticleSystemRoss.Instance()).GetTexture(ParticleTextureType.kParticleTexture_PowerSkidDustPuff1
                                                                              + i);
            }

            pInfo.timeBetweenAnimFrames[0] = 0.04f;
            pInfo.timeBetweenAnimFrames[1] = 0.04f;
            pInfo.timeBetweenAnimFrames[2] = 0.07f;
            pInfo.timeBetweenAnimFrames[3] = 0.09f;
            pInfo.timeBetweenAnimFrames[4] = 0.11f;
            pInfo.startPosition            = info.startPosition;
            pInfo.alphaStart = 0.5f;
            pInfo.scaleStart = 1;
            pInfo.scaleSpeed = 0.01f;
            Particle particle = (ParticleSystemRoss.Instance()).GetNextFreeParticleP1(ParticleList.t_BeforePlayer, "powerskid");

            if (particle != null)
            {
                particle.Launch_AnimatedParticle(pInfo);
            }

            state = EffectState.e_Inactive;
        }
Exemplo n.º 10
0
        public void UpdateTargetPoint()
        {
            float yDiffToNextPoint;
            float yDistanceInFrontToAimAt;

            if (closerTargetTimer > 0.0f)
            {
                closerTargetTimer      -= Constants.kFrameRate;
                yDistanceInFrontToAimAt = 50.0f;
            }
            else
            {
                yDistanceInFrontToAimAt = 170.0f;
            }

            if (targetPoint < (racingLine.numPoints - 1))
            {
                yDiffToNextPoint = Utilities.GetDistanceP1(Utilities.CGPointMake(racingLine.GetPoint(targetPoint + 1).x, racingLine.GetPoint(targetPoint + 1).y), myPig.
                                                           position);
                if (yDiffToNextPoint < yDistanceInFrontToAimAt)
                {
                    targetPoint++;
                }
            }

            this.SetNextTargetPoint();
        }
Exemplo n.º 11
0
        public void UpdateWordRotation()
        {
            if (orientationButton != null)
            {
                rotationWholeWord = orientationButton.currentRotation;
            }

            if (rotationWholeWord != 0.0f)
            {
                //Globals.g_main.SetGLMatrixMode(GL_MODELVIEW);
                //glLoadIdentity();
                //glScalef(Constants.kScaleForShorts, Constants.kScaleForShorts, 0.0f);
                //glPushMatrix();
                float roatation = rotationWholeWord;
                float yThing    = Globals.g_world.screenHeight;
                float x         = position.x;
                float y         = position.y;
                if (Globals.deviceIPad)
                {
                    x *= 2.0f;
                    x += 64.0f;
                    y *= 2.0f;
                }

                CGPoint tempWordPos     = Utilities.CGPointMake(x, y);
                CGPoint vectorToBasePos = Utilities.CGPointMake(tempWordPos.x, yThing - tempWordPos.y);
                float   baseAngle       = Constants.PI_ - Utilities.GetAngleFromXYP1(vectorToBasePos.x, vectorToBasePos.y);
                CGPoint positionWas     = tempWordPos;
                float   distance        = Utilities.GetDistanceP1(Utilities.CGPointMake(0, yThing), positionWas);
                CGPoint newPosVec       = Utilities.GetVectorFromAngle(baseAngle + roatation);
                newPosVec.x *= distance;
                newPosVec.y *= distance;
                CGPoint positionNow = newPosVec;
                positionNow.y = -positionNow.y;
                CGPoint diff;
                diff.x = positionNow.x - positionWas.x;
                diff.y = positionNow.y - (yThing - positionWas.y);
                //glRotatef((roatation) * (360.0 / (Constants.TWO_PI)), 0, 0, 1);
                //glTranslatef(diff.x * Constants.kScreenMultiplierForShorts, diff.y * Constants.kScreenMultiplierForShorts, 0.0f);
                CGPoint orientationButtonPos = Utilities.CGPointMake((orientationButton.myButton).position.x, (orientationButton.myButton).position.y);
                if (Globals.deviceIPad)
                {
                    orientationButtonPos.x *= 2.0f;
                    orientationButtonPos.x += 64.0f;
                    orientationButtonPos.y *= 2.0f;
                }

                CGPoint startOffset  = Utilities.CGPointMake(tempWordPos.x - orientationButtonPos.x, tempWordPos.y - orientationButtonPos.y);
                float   startAngle   = Utilities.GetAngleFromXYNewP1(startOffset.x, startOffset.y);
                float   offsetLength = Utilities.GetDistanceP1(Utilities.CGPointMake(0, 0), startOffset);
                CGPoint normalAngle  = Utilities.GetVectorFromAngleNew(startAngle - roatation);
                normalAngle.x *= offsetLength;
                normalAngle.y *= offsetLength;
                CGPoint offset;
                offset.x = startOffset.x - normalAngle.x;
                offset.y = startOffset.y - normalAngle.y;
                //glTranslatef(-offset.x * 20.0f, offset.y * 20.0f, 0.0f);
            }
        }
Exemplo n.º 12
0
        public void UpdateGreenAntScreen()
        {
            Particle.ParticleInfo info = new Particle.ParticleInfo();
            info.startPosition = Utilities.CGPointMake(160, 140);
            info.velocity      = Utilities.CGPointMake(0, 1);
            timer += Constants.kFrameRate;
            const float kSpinTime = 2.0f;

            if (timer >= kSpinTime)
            {
                timer -= kSpinTime;
            }

            float radians = Utilities.GetRatioP1P2(timer, 0, kSpinTime) * Constants.TWO_PI * 4.0f;
            float wx      = 3.0f;

            info.velocity = Utilities.CGPointMake((float)(Math.Cos(radians) * wx), (float)(Math.Sin(radians) * wx));
            const float kSideSideTime = 10.0f;

            timer2 += Constants.kFrameRate;
            if (timer2 >= kSideSideTime)
            {
                timer2 = 0.0f;
            }

            info.startPosition.x = 50.0f + (220.0f * Utilities.GetCosInterpolationP1P2(timer2, 0, kSideSideTime));
            for (int i = 0; i < 2; i++)
            {
                Particle particle;
                bool     isAdditive = false;
                if (Utilities.GetRand(9) == 0)
                {
                    particle   = (ParticleSystemRoss.Instance()).GetNextFreeParticleP1(ParticleList.t_AdditiveInFrontOfPlayer, "rainbowstars");
                    isAdditive = true;
                }
                else
                {
                    particle = (ParticleSystemRoss.Instance()).GetNextFreeParticleP1(ParticleList.t_AfterEverything, "rainbowstars");
                }

                if (particle != null)
                {
                    if (i == 1)
                    {
                        info.startPosition.x = 320.0f - info.startPosition.x;
                        info.velocity.x      = -info.velocity.x;
                    }

                    particle.Launch_GreenAntScreen(info);
                    particle.SetIsAdditive(isAdditive);
                }
            }

            if (timer >= 2)
            {
            }

            timer += 0.02f;
        }
Exemplo n.º 13
0
 public static CGPoint GetScreenCentre()
 {
     #if PLAY_HORIZONTAL
     return(Utilities.CGPointMake(240, 160));
     #else
     return(Utilities.CGPointMake(160, 240));
     #endif
 }
Exemplo n.º 14
0
        public void SetupTopLeft()
        {
            position           = Utilities.CGPointMake(20.0f, 20.0f);
            beamPosition       = Utilities.CGPointMake(0.0f, 0.0f);
            startAngleForBeams = -1.25f;
            beamScale          = 2.0f;
//            for (int i = 0; i < (int)Enum.kNumBeams; i++) (beam[i]).SetScale(beamScale);
        }
Exemplo n.º 15
0
        public static CGPoint GetVectorFromAngleNew(float inAngle)
        {
            CGPoint outVector = Utilities.CGPointMake((float)Math.Sin(inAngle), (float)Math.Cos(inAngle));

            {
                outVector.y = -outVector.y;
            }
            return(outVector);
        }
Exemplo n.º 16
0
        }                                                                       ///@property(readwrite,assign) CGPoint bottomRightGround;

//public void SetBottomRight(CGPoint inThing) {bottomRight = inThing;}///@property(readwrite,assign) CGPoint bottomRight;


        public void AddToScene(BuildingInfo info)
        {
            float kSideSpaceRoof   = 0;
            float kTopSpaceRoof    = 0;
            float kBottomSpaceRoof = 0;
            float kSideSpace       = 0;
            float kTopSpace        = 0;
            float kBottomSpace     = 0;

            if ((int)info.inType == (int)BuildingType.kBuilding_SideShed)
            {
                kSideSpaceRoof   = 0.0f;
                kTopSpaceRoof    = -30.0f;
                kBottomSpaceRoof = 0.0f;
                kSideSpace       = 15.0f;
                kTopSpace        = 20.0f;
                kBottomSpace     = 40.0f;
            }
            else if ((int)info.inType == (int)BuildingType.kBuilding_Barn)
            {
                kSideSpaceRoof   = 0.0f;
                kTopSpaceRoof    = -30.0f;
                kBottomSpaceRoof = 0.0f;
                kSideSpace       = 15.0f;
                kTopSpace        = 20.0f;
                kBottomSpace     = 40.0f;
            }
            else if ((int)info.inType == (int)BuildingType.kBuilding_House)
            {
                kSideSpaceRoof   = 0.0f;
                kTopSpaceRoof    = -42.0f;
                kBottomSpaceRoof = 0.0f;
                kSideSpace       = 15.0f;
                kTopSpace        = 8.0f;
                kBottomSpace     = 70.0f;
            }
            else if (((int)info.inType == (int)BuildingType.kBuilding_Skip) || ((int)info.inType == (int)BuildingType.kBuilding_Tent))
            {
                kSideSpaceRoof   = 0.0f;
                kTopSpaceRoof    = -42.0f;
                kBottomSpaceRoof = 0.0f;
                kSideSpace       = 15.0f;
                kTopSpace        = 8.0f;
                kBottomSpace     = 70.0f;
            }
            else
            {
                Globals.Assert(false);
            }

            topLeftRoof       = Utilities.CGPointMake(info.topLeft.x - kSideSpaceRoof, info.topLeft.y + kTopSpaceRoof);
            bottomRightRoof   = Utilities.CGPointMake(info.bottomRight.x + kSideSpaceRoof, info.bottomRight.y + kBottomSpaceRoof);
            topLeftGround     = Utilities.CGPointMake(info.topLeft.x - kSideSpace, info.topLeft.y + kTopSpace);
            bottomRightGround = Utilities.CGPointMake(info.bottomRight.x + kSideSpace, info.bottomRight.y + kBottomSpace);
            type   = info.inType;
            height = 35.0f;
        }
Exemplo n.º 17
0
        public void UpdateRainbowStarTrail()
        {
            CGPoint position       = player.GetPosition();
            CGPoint screenPosition = Utilities.GetScreenPositionP1(position, (Globals.g_world.GetGame()).GetScrollPosition());

            if (!Utilities.IsOnScreen(screenPosition))
            {
                return;
            }

            int howMany;

            if (Globals.g_world.artLevel == 0)
            {
                if ((Globals.g_world.game).numPlayersOnScreen >= 3)
                {
                    if (Utilities.GetRand(2) == 0)
                    {
                        return;
                    }
                }

                howMany = 1;
            }
            else
            {
                howMany = 2;
            }

            for (int i = 0; i < howMany; i++)
            {
                Particle particle;
                bool     isAdditive = false;
                if (Utilities.GetRand(9) == 0)
                {
                    particle   = (ParticleSystemRoss.Instance()).GetNextFreeParticleP1(ParticleList.t_AdditiveInFrontOfPlayer, "rainbowstars");
                    isAdditive = true;
                }
                else
                {
                    particle = (ParticleSystemRoss.Instance()).GetNextFreeParticleP1(ParticleList.t_AfterEverything, "rainbowstars");
                }

                if (particle != null)
                {
                    particle.Launch_RainbowStarTrail(Utilities.CGPointMake(position.x, position.y - 15.0f));
                    particle.SetIsAdditive(isAdditive);
                }
            }

            if (timer >= 2)
            {
            }

            timer += Constants.kFrameRate;
        }
Exemplo n.º 18
0
 public void SetDefaults()
 {
     markerSize          = 0.11f;
     overtakeDistance    = -10;
     zDiffForLeader      = 2.0f;
     overTakeTime        = 0.2f;
     raceMarkerPosOffset = Utilities.CGPointMake(0, 0);
     fMarkerThrobSizeMax = 0.4f;
     fMarkerThrobSizeMin = 0.2f;
 }
Exemplo n.º 19
0
        public void RenderTarget(int i)
        {
            CGPoint pos            = Utilities.CGPointMake(point[i].x, point[i].y);
            CGPoint screenPosition = (Globals.g_world.game).GetScreenPosition(pos);

            if ((Globals.g_world.game).IsOnScreen(screenPosition))
            {
                (DrawManager.Instance()).AddTextureToListP1(screenPosition, 1);
            }
        }
Exemplo n.º 20
0
        public static CGPoint GetPositionBetweenP1P2(float ratio, CGPoint point1, CGPoint point2)
        {
            CGPoint difference = Utilities.CGPointMake(point2.x - point1.x, point2.y - point1.y);

            difference.x *= ratio;
            difference.y *= ratio;
            CGPoint outPoint = Utilities.CGPointMake(point1.x + difference.x, point1.y + difference.y);

            return(outPoint);
        }
Exemplo n.º 21
0
        public void HitByPlayer()
        {
            isSquashed = true;
            int     newSubTextureId = -1;
            CGPoint positionOffset  = Utilities.CGPointMake(0, 0);

            switch (type)
            {
            case FlowerBunchType.kFlowerBunch_Tulips:
            case FlowerBunchType.kFlowerBunch_TulipsWhite:
            case FlowerBunchType.kFlowerBunch_TulipsYellow:
            case FlowerBunchType.kFlowerBunch_TulipsBlue:
                if (((Globals.g_world.game).lBuilder).currentScene == (int)SceneType.kSceneGrass)
                {
                    newSubTextureId = (int)World.Enum3.kGTGrass_TulipsRed_Squashed;
                }
                else
                {
                    newSubTextureId = (int)World.Enum2.kGTMud_TulipsRedOnFloor;
                }

                positionOffset.x = -5.0f;
                positionOffset.y = 5.0f;
                break;

            case FlowerBunchType.kFlowerBunch_Daffodil:
                newSubTextureId = (int)World.Enum3.kGTGrass_Flowers2;
                break;

            case FlowerBunchType.kFlowerBunch_Sunflowers:
                newSubTextureId = (int)World.Enum3.kGTGrass_Flowers2;
                break;

            case FlowerBunchType.kFlowerBunch_JunglePurple:
                //newSubTextureId = kGTJungle_Flowers2;
                break;

            case FlowerBunchType.kFlowerBunch_SavannaBush:
                //newSubTextureId = kGTSavanna_BushFlat;
                break;

            default:
                Globals.Assert(false);
                break;
            }

            if (stillHasMapObject)
            {
                CGPoint oldPosition = ((Globals.g_world.game).GetMapObject(mapObjectId)).position;
                oldPosition.x += positionOffset.x;
                oldPosition.y += positionOffset.y;
                ((Globals.g_world.game).GetMapObject(mapObjectId)).SetSubTextureId(newSubTextureId);
                ((Globals.g_world.game).GetMapObject(mapObjectId)).SetPosition(oldPosition);
            }
        }
Exemplo n.º 22
0
        public void UpdateSpeedBoostStars()
        {
            int howOften;

            if (Globals.g_world.deviceType == (int)UIDevicePlatform.UIDevice3GiPhone)
            {
                howOften = 5;
            }
            else
            {
                howOften = 3;
            }

            if (Utilities.GetRand(howOften) == 0)
            {
                Particle particle = (ParticleSystemRoss.Instance()).GetNextFreeParticleP1(ParticleList.t_WhiteStars, "speedbooststars");
                if (particle != null)
                {
                    Particle.ParticleInfo info = new Particle.ParticleInfo();
                    info.isAdditive       = true;
                    info.type             = ParticleType.kParticle_Generic;
                    info.texture[0]       = (Globals.g_world.GetGame()).GetTexture(TextureType.kTexture_SpeedTrailWhiteStar);
                    info.startPosition    = player.GetPosition();
                    info.startPosition.x += ((float)(Utilities.GetRand(30))) - 15;
                    info.startPosition.y += ((float)(Utilities.GetRand(30))) - 15;
                    info.startPosition.y -= player.GetActualSpeed().y * 1.5f;
                    info.velocity         = Utilities.CGPointMake(player.GetActualSpeed().x * 0.5f, player.GetActualSpeed().y * 0.5f);
                    info.startPosition.y += Utilities.GetYOffsetFromHeight(player.positionZ);
                    info.rotationSpeed    = 0.2f;
                    info.alphaStart       = 0.5f;
                    info.alphaSpeed       = 0.025f;
                    info.scaleSpeed       = Globals.g_world.GetRotationScaleForShorts(-0.075f);
                    info.scaleStart       = 0.25f;
                    float scaleFactor = Utilities.GetScaleFromHeight(player.positionZ);
                    if (scaleFactor > 1.0f)
                    {
                        info.scaleSpeed *= (scaleFactor * 1.0f);
                        info.scaleStart *= (scaleFactor * 1.0f);
                    }

                    particle.Launch_SingleParticle(info);
                    particle.SetAtlasAndSubTextureId(Globals.g_world.GetAtlas(AtlasType.kAtlas_ParticlesScene), 16);
                    particle.SetRotationScale(Globals.g_world.GetRotationScaleForShorts(22.63f * scaleFactor));
                    if (Globals.deviceIPad)
                    {
                        float rotScale = (Globals.g_world.GetAtlas(AtlasType.kAtlas_ParticlesScene)).GetSubTextureRotationScale(particle.subTextureId);
                        particle.SetRotationScale(rotScale);
                    }
                    particle.SetIsAdditive(true);
                }
            }
        }
Exemplo n.º 23
0
        public void UpdateShadow(CGPoint realPosition)
        {
            const float kJogDistance = 5.0f;
            float       animPosition = (((float)animateIndex) * 20.0f) + animateRoll;
            float       shadowDistance;

            if ((int)crossingThingType == (int)CrossingThingType.kCrossingThing_Elephant)
            {
                shadowDistance = Utilities.GetCosInterpolationP1P2(animPosition, 0.0f, 80.0f);
                shadowMapObject.SetPosition(Utilities.CGPointMake(realPosition.x + shadowOffset.x + (kJogDistance * shadowDistance), realPosition.y + shadowOffset.y + (
                                                                      kJogDistance * 0.7f * shadowDistance)));
            }
        }
Exemplo n.º 24
0
        public void SetStartOfRace()
        {
            animateIndex   = (Utilities.GetRand(4));
            animateRoll    = ((float)(Utilities.GetRand(200))) / 20.0f;
            bumpTimer      = 0.0f;
            bumpOffset     = Utilities.CGPointMake(0.0f, 0.0f);
            distSinceCloud = (float)(Utilities.GetRand(100));
            if (flockAnimalType == FlockAnimalType.kFlockAnimalCow)
            {
                animMinSubTexture = (int)World.Enum3.kGTGrass_CowDown1;
                kRollAnimSpeed    = 20.0f;
                shadowOffset      = Utilities.CGPointMake(20.0f, 9.0f);
            }
            else if (flockAnimalType == FlockAnimalType.kFlockAnimalSheep)
            {
                if (((Globals.g_world.game).lBuilder).currentScene == (int)SceneType.kSceneMud)
                {
                    animMinSubTexture = (int)World.Enum2.kGTMud_FlockSheepDown1;
                }
                else
                {
                    animMinSubTexture = (int)World.Enum3.kGTGrass_CowDown1;
                }

                kRollAnimSpeed = 18.0f + Utilities.GetRandBetweenP1(0.0f, 8.0f);
//                shadowOffset = Utilities.CGPointMake(20.0f, 9.0f);
                shadowOffset = Utilities.CGPointMake(7.0f, 7.5f);
            }
            else if (flockAnimalType == FlockAnimalType.kFlockAnimalPenguin)
            {
                animMinSubTexture = 1;
                kRollAnimSpeed    = 10.0f;
                shadowOffset      = Utilities.CGPointMake(10.0f, 5.0f);
            }
            else if (flockAnimalType == FlockAnimalType.kFlockAnimalZebra)
            {
//                animMinSubTexture = (int)World.Enum2.kGTSavanna_Zebra1;
                kRollAnimSpeed = 20.0f;
                shadowOffset   = Utilities.CGPointMake(20.0f, 9.0f);
            }
            else if (flockAnimalType == FlockAnimalType.kFlockAnimalShirley)
            {
                animMinSubTexture = (int)World.Enum2.kGTMud_ShirleyDown1;
                kRollAnimSpeed    = 8.0f;
                shadowOffset      = Utilities.CGPointMake(20.0f, 9.0f);
            }
            else
            {
                Globals.Assert(false);
            }
        }
Exemplo n.º 25
0
        public void UpdateSparkles()
        {
            return;

            const float sparklesSpeed = 0.015f;

            sparklesPosition += sparklesSpeed;
            if (sparklesPosition >= 1)
            {
                sparklesPosition -= 1;
            }

            CGPoint screenPosition;
            CGPoint buttonPosition = zobject.screenPosition;

            if (sparklesPosition < 0.25f)
            {
                float ratio = Utilities.GetRatioP1P2(sparklesPosition, 0, 0.25f);
                screenPosition = Utilities.CGPointMake(buttonPosition.x - 32 + 64 * ratio, buttonPosition.y + 32);
            }
            else if (sparklesPosition < 0.5f)
            {
                float ratio = Utilities.GetRatioP1P2(sparklesPosition, 0.25f, 0.5f);
                screenPosition = Utilities.CGPointMake(buttonPosition.x - 32 + 64, buttonPosition.y + 32 - (64 * ratio));
            }
            else if (sparklesPosition < 0.75)
            {
                float ratio = Utilities.GetRatioP1P2(sparklesPosition, 0.5f, 0.75f);
                screenPosition = Utilities.CGPointMake(buttonPosition.x - 32 + 64 - (64 * ratio), buttonPosition.y + 32 - 64);
            }
            else
            {
                float ratio = Utilities.GetRatioP1P2(sparklesPosition, 0.75f, 1);
                screenPosition = Utilities.CGPointMake(buttonPosition.x - 32, buttonPosition.y + 32 - 64 + (64 * ratio));
            }

            screenPosition.x += (float)(Utilities.GetRand(6) - 3);
            screenPosition.y += (float)(Utilities.GetRand(6) - 3);
            if (Globals.deviceIPad)
            {
                screenPosition.x += 32.0f;
            }

            ParticleSystemRoss.EffectInfo info = new ParticleSystemRoss.EffectInfo();
            info.startPosition = screenPosition;
            info.type          = EffectType.kEffect_SingleSparkle;
            (ParticleSystemRoss.Instance()).AddParticleEffect(info);
        }
Exemplo n.º 26
0
        public static void Render()
        {
            float yPos = 25.0f;

            for (int i = 0; i < (int)DebugTextConstants.kMaxPerFrame; i++)
            {
                texts[i].StopRender();
            }

            for (int i = 0; i < numToShowThisFrame; i++)
            {
                texts[i].Show();
                texts[i].RenderAtPosition(Utilities.CGPointMake(100.0f, yPos));
                yPos += 17.0f;
            }
        }
Exemplo n.º 27
0
 public void SetupAardmanTexture()
 {
     FrontEndQuery.QueryInfoNew qInfo = new FrontEndQuery.QueryInfoNew();
     qInfo.backdropTexture           = null;
     qInfo.boxDimensions             = Utilities.CGSizeMake(280.0f, 140.0f);
     qInfo.inTextScale               = 20.0f;
     qInfo.newStyleWithAtlas         = false;
     qInfo.noButton                  = null;
     qInfo.yesButton                 = null;
     qInfo.useActualText             = true;
     qInfo.queryText                 = "AARDMAN(C) AND\n TM AARDMAN ANIMATIONS\n LTD 2011";
     qInfo.position                  = Utilities.CGPointMake(160.0f, 410.0f);
     qInfo.numButtons                = 0;
     qInfo.useNSStringForAnyLanguage = true;
     aardmanCredit.InitialiseNew(qInfo);
 }
Exemplo n.º 28
0
        public void Launch_RainbowStarTrail(CGPoint inStartPosition)
        {
            currentAnim = 0;
            isAnimated  = false;
            isActive    = true;
            timer       = 0;
            int   randNumber = 140 + (Utilities.GetRand(120));
            float angle      = ((float)randNumber) * (Constants.PI_ / 360.0f);
            float outSpeed   = 1.2f * ((Globals.g_world.GetGame()).GetPlayer()).GetActualSpeed().y;

            velocity = Utilities.GetVectorFromAngleP1(angle, outSpeed);
            int     randX         = Utilities.GetRand(20);
            int     randY         = Utilities.GetRand(10);
            float   plusX         = (float)randX - 10.0f;
            float   plusY         = (float)randY - 5.0f;
            CGPoint startPosition = Utilities.CGPointMake(inStartPosition.x + plusX + velocity.x * 2, inStartPosition.y + plusY + velocity.y * 2);

            mapPosition = startPosition;
            const int kNumFrames = 6;
            int       particleId = (int)ParticleTextureType.kParticleTexture_SparkleRed + ((Utilities.GetRand(5)) * kNumFrames);

            texture = (ParticleSystemRoss.Instance()).GetTexture((ParticleTextureType)particleId);
            atlas   = Globals.g_world.GetAtlas(AtlasType.kAtlas_RainbowParticles);

            myAtlasBillboard.SetAtlas(Globals.g_world.GetAtlas(AtlasType.kAtlas_RainbowParticles));
            myAtlasBillboard.SetDetailsFromAtlas(Globals.g_world.GetAtlas(AtlasType.kAtlas_RainbowParticles), 0);


            subTextureId = (Utilities.GetRand(5)) * 6;
            for (int i = 0; i < kNumFrames; i++)
            {
                animFrame[i] = (ParticleSystemRoss.Instance()).GetTexture((ParticleTextureType)particleId + i);
            }

            currentAnim = 0;
            animTimer   = 0;
            rotation    = 0;
            type        = ParticleType.kParticle_RainbowStarTrail;
            if (isAdditive)
            {
                alpha = 0.2f;
            }
            else
            {
                alpha = 1;
            }
        }
Exemplo n.º 29
0
 public void Setup(InterpolationInfo info)
 {
     range         = info.range;
     type          = info.type;
     target        = info.target;
     time          = info.time;
     active        = false;
     endParameter  = info.endParameter;
     lag           = 0.95f;
     startPosition = Utilities.CGPointMake(0, 0);
     endPosition   = Utilities.CGPointMake(320, 320);
     acceleration  = 0.001f;
     velocity      = 0.05f;
     endValue      = 0.99f;
     startTimer    = 0;
     waitToBegin   = 0;
 }
Exemplo n.º 30
0
        public static CGPoint Normalise(CGPoint inPoint)
        {
            float   L = (float)Math.Sqrt(inPoint.x * inPoint.x + inPoint.y * inPoint.y);
            CGPoint w;

            if (L != 0.0f)
            {
                L = 1.0f / L;
                w = Utilities.CGPointMake(L * inPoint.x, L * inPoint.y);
            }
            else
            {
                return(Utilities.CGPointMake(0.0f, 1.0f));
            }

            return(w);
        }