public override void UpdateArmorSet(Player p) { p.setBonus = "Hold the Sense move key and left/right while an enemy is moving towards you to dodge" + "\r\n" + "20% increased ranged damage" + "\r\n" + "Free movement in liquid" + "\r\n" + "Default gravity in space" + "\r\n" + "Immune to lava damage" + "\r\n" + "Immune to Distorted and Amplified Gravity" + "\r\n" + "Negates fall damage" + "\r\n" + "Infinite breath" + "\r\n" + "40% decreased overheat use"; p.rangedDamage += 0.20f; p.ignoreWater = true; p.gravity = Player.defaultGravity; p.lavaImmune = true; p.noFallDmg = true; p.gills = true; p.buffImmune[BuffID.VortexDebuff] = true; p.buffImmune[mod.BuffType("GravityDebuff")] = true; MPlayer mp = p.GetModPlayer <MPlayer>(); mp.overheatCost -= 0.40f; mp.SenseMove(p); mp.visorGlow = true; }
public MGame(MInGamePage page) { instance = this; this.page = page; this.container = page; _players.Add(new MPlayer(0, true,"YOU",MColor.Green)); _players.Add(new MPlayer(1, false,"RED",MColor.Red)); _players.Add(new MPlayer(2, false,"BLUE",MColor.Blue)); _ais.Add (new MPlayerAI(_players[1], _players)); _ais.Add (new MPlayerAI(_players[2], _players)); _human = _players[0]; _beasts = new MBeast[_players.Count * (_human.maxBeasts + 20)]; CreateTowers(); container.AddChild(_beastContainer = new FContainer()); container.AddChild(_beastContainerSpecial = new FContainer()); container.AddChild(effectLayer = new MEffectLayer()); container.AddChild(hudLayer = new FContainer()); CreateUI(); Futile.instance.SignalUpdate += HandleUpdate; Futile.touchManager.AddMultiTouchTarget(this); ShowNote("CLICK TO MOVE THE GREEN GUYS!\nDESTROY THE ENEMY CELLS!\nEVOLVE BY USING DNA!",10.0f); }
public override void UpdateAccessory(Player player, bool hideVisual) { MPlayer mp = player.GetModPlayer <MPlayer>(); mp.spaceJumpBoots = true; mp.hiJumpBoost = true; }
public override bool UseItem(Player player) { Projectile p = null; int b = player.FindBuffIndex(mod.BuffType("BloodWell")); for (int i = 999; i >= 0; i--) { if (Main.projectile[i].owner == player.whoAmI && Main.projectile[i].type == mod.ProjectileType("BloodWell")) { p = Main.projectile[i]; break; } } if (p == null || b == -1) { return(false); } if (player.buffTime[b] <= 241) { return(false); } player.buffTime[b] /= 2; player.AddBuff(mod.BuffType("BloodArmor"), 1200); MPlayer play = (MPlayer)player.GetModPlayer(mod, "MPlayer"); play.bloodArmor = player.buffTime[b] / 100; return(true); }
public override bool OnTileCollide(Vector2 oldVelocity) { float aiOut = 1.57f * 3; Vector2 tilePos = (projectile.Center) / 16; //determines which way the turret should face depending on how it collided //aiOut is the angle from turret to stand if (Main.tile[(int)tilePos.X, (int)tilePos.Y + 1].active() && projectile.oldVelocity.Y > 0) { aiOut = 1.57f * 3; } if (Main.tile[(int)tilePos.X + 1, (int)tilePos.Y].active() && projectile.oldVelocity.X > 0) { aiOut = 3.14f; } if (Main.tile[(int)tilePos.X - 1, (int)tilePos.Y].active() && projectile.oldVelocity.X <= 0) { aiOut = 0f; } if (Main.tile[(int)tilePos.X, (int)tilePos.Y - 1].active() && projectile.oldVelocity.Y <= 0) { aiOut = 1.57f; } Player player = Main.player[projectile.owner]; player.AddBuff(mod.BuffType("ShotgunTurret"), 18002); MPlayer mplayer = (MPlayer)player.GetModPlayer(mod, "MPlayer"); mplayer.shotgunTurret = true; int p = Projectile.NewProjectile(projectile.position.X, projectile.position.Y, 0, 0, mod.ProjectileType("ShotgunTurret"), projectile.damage, projectile.knockBack, projectile.owner, 0, aiOut); return(true); }
public static void RegisterPlayer(string netID, MPlayer player) { string _playerID = _PlayerIdPrefix + netID; players.Add(_playerID, player); player.transform.name = _playerID; }
public override void ModifyHitNPC(NPC target, ref int damage, ref float knockback, ref bool crit, ref int hitDirection) { Player player = Main.player[projectile.owner]; MPlayer mplayer = (MPlayer)(player.GetModPlayer(mod, "MPlayer")); float scalar = 1f + (float)Math.Pow(mplayer.specialProgressionCount, 1.6) / 8; float dam = 21 * scalar * (1 + (float)player.FishingLevel() / 100.0f); if (projectile.ai[1] == 1) { dam /= 2; } dam *= (Main.rand.Next(90, 111) / 100f); damage = (int)dam; if (target.knockBackResist != 0) { if (projectile.velocity.Y < 0) { target.velocity.Y += projectile.velocity.Y - .5f; } else { target.velocity.Y -= 3f; } } }
public override void UpdateAccessory(Player player, bool hideVisual) { MPlayer modPlayer = (MPlayer)player.GetModPlayer(mod, "MPlayer"); player.AddBuff(mod.BuffType("CrossBlastBuff"), 2); modPlayer.pyro = true; }
public override void UpdateAccessory(Player player, bool hideVisual) { MPlayer modPlayer = (MPlayer)player.GetModPlayer(mod, "MPlayer"); player.AddBuff(mod.BuffType("ReinforcedBurstBuff"), 2); modPlayer.nitro = true; }
public override void UpdateInventory(Player player) { MPlayer modPlayer = MPlayer.GetModPlayer(player); if (modPlayer.novaHelmet) { item.autoReuse = true; } if (!modPlayer.novaHelmet) { item.autoReuse = false; } if (player.FindBuffIndex(mod.BuffType("LongFuseBuff")) != -1) { item.shootSpeed = 11f; } if (player.FindBuffIndex(mod.BuffType("LongFuseBuff")) < 1) { item.shootSpeed = 8f; } if (modPlayer.core) { item.autoReuse = true; } if (!modPlayer.core) { item.autoReuse = false; } }
public override void Update(Player player, ref int buffIndex) { MPlayer mplayer = player.GetModPlayer <MPlayer>(); float scalar = 1 + mplayer.specialProgressionCount / 7f; player.meleeDamage += .18f * scalar; }
public override void Kill(int timeLeft) { MPlayer mp = Main.player[projectile.owner].GetModPlayer <MPlayer>(); if (!mp.ballstate && !mp.shineActive) { if (projectile.penetrate > 0) { // Charged shot sounds played here for network purposes. if (comboSound == 0 || mp.statCharge < MPlayer.maxCharge) { if (((mp.statCharge >= (MPlayer.maxCharge * 0.5) && !missile) || (mp.statCharge >= MPlayer.maxCharge && missile)) && ChargeShotSound != "none") { Main.PlaySound(SoundLoader.customSoundType, (int)projectile.position.X, (int)projectile.position.Y, mod.GetSoundSlot(SoundType.Custom, "Sounds/" + ChargeShotSound)); } else if ((mp.statCharge >= 30 || missile) && ShotSound != "none") { Main.PlaySound(SoundLoader.customSoundType, (int)projectile.position.X, (int)projectile.position.Y, mod.GetSoundSlot(SoundType.Custom, "Sounds/" + ShotSound)); } } } mp.statCharge = 0; } if (soundInstance != null) { soundInstance.Stop(true); } soundPlayed = false; }
public override void DrawArmorColor(EquipType type, int slot, Player P, float shadow, ref Color color, ref int glowMask, ref Color glowMaskColor) { MPlayer mp = P.GetModPlayer <MPlayer>(); bool pseudoScrew = (mp.statCharge >= MPlayer.maxCharge && mp.somersault); if (mp.hyperColors > 0 || mp.speedBoosting || mp.shineActive || (pseudoScrew && mp.psuedoScrewFlash >= 3) || (mp.shineCharge > 0 && mp.shineChargeFlash >= 4)) { if (mp.hyperColors > 0) { color = P.GetImmuneAlphaPure(new Color(mp.r, mp.g, mp.b, 255), shadow); } else if (pseudoScrew && mp.psuedoScrewFlash >= 3) { color = P.GetImmuneAlphaPure(mp.chargeColor, shadow); } else if (mp.shineActive || (mp.shineCharge > 0 && mp.shineChargeFlash >= 4)) { color = P.GetImmuneAlphaPure(new Color(255, 216, 0), shadow); } else if (mp.speedBoosting) { color = P.GetImmuneAlphaPure(new Color(0, 200, 255), shadow); } mp.morphColor = color; int dustType = 212; if (P.head <= 0 || P.body <= 0 || P.legs <= 0) { int dust = Dust.NewDust(new Vector2(P.position.X - P.velocity.X, P.position.Y - 2f - P.velocity.Y), P.width, P.height, dustType, -P.velocity.X * 0.25f, -P.velocity.Y * 0.25f, 100, color, 1.0f); Main.dust[dust].noGravity = true; Main.dust[dust].noLight = true; } } }
public override void UpdateAccessory(Player player, bool hideVisual) { MPlayer modPlayer = (MPlayer)player.GetModPlayer(mod, "MPlayer"); player.AddBuff(mod.BuffType("AmplifiedEnchantmentSolution"), 2); modPlayer.enchanted = true; }
/// <inheritdoc /> public override MPlayer GeneratePlayer(string id) { MPlayer player = new MPlayer(id); base.Players.Add(id, player); return(player); }
public override bool Shoot(Player player, ref Vector2 position, ref float speedX, ref float speedY, ref int type, ref int damage, ref float knockBack) { if (player.altFunctionUse == 2) { MPlayer modPlayer = (MPlayer)player.GetModPlayer(mod, "MPlayer"); int bonus = modPlayer.increasedCounterLength ? 15 : 5; player.AddBuff(mod.BuffType("CounterStanceRapier"), item.useAnimation + bonus); player.AddBuff(mod.BuffType("CounterCooldown"), 360); return(false); } if (player.FindBuffIndex(mod.BuffType("Counter")) >= 0) { damage = (int)(damage * 3.5); MPlayer modPlayer = (MPlayer)player.GetModPlayer(mod, "MPlayer"); if (modPlayer.counterPlus) { damage = (int)(damage * 1.2); } player.DelBuff(player.FindBuffIndex(mod.BuffType("Counter"))); for (int i = 0; i < 20; i++) { int d = Dust.NewDust(position, item.width, item.height, 259, speedX, speedY); } //lunge player.velocity.X = speedX * 3.4f; player.velocity.Y = speedY * 3.4f; player.immune = true; player.immuneTime = 60; } return(true); }
public override void UpdateAccessory(Player player, bool hideVisual) { MPlayer modPlayer = (MPlayer)player.GetModPlayer(mod, "MPlayer"); player.AddBuff(mod.BuffType("AlchemistGloveBuff"), 2); modPlayer.glove = true; }
public override void UpdateAccessory(Player player, bool hideVisual) { MPlayer mp = player.GetModPlayer <MPlayer>(); mp.spaceJumpBoots = true; mp.screwAttack = true; mp.screwAttackDmg = Math.Max(player.GetWeaponDamage(item), mp.screwAttackDmg); }
/// <summary> /// Стандартный конструктор /// </summary> /// <param name="parButtonToCheck">Игровая кнопка-действие, которое нужно проверять</param> /// <param name="parPlayerToCheck">Игрок, которого нужно проверять</param> /// <param name="parPerformOnSuccess">Действия при нажатии на проверяемую игровую кнопку</param> /// <param name="parAutoRemove">Следует ли убрать действие после первого успешного выполнения</param> public KeyListenerData(EGameActionButton parButtonToCheck, MPlayer parPlayerToCheck, Action parPerformOnSuccess, bool parAutoRemove) { ButtonToCheck = parButtonToCheck; PlayerToCheck = parPlayerToCheck; PerformOnSuccess = parPerformOnSuccess; AutoRemove = parAutoRemove; }
private void SMButtonClick(UIMouseEvent evt, UIElement e) { MPlayer mp = Main.LocalPlayer.GetModPlayer <MPlayer>(); mp.senseMoveEnabled = !mp.senseMoveEnabled; Main.PlaySound(12); clicked = true; }
private void SAButtonClick(UIMouseEvent evt, UIElement e) { MPlayer mp = Main.LocalPlayer.GetModPlayer <MPlayer>(); mp.psuedoScrewActive = !mp.psuedoScrewActive; Main.PlaySound(12); clicked = true; }
public override void UpdateAccessory(Player player, bool hideVisual) { MPlayer mp = player.GetModPlayer <MPlayer>(); mp.speedBooster = true; mp.spaceJump = true; mp.screwAttack = 1; }
public override void UpdateArmorSet(Player player) { player.setBonus = "Allows the ability to Sense Move" + "\r\n" + "Double tap a direction (when enabled)"; MPlayer mp = player.GetModPlayer <MPlayer>(); mp.senseMove = true; }
public override void ModifyHitNPC(NPC target, ref int damage, ref float knockback, ref bool crit, ref int hitDirection) { Player player = Main.player[projectile.owner]; MPlayer mPlayer = player.GetModPlayer <MPlayer>(); float scalar = 1f + (float)Math.Pow(mPlayer.specialProgressionCount, 1.75) / 6; damage = (int)(14 * scalar); }
public override void UpdateVanitySet(Player P) { base.UpdateVanitySet(P); MPlayer mp = P.GetModPlayer <MPlayer>(); mp.thrusters = false; mp.visorGlowColor = new Color(0, 228, 255); }
public override void PostDrawInWorld(SpriteBatch sb, Color lightColor, Color alphaColor, float rotation, float scale, int whoAmI) { DrawLights(sb, Main.player[Main.myPlayer]); MPlayer mp = Main.player[Main.myPlayer].GetModPlayer <MPlayer>(); lightColor = mp.morphColorLights; alphaColor = lightColor; }
public override void AI() { projectile.rotation = (float)Math.Atan2((double)projectile.velocity.Y, (double)projectile.velocity.X) + 1.57f; MPlayer mp = Main.player[projectile.owner].GetModPlayer <MPlayer>(); Lighting.AddLight(projectile.Center, (float)mp.r / 255f, (float)mp.g / 255f, (float)mp.b / 255f); mProjectile.WaveCollide(projectile, 18); }
public override void UpdateEquip(Player player) { player.rangedDamage += 0.05f; player.spikedBoots += 1; MPlayer mp = player.GetModPlayer <MPlayer>(); mp.maxOverheat += 5; }
public override void UpdateEquip(Player player) { MPlayer mp = player.GetModPlayer <MPlayer>(); mp.maxOverheat += 30; mp.overheatCost -= 0.20f; mp.missileCost -= 0.05f; }
public override void UpdateEquip(Player player) { player.rangedDamage += 0.05f; player.nightVision = true; MPlayer mp = player.GetModPlayer <MPlayer>(); mp.maxOverheat += 25; }
public override void AI() { Player P = Main.player[projectile.owner]; projectile.position.X = P.Center.X - projectile.width / 2; projectile.position.Y = P.Center.Y - projectile.height / 2; SpeedSound++; if (SpeedSound == 4) { soundInstance = Main.PlaySound(SoundLoader.customSoundType, (int)P.position.X, (int)P.position.Y, mod.GetSoundSlot(SoundType.Custom, "Sounds/SpeedBoosterStartup")); } if (soundInstance != null && SpeedSound == 82) { soundInstance = Main.PlaySound(SoundLoader.customSoundType, (int)P.position.X, (int)P.position.Y, mod.GetSoundSlot(SoundType.Custom, "Sounds/SpeedBoosterLoop")); SpeedSound = 68; } MPlayer mp = P.GetModPlayer <MPlayer>(); if (mp.ballstate || !mp.speedBoosting || mp.SMoveEffect > 0) { if (soundInstance != null) { soundInstance.Stop(true); } projectile.Kill(); } foreach (Terraria.Projectile Pr in Main.projectile) { if (Pr != null) { if (Pr.active && (Pr.type == mod.ProjectileType("ShineSpark") || Pr.type == mod.ProjectileType("SpeedBall"))) { if (soundInstance != null) { soundInstance.Stop(true); } projectile.Kill(); return; } } } Lighting.AddLight((int)((float)projectile.Center.X / 16f), (int)((float)(projectile.Center.Y) / 16f), 0, 0.75f, 1f); float rotation = (float)Math.Atan2(P.position.Y - P.shadowPos[0].Y, P.position.X - P.shadowPos[0].X); float rotation1 = rotation + ((float)Math.PI / 2); float rotation2 = rotation - ((float)Math.PI / 2); Vector2 vect = P.Center - new Vector2(4, 4) + rotation.ToRotationVector2() * 24f; Vector2 vel = P.position - mp.oldPosition; Vector2 vel1 = rotation1.ToRotationVector2() * Math.Abs(P.velocity.X); Vector2 vel2 = rotation2.ToRotationVector2() * Math.Abs(P.velocity.X); int num20 = Dust.NewDust(vect - vel1, 1, 1, 67, vel1.X + vel.X, vel1.Y + vel.Y, 100, default(Color), 2f); Main.dust[num20].noGravity = true; int num21 = Dust.NewDust(vect - vel2, 1, 1, 67, vel2.X + vel.X, vel2.Y + vel.Y, 100, default(Color), 2f); Main.dust[num21].noGravity = true; }
public MTower(MPlayer player) { this.player = player; health = maxHealth; AddChild(_sprite = new FSprite(_towerElements[0].name)); _sprite.color = player.color.color; UpdateHealthPercent(); }
//TODO: use something other than GoTween to do this... seems really overkill for something that happens ALL the time public void ShowAttackMarkForPlayer(MPlayer player, Vector2 position) { if(RXRandom.Float() < 0.5f) FSoundManager.PlaySound("AttackHit",1.0f); FSprite attackMark = _attackMarks[_nextAttackMarkIndex]; attackMark.color = player.color.addColor; attackMark.x = position.x; attackMark.y = position.y; attackMark.alpha = 1.0f; _nextAttackMarkIndex = (_nextAttackMarkIndex+1)%_attackMarkCount; }
public MPlayerAI(MPlayer player, List<MPlayer>players) { this.player = player; foreach(MPlayer otherPlayer in players) { if(otherPlayer != player) { otherPlayers.Add(otherPlayer); } } framesTillNextAction = RXRandom.Range(200,400); }
public void CreateDNA(MPlayer player, Vector2 position) { FSprite coin = new FSprite("Coin.png"); coin.shader = FShader.Additive; coin.color = player.color.color; AddChild(coin); coin.x = position.x; coin.y = position.y; coin.data = player; coin.scale = 1.0f; coin.alpha = 0.1f; Go.to (coin,0.8f,new TweenConfig().floatProp("alpha", 1.0f).floatProp("x",player.tower.x).floatProp("y",player.tower.y).onComplete(HandleDNAComplete)); Go.to (coin,0.3f,new TweenConfig().floatProp("scale",0.3f).setDelay(0.5f)); }
public void ShowCrosshairForPlayer(MPlayer player, Vector2 position) { FSoundManager.PlaySound("SetTarget",0.4f); FSprite crosshair = new FSprite("Crosshair.png"); crosshair.shader = FShader.Additive; crosshair.color = player.color.color; AddChild(crosshair); crosshair.x = position.x; crosshair.y = position.y; Go.to (crosshair,0.2f,new TweenConfig().setDelay(0.1f).floatProp("alpha", 0.0f).onComplete(HandleCrosshairComplete)); }
public void RemoveDNA(MPlayer player, int amount) { player.dna -= amount; if(player.isHuman) { _dnaLabel.text = _human.dna + "&"; for(int s = 0; s<player.stats.Length; s++) { _statViews[s].Update(); } } }
public void SetAttackTarget(MPlayer player, Vector2 targetPosition) { float distance = Mathf.Sqrt(targetPosition.x*targetPosition.x + targetPosition.y*targetPosition.y); if(distance > MConfig.WALL_RADIUS + 50.0f) return; //no attacking too far outside the wall List<MBeast> beasts = player.beasts; int beastCount = beasts.Count; for(int b = 0; b<beastCount; b++) { MBeast beast = beasts[b]; beast.hasTarget = true; beast.target = targetPosition; } if(player.isHuman) effectLayer.ShowCrosshairForPlayer(player, targetPosition); }
/// <summary> /// This method is only used by the MPlayer class instance. /// </summary> /// <param name="to">The new state of the MPlayer instance.</param> /// <param name="msg">A status message associated with the new state.</param> internal void StateChanged(MPlayer.State to, string msg) { Application.DoEvents(); if (InvokeRequired) BeginInvoke(new StateChangedHandler(StateChanged), new object[] {to, msg}); else { if (Log.IsInfoEnabled) Log.Info("Changing state to: " + to); switch (to) { case MPlayer.State.Initial: case MPlayer.State.Running: case MPlayer.State.Caching: EnablePlayControls(false); resetButton.Enabled = false; break; case MPlayer.State.Playing: progressTimer.Start(); EnablePlayControls(true); resetButton.Enabled = false; break; case MPlayer.State.Paused: progressTimer.Stop(); EnablePlayControls(true); resetButton.Enabled = false; break; case MPlayer.State.Stopped: progressTimer.Stop(); EnablePlayControls(false); resetButton.Enabled = true; playButton.Enabled = true; if (_scrobber != null) _scrobber.Stop(); msg = "Stopped."; break; case MPlayer.State.Ended: progressTimer.Stop(); EnablePlayControls(false); resetButton.Enabled = true; playButton.Enabled = true; if (_scrobber != null) _scrobber.Stop(); positionTrackbar.Value = 100; msg = "Finished."; break; case MPlayer.State.Error: StopPlaying(); EnablePlayControls(false); resetButton.Enabled = false; break; default: if (Log.IsWarnEnabled) Log.Warn("Unexpected state " + Player.PlayerState); break; } if (msg != null) SetStatus(msg); } }
private void KillPlayer(MPlayer player) { player.isDead = true; effectLayer.ShowTowerExplosionForTower(player.tower); player.tower.RemoveFromContainer(); _towers.Remove(player.tower); for(int b = 0; b< player.beasts.Count; b++) { MBeast beast = player.beasts[b]; if(beast.health > 0) { effectLayer.ShowBeastExplosionForBeast(beast); RemoveBeast(beast); } } int remainingPlayers = 0; MPlayer remainingPlayer = null; for(int p = 0; p<_players.Count; p++) { if(!_players[p].isDead) { remainingPlayers++; remainingPlayer = _players[p]; } } if(remainingPlayers == 1) { _winningPlayer = remainingPlayer; FLabel winLabel; if(_winningPlayer.isHuman) { winLabel = new FLabel("Cubano","YOU WIN!"); FSoundManager.PlaySound("WinGame",1.0f); } else { winLabel = new FLabel("Cubano","YOU LOSE!"); FSoundManager.PlaySound("LoseGame",1.0f); } container.AddChild(winLabel); winLabel.scale = 0.8f; Go.to (winLabel,6.0f,new TweenConfig().floatProp("scale",1.0f).onComplete(HandleWinComplete)); page.backButton.label.text = "AGAIN?"; } else if(player.isHuman) { ShowNote("YOU LOSE!\nPRESS BACK TO TRY AGAIN", 5.0f); page.backButton.label.text = "AGAIN?"; FSoundManager.PlaySound("LoseGame",1.0f); } else { ShowNote (player.name.ToUpper()+" WAS ELIMINATED!", 5.0f); FSoundManager.PlaySound("LoseGame",1.0f); } }
public void Start(MPlayer player) { this.player = player; hasTarget = false; target = new Vector2(0,0); velocity = new Vector2(0,0); attackTarget = null; attackTower = null; isAttacking = false; isAttackingTower = false; attackFrame = 0; blinkFrame = 0; if(player.leapLevel < 1) { beastType = MBeastType.A; } else if(player.leapLevel < 2) { beastType = MBeastType.B; } else { beastType = MBeastType.C; } UpdateStats(); _advanceCount = 0; _elementSet = _elementSets[player.color.index*MBeastType.beastTypes.Length + beastType.index]; sprite.element = _elementSet.walkElements[0]; sprite.color = MGame.colorWhite; this.scale = 0.0f; this.isEnabled = true; }
void PlayItem(PlayItem item) { // Disable controls. Controls re-activated on mplayer state change. EnablePlayControls(false); resetButton.Enabled = false; // Build the request URL. StringBuilder url = new StringBuilder(); url.Append(Plugin.Host.Paths.LocalPlaydarUrl).Append("sid/").Append(item.SId); if (Log.IsDebugEnabled) Log.Debug("Stream filename " + url); // Play the music! SetStatus("Requesting audio stream."); Player = new MPlayer(item, url.ToString(), this); Player.Volume = volumeTrackbar.Value; Player.RunAsync(); }
public void CreateBeast(MPlayer player) { if(player.beasts.Count >= player.maxBeasts) return; //TODO: Show a "max beasts limit reached!" indicator on screen player.isDirty = true; MBeast beast = MBeast.New(); if(beast.container != _beastContainer) _beastContainer.AddChild(beast); beast.Start(player); if(_beasts.Length <= _beastCount) { Array.Resize(ref _beasts,_beastCount+20); } _beasts[_beastCount++] = beast; player.beasts.Add(beast); float creationAngle = player.angle + player.nextBeastCreationAngle; beast.x = player.tower.x + Mathf.Sin (creationAngle*RXMath.DTOR) * (MConfig.TOWER_RADIUS+20.0f); beast.y = player.tower.y + Mathf.Cos (creationAngle*RXMath.DTOR) * (MConfig.TOWER_RADIUS+20.0f); player.nextBeastCreationAngle = (player.nextBeastCreationAngle + 30.0f)%360.0f; }
public void AddDNA(MPlayer player) { player.dna += MConfig.DNA_PER_KILL*(player.leapLevel+1); if(player.isHuman) { FSoundManager.PlaySound("GetMoney",1.0f); _dnaLabel.text = _human.dna + "&"; for(int s = 0; s<player.stats.Length; s++) { _statViews[s].Update(); } } }