Esempio n. 1
0
 public void Take(Player player)
 {
     GameEffectManager.Play("pickup");
     player.Score++;
     Item.OnTake(this);
     Remove();
 }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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;
        }
Esempio n. 4
0
    // 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;
    }
Esempio n. 5
0
        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");
        }
Esempio n. 6
0
 protected override void Die()
 {
     base.Die();
     if (Level.Player != null)
     {
         Level.Player.Score += 1000;
         Level.Player.GameWon();
     }
     GameEffectManager.Play("bossdeath");
 }
Esempio n. 7
0
        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")}";
        }
Esempio n. 8
0
        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);
                }
            }
        }
Esempio n. 9
0
    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));
        }
    }
Esempio n. 10
0
 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));
 }
Esempio n. 12
0
    // 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();
    }
Esempio n. 13
0
 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));
         }
     }
 }
Esempio n. 14
0
    // 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>();
    }
Esempio n. 15
0
    // 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);
        }
    }
Esempio n. 16
0
        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;
        }
Esempio n. 17
0
 public SmashParticle(int x, int y)
 {
     X = x;
     Y = y;
     GameEffectManager.Play("monsterhurt");
 }
Esempio n. 18
0
        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);
        }
Esempio n. 19
0
 public BlockEffects(Placeable cible, Placeable lanceur, GameEffectManager gameEffectManager) : base(cible, lanceur)
 {
     this.gameEffectManager = gameEffectManager;
 }
Esempio n. 20
0
 protected override void Die()
 {
     base.Die();
     GameEffectManager.Play("death");
 }