public void Take(Player player) { GameEffectManager.Play("pickup"); player.Score++; Item.OnTake(this); Remove(); }
public override bool Interact(Level level, int xt, int yt, Player player, Item item, int attackDir) { var toolItem = item as ToolItem; if (toolItem == null) { return(false); } ToolItem tool = toolItem; if (tool.ObjectType == ToolType.Shovel && player.PayStamina(4 - tool.Level)) { level.SetTile(xt, yt, Hole, 0); level.Add(new ItemEntity(new ResourceItem(Resource.Dirt), xt * 16 + Random.NextInt(10) + 3, yt * 16 + Random.NextInt(10) + 3)); GameEffectManager.Play("monsterhurt"); return(true); } if (tool.ObjectType != ToolType.Hoe || !player.PayStamina(4 - tool.Level)) { return(false); } level.SetTile(xt, yt, Farmland, 0); GameEffectManager.Play("monsterhurt"); return(true); }
protected override void DoHurt(int damage, int attackDir) { if (HurtTime > 0 || InvulnerableTime > 0) { return; } GameEffectManager.Play("playerhurt"); Level.Add(new TextParticle($"{damage}", X, Y, Color.Get(-1, 504, 504, 504))); Health -= damage; if (attackDir == 0) { YKnockback = +6; } if (attackDir == 1) { YKnockback = -6; } if (attackDir == 2) { XKnockback = -6; } if (attackDir == 3) { XKnockback = +6; } HurtTime = 10; InvulnerableTime = 30; }
// Use this for initialization void InitGame() { gameTouchController = new GameTouchController(); //创建角色 GameObject roleObj = Resources.Load("Prefabs/MapObj/InGameRole") as GameObject; roleObj = Instantiate(roleObj); role = roleObj.GetComponent <InGameRole>(); roleObj.transform.position = new Vector3(0, GetGameRect().y + 5, 0); gameEffectManager = new GameEffectManager(); // inGameLevelManager = new InGameLevelManager(); inGameLevelManager.Init(); inGameUIManager = new InGameUIManager(); inGameUIManager.Init(); int selmodel = PlayerPrefs.GetInt(GameConst.USERDATANAME_MODEL, 0); modelManager = InGameBaseModel.Create(selmodel); modelManager.Init(); inGameColorManager = new InGameColorManager(); inGameColorManager.Init(); gameState = enGameState.playing; }
protected override void LoadContent() { Form myGameForm = (Form)Control.FromHandle(Window.Handle); myGameForm.Closing += ClosingFunction; myGameForm.StartPosition = FormStartPosition.CenterScreen; var pp = 0; _colors = new Microsoft.Xna.Framework.Color[256]; for (var r = 0; r < 6; r++) { for (var g = 0; g < 6; g++) { for (var b = 0; b < 6; b++) { var rr = r * 255 / 5; var gg = g * 255 / 5; var bb = b * 255 / 5; var mid = (rr * 30 + gg * 59 + bb * 11) / 100; var r1 = (rr + mid * 1) / 2 * 230 / 255 + 10; var g1 = (gg + mid * 1) / 2 * 230 / 255 + 10; var b1 = (bb + mid * 1) / 2 * 230 / 255 + 10; _colors[pp++] = new Microsoft.Xna.Framework.Color(r1, g1, b1); } } } //while (pp < 256) //{ // colors[pp++] = Color.Black; //} var spriteSheet = Content.Load <Texture2D>("Textures/icons"); SpriteSheet.LoadTiles(Content); Screen = new Screen(GameConts.Width, GameConts.Height, new SpriteSheet(spriteSheet)); _lightScreen = new Screen(GameConts.Width, GameConts.Height, new SpriteSheet(spriteSheet)); GameEffectManager.Initialize(Content); GameEffectManager.SetMasterVolume(GameConts.Instance.SoundEffectVolume); GameSongManager.Initialize(Content); GameSongManager.SetMasterVolume(GameConts.Instance.MusicVolume); _spriteBatch = new SpriteBatch(GraphicsDevice); _pixels = new Microsoft.Xna.Framework.Color[GameConts.Width * GameConts.Height]; _image = new Texture2D(GraphicsDevice, GameConts.Width, GameConts.Height); _input = new InputHandler(); UiManager = new UiManager(this, _input); ResetGame(); SetMenu(new TitleMenu()); //GameSongManager.Play("arpanauts"); }
protected override void Die() { base.Die(); if (Level.Player != null) { Level.Player.Score += 1000; Level.Player.GameWon(); } GameEffectManager.Play("bossdeath"); }
protected internal override void HandleInput(InputHandler input) { float volume = GameEffectManager.GetMasterVolume(); if (_type == SoundType.Music) { volume = GameSongManager.GetMasterVolume(); } _current = volume; if (input.Right.Clicked) { volume += 0.05f; if (volume > 1.0f) { volume = 1.0f; } } else if (input.Left.Clicked) { volume -= 0.05f; if (volume < 0.0f) { volume = 0.0f; } } if (!volume.Equals(_current)) { switch (_type) { case SoundType.Effects: GameConts.Instance.SoundEffectVolume = volume; GameEffectManager.SetMasterVolume(volume); break; case SoundType.Music: GameConts.Instance.MusicVolume = volume; GameSongManager.SetMasterVolume(volume); break; default: throw new ArgumentOutOfRangeException(); } GameConts.Instance.Save(); } Text = $"{_volumeLabel}{volume.ToString("P0")}"; }
public override void Tick() { if (Input.Menu.Clicked) { Game.SetMenu(null); } if (Input.Up.Clicked) { _selected--; } if (Input.Down.Clicked) { _selected++; } int len = _recipes.Size(); if (len == 0) { _selected = 0; } if (_selected < 0) { _selected += len; } if (_selected >= len) { _selected -= len; } if (Input.Attack.Clicked && len > 0) { Recipe r = _recipes.Get(_selected); r.CheckCanCraft(_player); if (r.CanCraft) { r.DeductCost(_player); r.Craft(_player); GameEffectManager.Play("craft"); _recipes.Sort(new RecipeSorter()); } for (int i = 0; i < _recipes.Size(); i++) { _recipes.Get(i).CheckCanCraft(_player); } } }
private void ParseGameEffect_SpawnMinionThrow(TextFieldParser parser, EffectDef def) { Debug.Log("Hey are you parsing SpawnMinonThrow?"); TagWeights tagWeights = Utils.ParseTagWeights(parser, "Params", true); if (tagWeights == null) { def.worldMethod = GameEffectManager.CreateMethod_LogMessage(LogLevel.Error, "Broken SpawnMinionThrow GameEffect for: " + def.id); } else { int level; string tagAndWeight = tagWeights.GetTagAndWeight(0, out level); def.worldMethod = CreateMethod_SpawnMinionThrow(tagAndWeight, level, Utils.TryParseFloat(parser, "Radius", null), Utils.TryParseFloat(parser, "Duration", null)); } }
protected internal override void HandleInput(InputHandler input) { if (!input.Attack.Clicked && !input.Menu.Clicked) { return; } if (!Enabled) { return; } if (ClickSound) { GameEffectManager.Play("test"); } _function?.Invoke(); }
protected internal override void HandleInput(InputHandler input) { if (!input.Attack.Clicked && !input.Menu.Clicked) { return; } if (!Enabled) { return; } if (ClickSound) { GameEffectManager.Play("test"); } _game.SetMenu(new AnimatedTransitionMenu(_goto)); }
// Use this for initialization void Start() { gameTouchController = new GameTouchController(); touchManager = new TouchManager(); gameEffectManager = new GameEffectManager(); inGameObjectManager = new InGameObjectManager(); inGameObjectManager.Init(); inGamePlayerManager = new InGamePlayerManager(); inGamePlayerManager.Init(); inGameLevelManager = new InGameLevelManager(); inGameLevelManager.Init(); inGameMapManager = new InGameMapManager(); inGameMapManager.Init(); }
private void ParseGameEffect_MaybeSpawnMinions(TextFieldParser parser, EffectDef def) { // 20% chance to spawn minions? if (UnityEngine.Random.Range(0, 100) < 5) { TagWeights tagWeights = Utils.ParseTagWeights(parser, "Params", true); if (tagWeights == null) { def.worldMethod = GameEffectManager.CreateMethod_LogMessage(LogLevel.Error, "Broken SpawnMinions GameEffect for: " + def.id); } else { string tagAndWeight = tagWeights.GetTagAndWeight(0, out int level); def.worldMethod = GameEffectManager.CreateMethod_SpawnMinions(tagAndWeight, level, Utils.TryParseFloat(parser, "Radius", null), Utils.TryParseFloat(parser, "Duration", null)); } } }
// Use this for initialization void Start() { gamePlayerController = new GamePlayerController(); inGameStateManager = new InGameStateManager(); inGameStateManager.Init(); inGameObjManager = new InGameObjManager(); inGameObjManager.Init(); inGamePlayerManager = new InGamePlayerManager(); inGamePlayerManager.Init(); inGameMapManager = new InGameMapManager(); inGameMapManager.Init(); gameEffectManager = new GameEffectManager(); imageEffect_MoblieBloom = GameObject.Find("Main Camera").GetComponent <ImageEffect_MoblieBloom>(); }
// Use this for initialization void InitGame() { gameTouchController = new GameTouchController(); //创建角色 GameObject roleObj = Resources.Load("Prefabs/MapObj/InGameRole") as GameObject; roleObj = Instantiate(roleObj); role = roleObj.GetComponent <InGameRole>(); roleObj.transform.position = new Vector3(0, GetGameRect().y + 5, 0); gameEffectManager = new GameEffectManager(); // inGameLevelManager = new InGameLevelManager(); inGameLevelManager.Init(); inGameUIManager = new InGameUIManager(); inGameUIManager.Init(); int selmodel = PlayerPrefs.GetInt(GameConst.USERDATANAME_MODEL, 0); modelManager = InGameBaseModel.Create(selmodel); modelManager.Init(); InGameColorManager.GetInstance().Init(); inGameUIManager.gamePadManager.scoreslabel.SetColor(InGameColorManager.GetInstance().bgColor); gameState = enGameState.playing; int teachCount = PlayerPrefs.GetInt("teachcount", 0); if (teachCount < 2) { GameObject teachObj = Resources.Load("Prefabs/UI/TeachLayer") as GameObject; teachObj = Instantiate(teachObj); PlayerPrefs.SetInt("teachcount", teachCount + 1); } }
protected virtual void DoHurt(int damage, int attackDir) { if (HurtTime > 0) { return; } if (Level.Player != null) { int xd = Level.Player.X - X; int yd = Level.Player.Y - Y; if (xd * xd + yd * yd < 80 * 80) { GameEffectManager.Play("monsterhurt"); } } Level.Add(new TextParticle($"{damage}", X, Y, Color.Get(-1, 500, 500, 500))); Health -= damage; if (attackDir == 0) { YKnockback = +6; } if (attackDir == 1) { YKnockback = -6; } if (attackDir == 2) { XKnockback = -6; } if (attackDir == 3) { XKnockback = +6; } HurtTime = 10; }
public SmashParticle(int x, int y) { X = x; Y = y; GameEffectManager.Play("monsterhurt"); }
public override void Tick() { Game.UiManager.Tick(); var index = _options.IndexOf(_options[_selected]); if (Input.Up.Clicked) { GameEffectManager.Play("menu_move"); _selected--; _selectedItem--; if (_selected < 0) { _selected = 0; } if (_selectedItem < 0) { var item = _options.Skip(_selected).Take(1).FirstOrDefault(); if (item != null) { if (_options.IndexOf(item) != index) { _visible.RemoveAt(_visible.Count - 1); _visible.Insert(0, item); } _selectedItem = 0; } } } if (Input.Down.Clicked) { GameEffectManager.Play("menu_move"); _selected++; _selectedItem++; if (_selected > _options.Count - 1) { _selected = _options.Count - 1; } if (_selectedItem > MaxToShow - 1) { var item = _options.Skip(_selected).Take(1).FirstOrDefault(); if (item != null) { if (_options.IndexOf(item) != index) { _visible.RemoveAt(0); _visible.Insert(_visible.Count, item); } _selectedItem = _visible.Count - 1; } } } _options[_selected].HandleInput(Input); }
public BlockEffects(Placeable cible, Placeable lanceur, GameEffectManager gameEffectManager) : base(cible, lanceur) { this.gameEffectManager = gameEffectManager; }
protected override void Die() { base.Die(); GameEffectManager.Play("death"); }