public void UpdateCluckSound() { if (Utilities.GetRand(50) == 0) { float cluckVol = Utilities.GetRandBetweenP1(0.25f, 0.7f); (SoundEngine.Instance()).PlayFinchSoundP1((int)Audio.Enum1.kSoundEffect_ChickenCluck1 + Utilities.GetRand(2), cluckVol); } }
public void AddBlob() { const float kSparkleAreaWidth = 100.0f; float xOffset = Utilities.GetRandBetweenP1(0.0f, kSparkleAreaWidth); float yOffset = Utilities.GetRandBetweenP1(0.0f, kSparkleAreaWidth); //ParticleInfo info; //info.type = ParticleType.kParticle_PondBlob; //info.startPosition = Utilities.CGPointMake(position.x - (kSparkleAreaWidth / 2.0f) + xOffset, position.y - (kSparkleAreaWidth / 2.0f) + yOffset); //(ParticleSystemRoss.Instance()).AddParticleP1(info, (int) ParticleList.t_BeforePlayer); }
public void Show(float multiplier) { currentWobble = 0.0f; wobbleSize = 0.18f + Utilities.GetRandBetweenP1(0.0f, 0.04f); wobbleSize *= multiplier; wobbleSize *= showWobbleMultiplier; wobbleTime = 0.33f + Utilities.GetRandBetweenP1(0.0f, 0.1f); wobbleDecline = 0.003f + (Utilities.GetRandBetweenP1(0.0f, 0.06f) / 10.0f); wobbleDecline *= 0.7f; wobbleDecline *= wobbleDeclineMultiplier; }
public void Wobble() { Zshake.ShakeInfo info = new Zshake.ShakeInfo(); info.xSize = 0.0f; info.ySize = 1.8f; info.xSpeed = 0.0f; info.ySpeed = 0.0f; info.xPosition = 0.0f; info.yPosition = 0.0f; shake.Setup(info); shake.Reset(); shake.StartP1(Utilities.GetRandBetweenP1(0.65f, 1.2f), 0.8f); }
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); } }
public void RunAway(CGPoint playerSpeed) { if (Utilities.GetRand(2) == 0) { float squawkVol = Utilities.GetRandBetweenP1(0.3f, 0.8f); (SoundEngine.Instance()).PlayFinchSoundP1((int)Audio.Enum1.kSoundEffect_ChickenSquawk1, squawkVol); } else { (SoundEngine.Instance()).PlayFinchSound((int)Audio.Enum1.kSoundEffect_ChickenFlapWings); } currentAnim = (short)ChickenAnimation.n_RunAway; this.SetState(ChickenState.e_RunningAway); (anim[currentAnim]).PlayLooping(); runAwaySpeed = 1.2f + (playerSpeed.y / 5.0f); runAwayAcc = 0.35f + (playerSpeed.y / 20.0f); }
public void UpdateRandomAnimalSoundCountry(int chance) { const int kNumRandomSoundsCountry = 20; int r = Utilities.GetRand(chance); if (r == 0) { Enum1[] soundId = new Enum1[20] { Enum1.kSoundEffect_PigOink4, Enum1.kSoundEffect_PigOink5, Enum1.kSoundEffect_PigOink6, Enum1.kSoundEffect_Baa1, Enum1.kSoundEffect_Baa2, Enum1.kSoundEffect_Baa3, Enum1.kSoundEffect_Baa4 , Enum1.kSoundEffect_Baa5, Enum1.kSoundEffect_Rooster, Enum1.kSoundEffect_Goat, Enum1.kSoundEffect_Horse, Enum1.kSoundEffect_ChickenCluck1, Enum1.kSoundEffect_Rooster, Enum1.kSoundEffect_Goat, Enum1.kSoundEffect_Horse, Enum1.kSoundEffect_ChickenCluck1, Enum1.kSoundEffect_Rooster, Enum1.kSoundEffect_Goat, Enum1.kSoundEffect_Horse, Enum1.kSoundEffect_ChickenCluck1 }; int whichSound = Utilities.GetRand(kNumRandomSoundsCountry); float volume = Utilities.GetRandBetweenP1(0.3f, 0.65f); (SoundEngine.Instance()).PlayFinchSoundP1((int)soundId[whichSound], volume); } }
public void StartEffect_SparkBurst(ParticleSystemRoss.EffectInfo info) { const int kNumSplashesInRing = 3; Particle.ParticleInfo pInfo = new Particle.ParticleInfo(); pInfo.type = ParticleType.kParticle_SingleSpark; pInfo.hasGravity = false; pInfo.isAnimated = false; pInfo.alphaStart = info.rotation; pInfo.alphaSpeed = 0.07f; float circleSize = Constants.PI_ + Constants.HALF_PI; float perThing = circleSize / ((float)kNumSplashesInRing); float outSpeed = 7.2f; float playerSpeedInf = 1.6f; pInfo.scaleStart = 2.0f; pInfo.scaleSpeed = 0.0f; pInfo.isAdditive = true; for (int i = 0; i < kNumSplashesInRing; i++) { float angle = (0.0f - Constants.HALF_PI) - (circleSize / 2) + (perThing * ((float)i)); angle += Utilities.GetRandBetweenP1(-0.5f, 0.5f); pInfo.rotationStart = -angle + (Constants.HALF_PI); pInfo.velocity = Utilities.GetVectorFromAngleP1(angle, outSpeed); pInfo.velocity.x += (playerSpeedInf * info.velocity.x); pInfo.velocity.y += (playerSpeedInf * info.velocity.y); pInfo.startPosition = info.startPosition; Particle particle = (ParticleSystemRoss.Instance()).GetNextFreeParticleP1(ParticleList.t_WhiteStars, "splashring"); if (particle != null) { particle.Launch_SingleParticle(pInfo); particle.SetAtlasAndSubTextureId(Globals.g_world.GetAtlas(AtlasType.kAtlas_ParticlesScene), 25); particle.SetRotationScale(Globals.g_world.GetRotationScaleForShorts(44.3274f)); if (Globals.deviceIPad) { float rotScale = (Globals.g_world.GetAtlas(AtlasType.kAtlas_ParticlesScene)).GetSubTextureRotationScale(particle.subTextureId); particle.SetRotationScale(rotScale); } } } state = EffectState.e_Inactive; }
public void AddToFlockP1(Flock.FlockAnimalInfo info, FlockAnimal prevAnimal) { myFlock = info.myFlock; xLinePosition = info.xLinePosition; position.x = info.xLinePosition; position.y = myFlock.yPositionStart; yUndulationTimer = info.yUndulationTimer; yUndulationTime = info.yUndulationTime; flockAnimalType = (FlockAnimalType)info.animalType; flockAnimalId = info.flockAnimalId; hasMarkerForAI = info.hasMarkerForAI; markerOffset = info.markerOffset; if (flockAnimalType == FlockAnimalType.kFlockAnimalShirley) { undulationDistance = 20.0f; } else { undulationDistance = 40.0f; } if (flockAnimalType == FlockAnimalType.kFlockAnimalPenguin) { hasShadow = false; } else { hasShadow = true; } framesForUndulationCycle = (int)(info.yUndulationTime / Constants.kFrameRate); if (prevAnimal == null) { yStartPosition = myFlock.yPositionStart; int framesAdded = (int)(info.yUndulationTimer / Constants.kFrameRate); undulationStartFrame = (int)(framesAdded % framesForUndulationCycle); if (undulationStartFrame < 0) { undulationStartFrame += framesForUndulationCycle; } } else { yStartPosition = prevAnimal.yStartPosition - info.distanceToGo; float distanceFromStart = myFlock.yPositionStart - yStartPosition; int framesSinceStart = (int)(distanceFromStart / myFlock.speed); int framesAdded = (int)((info.yUndulationTimer) / Constants.kFrameRate); int totalNewFrames = -framesSinceStart + framesAdded; undulationStartFrame = (int)(totalNewFrames % framesForUndulationCycle); if (undulationStartFrame < 0) { undulationStartFrame += framesForUndulationCycle; } } mapObjectId = (Globals.g_world.game).AddMapObjectP1P2P3P4(TextureType.kTexture_DontAddThisMapObjectToPendingList, (int)100, (int)-300, ListType.e_RenderAbovePlayer, 0); Globals.Assert(!(Globals.g_world.game).IsMapObjectIdInvalid(mapObjectId)); mapObject = (Globals.g_world.game).GetMapObject(mapObjectId); mapObject.SetType(MapObjectType.e_FlockAnimal); mapObject.SetSubTextureId(0); const float kMinScale = 0.73f; const float kMaxScale = 1.0f; float range = kMaxScale - kMinScale; float rPlus = Utilities.GetRandBetweenP1(0.0f, range); float rThing = kMinScale + rPlus; mapObject.SetScale(rThing); mapObject.SetIsSelfRemoving(false); shadowMapObjectId = -1; if (hasShadow) { shadowMapObjectId = (Globals.g_world.game).AddMapObjectP1P2P3P4(TextureType.kTexture_DontAddThisMapObjectToPendingList, (int)-100, (int)-300, ListType.e_Shadows, 0); } Globals.Assert(!(Globals.g_world.game).IsMapObjectIdInvalid(mapObjectId)); if (hasShadow) { Globals.Assert(!(Globals.g_world.game).IsMapObjectIdInvalid(shadowMapObjectId)); shadowMapObject = (Globals.g_world.game).GetMapObject(shadowMapObjectId); shadowMapObject.SetIsSelfRemoving(false); shadowMapObject.SetAtlas(Globals.g_world.game.gameThingsAtlas); // if (((Globals.g_world.game).lBuilder).currentScene == (int)SceneType.kSceneMud) { shadowMapObject.SetSubTextureId((int)World.Enum2.kGTMud_PlayerShadow); shadowMapObject.SetAtlas(Globals.g_world.game.gameThingsAtlas);// .SetSubTextureId((int)World.Enum2.kGTMud_PlayerShadow); } else { shadowMapObject.SetSubTextureId((int)World.Enum3.kGTGrass_PlayerShadow); } } float noGoRadius = 0.0f; if (flockAnimalType == FlockAnimalType.kFlockAnimalCow) { shadowMapObject.SetScale(1.0f); noGoRadius = 42.0f; } else if (flockAnimalType == FlockAnimalType.kFlockAnimalSheep) { shadowMapObject.SetScale(1.7f * rThing); noGoRadius = 42.0f; } else if (flockAnimalType == FlockAnimalType.kFlockAnimalPenguin) { noGoRadius = 20.0f; } else if (flockAnimalType == FlockAnimalType.kFlockAnimalZebra) { shadowMapObject.SetScale(1.5f); noGoRadius = 35.0f; } else if (flockAnimalType == FlockAnimalType.kFlockAnimalShirley) { shadowMapObject.SetScale(2.7f); noGoRadius = 70.0f; } else { Globals.Assert(false); } if (noGoZone == null) { noGoZone = new NoGoZone(); } noGoZone.InitialiseP1(Utilities.CGPointMake(0, 0), noGoRadius); noGoZone.SetType(NoGoType.e_FlockAnimal); noGoZone.SetObjectId(myFlock.flockId); noGoZone.SetShadowObjectId(flockAnimalId); }
public void PlayBounceSound() { if ((int)type == (int)FlowerHeadType.kFlowerHead_Apple) { (SoundEngine.Instance()).PlayFinchSoundP1((int)Audio.Enum1.kSoundEffect_AppleDrop, Utilities.GetRandBetweenP1(0.5f, 0.9f)); } }
public void AddToScene(FlowerHeadInfo info) { //Debug.Log("AddFlowerhead" + myId.ToString() + " " + info.type.ToString()); splattable = false; type = info.type; switch (info.type) { case FlowerHeadType.kFlowerHead_PumpkinPiece: shadowSubTextureStart = (short)World.Enum2.kGTMud_GenericShadow; flowerSubTextureStart = (short)World.Enum2.kGTMud_PumpkinPiece; numFlowerAnims = 1; numShadowAnims = 1; rotationScale = (Globals.g_world.GetAtlas(AtlasType.kAtlas_GameThingsMud)).GetSubTextureRotationScale(flowerSubTextureStart); upVelocity = ((float)(Utilities.GetRand(5))) + 8.0f; upVelocity *= 1.0f; useGravity = 1.5f; height = 30; spinSpeed = ((float)(5 + Utilities.GetRand(15))) / 50.0f; if (Utilities.GetRand(2) == 0) { splattable = true; } if (Utilities.GetRand(2) == 0) { spinSpeed = -spinSpeed; } break; case FlowerHeadType.kFlowerHead_SquashPiece: shadowSubTextureStart = (short)World.Enum2.kGTMud_GenericShadow; flowerSubTextureStart = (short)World.Enum2.kGTMud_SquashPiece; numFlowerAnims = 1; numShadowAnims = 1; rotationScale = (Globals.g_world.GetAtlas(AtlasType.kAtlas_GameThingsMud)).GetSubTextureRotationScale(flowerSubTextureStart); upVelocity = ((float)(Utilities.GetRand(5))) + 8.0f; useGravity = 1.5f; height = 30; spinSpeed = ((float)(5 + Utilities.GetRand(15))) / 50.0f; if (Utilities.GetRand(2) == 0) { splattable = true; } if (Utilities.GetRand(2) == 0) { spinSpeed = -spinSpeed; } break; case FlowerHeadType.kFlowerHead_CourgettePiece: shadowSubTextureStart = (short)World.Enum2.kGTMud_GenericShadow; flowerSubTextureStart = (short)World.Enum2.kGTMud_CourgettePiece; numFlowerAnims = 1; numShadowAnims = 1; rotationScale = (Globals.g_world.GetAtlas(AtlasType.kAtlas_GameThingsMud)).GetSubTextureRotationScale(flowerSubTextureStart); upVelocity = ((float)(Utilities.GetRand(5))) + 8.0f; useGravity = 1.5f; height = 30; spinSpeed = ((float)(5 + Utilities.GetRand(15))) / 50.0f; if (Utilities.GetRand(2) == 0) { splattable = true; } if (Utilities.GetRand(2) == 0) { spinSpeed = -spinSpeed; } break; case FlowerHeadType.kFlowerHead_TulipBlue: case FlowerHeadType.kFlowerHead_TulipWhite: case FlowerHeadType.kFlowerHead_TulipYellow: case FlowerHeadType.kFlowerHead_Tulip: shadowSubTextureStart = (short)World.Enum3.kGTGrass_FlowerShadow1; if (((Globals.g_world.game).lBuilder).currentScene == (int)SceneType.kSceneGrass) { int startPetal = 0; if ((int)info.type == (int)FlowerHeadType.kFlowerHead_Tulip) { startPetal = (int)World.Enum3.kGTGrass_TulipsRed_Petal1; } else if ((int)info.type == (int)FlowerHeadType.kFlowerHead_TulipWhite) { startPetal = (int)World.Enum3.kGTGrass_TulipWhitePetal1; } else if ((int)info.type == (int)FlowerHeadType.kFlowerHead_TulipBlue) { startPetal = (int)World.Enum3.kGTGrass_TulipBluePetal1; } else if ((int)info.type == (int)FlowerHeadType.kFlowerHead_TulipYellow) { startPetal = (int)World.Enum3.kGTGrass_TulipYellowPetal1; } flowerSubTextureStart = (short)(startPetal + Utilities.GetRand(2)); rotationScale = (Globals.g_world.GetAtlas(AtlasType.kAtlas_GameThingsGrass)).GetSubTextureRotationScale(flowerSubTextureStart); } else { shadowSubTextureStart = (short)World.Enum2.kGTMud_TulipPetalShadow; int startPetal = 0; if ((int)info.type == (int)FlowerHeadType.kFlowerHead_Tulip) { startPetal = (int)World.Enum2.kGTMud_TulipRedPetal1; } else if ((int)info.type == (int)FlowerHeadType.kFlowerHead_TulipWhite) { startPetal = (int)World.Enum2.kGTMud_TulipWhitePetal1; } else if ((int)info.type == (int)FlowerHeadType.kFlowerHead_TulipBlue) { startPetal = (int)World.Enum2.kGTMud_TulipBluePetal1; } else if ((int)info.type == (int)FlowerHeadType.kFlowerHead_TulipYellow) { startPetal = (int)World.Enum2.kGTMud_TulipYellowPetal1; } flowerSubTextureStart = (short)(startPetal + Utilities.GetRand(2)); rotationScale = (Globals.g_world.GetAtlas(AtlasType.kAtlas_GameThingsMud)).GetSubTextureRotationScale(flowerSubTextureStart); } numFlowerAnims = 1; numShadowAnims = 1; upVelocity = ((float)(Utilities.GetRand(5))) + 8.0f; useGravity = 0.7f; height = 30; spinSpeed = ((float)(5 + Utilities.GetRand(15))) / 25.0f; if (Utilities.GetRand(2) == 0) { spinSpeed = -spinSpeed; } break; case FlowerHeadType.kFlowerHead_BushFragment: shadowSubTextureStart = (short)World.Enum3.kGTGrass_GenericShadow; flowerSubTextureStart = (short)((int)World.Enum3.kGTGrass_BushFragment1 + Utilities.GetRand(2)); numFlowerAnims = 1; numShadowAnims = 1; rotationScale = (Globals.g_world.GetAtlas(AtlasType.kAtlas_GameThingsGrass)).GetSubTextureRotationScale(flowerSubTextureStart); upVelocity = ((float)(Utilities.GetRand(5))) + 8.0f; useGravity = 1.2f; height = 30; spinSpeed = ((float)(5 + Utilities.GetRand(15))) / 50.0f; if (Utilities.GetRand(2) == 0) { spinSpeed = -spinSpeed; } break; case FlowerHeadType.kFlowerHead_Daffodil: shadowSubTextureStart = (short)World.Enum3.kGTGrass_FlowerShadow1; flowerSubTextureStart = (short)World.Enum3.kGTGrass_FlowerHead1; numFlowerAnims = 1; numShadowAnims = 1; rotationScale = (Globals.g_world.GetAtlas(AtlasType.kAtlas_GameThingsGrass)).GetSubTextureRotationScale((int)World.Enum3.kGTGrass_FlowerHead1); upVelocity = ((float)(Utilities.GetRand(5))) + 8.0f; useGravity = 1.2f; height = 30; spinSpeed = ((float)(5 + Utilities.GetRand(15))) / 50.0f; if (Utilities.GetRand(2) == 0) { spinSpeed = -spinSpeed; } break; case FlowerHeadType.kFlowerHead_Sunflower: shadowSubTextureStart = (short)World.Enum3.kGTGrass_FlowerShadow1; flowerSubTextureStart = (short)World.Enum3.kGTGrass_FlowerHead1; numFlowerAnims = 1; numShadowAnims = 7; rotationScale = Globals.g_world.GetRotationScaleForShorts(22.6274f); upVelocity = ((float)(Utilities.GetRand(5))) + 5.0f; useGravity = 0.5f; height = 30; spinSpeed = ((float)(5 + Utilities.GetRand(15))) / 100; break; case FlowerHeadType.kFlowerHead_Lilac: shadowSubTextureStart = 3; flowerSubTextureStart = 20; numFlowerAnims = 8; numShadowAnims = 1; rotationScale = Globals.g_world.GetRotationScaleForShorts(11.3137f); upVelocity = ((float)(Utilities.GetRand(3))) + 2.5f; useGravity = 0.15f; height = 10; spinSpeed = ((float)(5 + Utilities.GetRand(15))) / 100; alpha = 1.0f; break; case FlowerHeadType.kFlowerHead_Pink: shadowSubTextureStart = 3; flowerSubTextureStart = 34; numFlowerAnims = 14; numShadowAnims = 1; rotationScale = Globals.g_world.GetRotationScaleForShorts(11.3137f); upVelocity = ((float)(Utilities.GetRand(2))) + 2.0f; useGravity = 0.1f; height = 10; spinSpeed = ((float)(5 + Utilities.GetRand(15))) / 250.0f; alpha = 1.0f; break; case FlowerHeadType.kFlowerHead_BushExplosion: shadowSubTextureStart = 2; flowerSubTextureStart = 28; numFlowerAnims = 4; numShadowAnims = 1; rotationScale = Globals.g_world.GetRotationScaleForShorts(45.3137f); upVelocity = 10.0f; useGravity = 0.7f; height = 10; alpha = 1.0f; scale = 1.0f; spinSpeed = ((float)(5 + Utilities.GetRand(15))) / 100; break; case FlowerHeadType.kFlowerHead_Bucket: shadowSubTextureStart = 2; flowerSubTextureStart = 56; numFlowerAnims = 7; numShadowAnims = 1; rotationScale = Globals.g_world.GetRotationScaleForShorts(45.3137f); upVelocity = 10.0f; useGravity = 0.7f; height = 10; alpha = 1.0f; scale = 1.0f; spinSpeed = ((float)(5 + Utilities.GetRand(15))) / 100; break; case FlowerHeadType.kFlowerHead_Bollard: case FlowerHeadType.kFlowerHead_Cauliflower: if (((Globals.g_world.game).lBuilder).currentScene == (int)SceneType.kSceneGrass) { flowerSubTextureStart = (short)World.Enum3.kGTGrass_Bollard; shadowSubTextureStart = (short)World.Enum3.kGTGrass_GenericShadow; } else { if ((int)type == (int)FlowerHeadType.kFlowerHead_Cauliflower) { flowerSubTextureStart = (short)World.Enum2.kGTMud_CauliFlower; } else { flowerSubTextureStart = (short)World.Enum2.kGTMud_TrafficCone; } shadowSubTextureStart = (short)World.Enum2.kGTMud_GenericShadow; } numFlowerAnims = 1; numShadowAnims = 1; rotationScale = Globals.g_world.GetRotationScaleForShorts(45.3137f); upVelocity = 10.0f; useGravity = 0.7f; height = 10; alpha = 1.0f; scale = 1.0f; spinSpeed = 100000.0f; break; case FlowerHeadType.kFlowerHead_Apple: shadowSubTextureStart = (short)World.Enum3.kGTGrass_AppleShadow; flowerSubTextureStart = (short)World.Enum3.kGTGrass_Apple1; numFlowerAnims = 1; numShadowAnims = 1; rotationScale = (Globals.g_world.GetAtlas(AtlasType.kAtlas_GameThingsGrass)).GetSubTextureRotationScale((int)World.Enum3.kGTGrass_Apple1); upVelocity = 6.0f; upVelocity += Utilities.GetRandBetweenP1(0.0f, 12.0f); useGravity = 2.5f; height = 480; alpha = 1.0f; scale = 1.0f; spinSpeed = 100000.0f; break; case FlowerHeadType.kFlowerHead_GnomePiece: shadowSubTextureStart = (short)World.Enum3.kGTGrass_AppleShadow; flowerSubTextureStart = (short)World.Enum3.kGTGrass_GnomePieceRed1; if (Utilities.GetRand(2) == 0) { flowerSubTextureStart = (short)World.Enum3.kGTGrass_GnomePieceBlack1; } numFlowerAnims = 5; numShadowAnims = 1; rotationScale = (Globals.g_world.GetAtlas(AtlasType.kAtlas_GameThingsGrass)).GetSubTextureRotationScale((int)World.Enum3.kGTGrass_Apple1); upVelocity = 6.0f; upVelocity += Utilities.GetRandBetweenP1(0.0f, 12.0f); useGravity = 2.5f; height = Utilities.GetRandBetweenP1(60.0f, 160.0f); alpha = 1.0f; scale = 1.0f; spinSpeed = Utilities.GetRandBetweenP1(0.04f, 0.08f); break; case FlowerHeadType.kFlowerHead_Welly: shadowSubTextureStart = (short)World.Enum2.kGTMud_WellyShadow; flowerSubTextureStart = (short)World.Enum2.kGTMud_Welly; numFlowerAnims = 1; numShadowAnims = 1; rotationScale = (Globals.g_world.GetAtlas(AtlasType.kAtlas_GameThingsMud)).GetSubTextureRotationScale((int)World.Enum2.kGTMud_Welly); upVelocity = 10.0f; useGravity = 0.7f; height = 10; alpha = 1.0f; scale = 1.0f; spinSpeed = ((float)(5 + Utilities.GetRand(15))) / 100; if (Utilities.GetRand(2) == 0) { spinSpeed = -spinSpeed; } break; case FlowerHeadType.kFlowerHead_HayBurst: case FlowerHeadType.kFlowerHead_HayBurstStack: case FlowerHeadType.kFlowerHead_HayBurstCloud: shadowSubTextureStart = 2; flowerSubTextureStart = 3; numFlowerAnims = 4; numShadowAnims = 1; rotationScale = Globals.g_world.GetRotationScaleForShorts(45.3137f); upVelocity = 10.0f; useGravity = 0.7f; height = 10; alpha = 1.0f; scale = 1.0f; spinSpeed = ((float)(5 + Utilities.GetRand(8))) / 100; break; default: Globals.Assert(false); break; } animTimer = 0.0f; currentAnim = 0; if ((int)type == (int)FlowerHeadType.kFlowerHead_GnomePiece) { currentAnim = (short)Utilities.GetRand(numFlowerAnims); } currentShadowAnim = 0; position = info.position; velocity = info.velocity; this.SetState(FlowerHeadState.e_Active); numBounces = 0; rotation = info.rotation; if (info.addUnderPlayer) { mapObjectId = (short)(Globals.g_world.game).AddMapObjectToFrontP1P2P3(0, (int)position.x, (int)position.y, ListType.e_RenderUnderPlayer); } else { if ((int)type == (int)FlowerHeadType.kFlowerHead_Apple) { mapObjectId = (short)(Globals.g_world.game).AddMapObjectToFrontP1P2P3(0, (int)position.x, (int)position.y, ListType.e_RenderTrees); } else { mapObjectId = (short)(Globals.g_world.game).AddMapObjectToFrontP1P2P3(0, (int)position.x, (int)position.y, ListType.e_RenderAbovePlayer); } } if (((int)type != (int)FlowerHeadType.kFlowerHead_HayBurstStack) && ((int)type != (int)FlowerHeadType.kFlowerHead_HayBurstCloud)) { shadowMapObjectId = (short)(Globals.g_world.game).AddMapObjectP1P2P3(0, (int)position.x, (int)position.y, ListType.e_Shadows); } if ((mapObjectId == -1) || (shadowMapObjectId == -1)) { this.SetState(FlowerHeadState.e_Inactive); Debug.Log("NO DICE"); return; } ((Globals.g_world.game).GetMapObject(mapObjectId)).SetAtlas(Globals.g_world.game.gameThingsAtlas); ((Globals.g_world.game).GetMapObject(mapObjectId)).SetType(MapObjectType.e_FlowerHead); ((Globals.g_world.game).GetMapObject(mapObjectId)).SetObjectId(myId); ((Globals.g_world.game).GetMapObject(mapObjectId)).SetRotation(rotation); ((Globals.g_world.game).GetMapObject(mapObjectId)).SetRotationScale(rotationScale); ((Globals.g_world.game).GetMapObject(mapObjectId)).SetHeight(height); ((Globals.g_world.game).GetMapObject(mapObjectId)).SetHasBeenDisplayed(); if (((int)type == (int)FlowerHeadType.kFlowerHead_Lilac) || ((int)type == (int)FlowerHeadType.kFlowerHead_Pink)) { ((Globals.g_world.game).GetMapObject(mapObjectId)).SetAlpha(0.7f); } ((Globals.g_world.game).GetMapObject(mapObjectId)).SetSubTextureId(flowerSubTextureStart + currentAnim); if (((int)type != (int)FlowerHeadType.kFlowerHead_HayBurstStack) && ((int)type != (int)FlowerHeadType.kFlowerHead_HayBurstCloud)) { ((Globals.g_world.game).GetMapObject(shadowMapObjectId)).SetAtlas(Globals.g_world.game.gameThingsAtlas); ((Globals.g_world.game).GetMapObject(shadowMapObjectId)).SetSubTextureId(shadowSubTextureStart + currentShadowAnim); if ((int)type == (int)FlowerHeadType.kFlowerHead_Apple) { ((Globals.g_world.game).GetMapObject(shadowMapObjectId)).SetRotation(-0.65f); } else { ((Globals.g_world.game).GetMapObject(shadowMapObjectId)).SetRotation(rotation); } ((Globals.g_world.game).GetMapObject(shadowMapObjectId)).SetRotationScale(rotationScale); float trueRotScale = Globals.g_world.game.gameThingsAtlas.GetSubTextureRotationScale(((Globals.g_world.game).GetMapObject(shadowMapObjectId)).subTextureId); ((Globals.g_world.game).GetMapObject(shadowMapObjectId)).SetScale(rotationScale / trueRotScale); } }
public void Show() { popped = false; xPosition = Utilities.GetRandBetweenP1(0.0f, Constants.PI_); yPosition = Utilities.GetRandBetweenP1(0.0f, Constants.PI_); }
public void SetBlinkTime() { timeToNextBlink = Utilities.GetRandBetweenP1(0.1f, 0.2f); }
public void SetTimeToNextBlink() { timeToNextBlink = Utilities.GetRandBetweenP1(0.4f, 1.8f); }