コード例 #1
0
 public void init()
 {
     m_image          = new GameObject().AddComponent <Image>();
     m_heart          = new Heart(m_image);
     m_HeartContainer = new HeartContainer(new List <Heart> {
         m_heart
     });
 }
コード例 #2
0
 private void Start()
 {
     _heartContainer           = new HeartContainer(_images.Select(image => new Heart(image)).ToList());
     _score                    = playerController.scoreObj;
     playerController.Healed  += (sender, args) => _heartContainer.Replenish(args.Amount);
     playerController.Damaged += (sender, args) => _heartContainer.Deplate(args.Amount);
     playerController.Scored  += (sender, args) => _score.AddScore(args.Amount);
 }
コード例 #3
0
ファイル: App.cs プロジェクト: evilryo0309/tdd-practice
    private void Start()
    {
        _player         = new Player(20, 20);
        _heartContainer = new HeartContainer(
            _images.Select(image => new Heart(image)).ToList());

        _player.Healed  += (sender, args) => _heartContainer.Replenish(args.Amount);
        _player.Damaged += (sender, args) => _heartContainer.Deplete(args.Amount);
    }
コード例 #4
0
ファイル: GameManager.cs プロジェクト: maqqr/7drl2019
 internal void UpdateHearts(Creature creature, HeartContainer container)
 {
     if (creature)
     {
         container.SetLife(creature.Hp);
         container.SetMaxLife(creature.MaxLife);
     }
     else
     {
         container.SetMaxLife(0);
     }
 }
コード例 #5
0
        public void _1_Sets_Image_With_0_Fill_To_25_Percent_Fill()
        {
            Target.fillAmount = 0;

            var heartContainer = new HeartContainer(new List <Heart> {
                _heart
            });

            heartContainer.Replenish(1);

            Assert.AreEqual(0.25f, Target.fillAmount);
        }
コード例 #6
0
        public void _3_Hearts_Are_Replenished_In_Order()
        {
            Target.fillAmount = 0;
            var image = new GameObject().AddComponent <Image>();

            image.fillAmount = 0;
            var heartContainer = new HeartContainer(new List <Heart> {
                new Heart(image), new Heart(Target)
            });

            heartContainer.Replenish(1);

            Assert.AreEqual(0, Target.fillAmount);
        }
コード例 #7
0
    void Hurt(GameObject blockHitPlayer)
    {
        AudioSource.PlayClipAtPoint(wrongColor, transform.position);
        HeartContainer hearts = heartContainer.GetComponent <HeartContainer>();

        hearts.isHurt[hearts.playerLivesLeft - 1] = true;

        PlayerPrefs.SetFloat("totalTimesHit", PlayerPrefs.GetFloat("totalTimesHit") + 1);
        Shake.WrongColor();
        blockHitPlayer.GetComponent <ChildBlock>().targetColor = Color.black;
        blockHitPlayer.transform.parent.GetComponent <ParentBlockController>().BreakAway();
        fadder.GetComponent <Image>().color = Color.white * .8f;
        iOSHapticFeedback.Instance.Trigger((iOSHapticFeedback.iOSFeedbackType) 5);
    }
コード例 #8
0
    private void Start()
    {
        console = FindObjectOfType <ConsoleWriter>();
        console.AddOnSendCommand(SetAlive);
        weapon.GetComponent <SpriteRenderer>().sortingOrder = GetComponent <SpriteRenderer>().sortingOrder + 1;

        myHeartContainer = HeartContainer.GetHeartContainer();

        attackCollider.tag = "Attack";
        fx_durth.Stop();

        justGrounded = true;
        timerInvincibilityCooldown = cooldownInvincibility;
    }
コード例 #9
0
 public void ResetGameMaster()
 {
     viewFinder           = viewFinderStart;
     playerController     = playerControllerStart;
     playerObject         = playerObjectStart;
     activeEnemies        = activeEnemiesStart;
     killedEnemies        = killedEnemiesStart;
     healingCrossFloating = healingCrossFloatingStart;
     guiCanvasGroup       = guiCanvasGroupStart;
     gameEnded            = gameEndedStart;
     _amount         = _amountStart;
     _images         = _imagesStart;
     _heartContainer = _heartContainerStart;
     _score          = _scoreStart;
 }
コード例 #10
0
 private void OnEnable()
 {
     viewFinderStart           = viewFinder;
     playerControllerStart     = playerController;
     playerObjectStart         = playerObject;
     activeEnemiesStart        = activeEnemies;
     killedEnemiesStart        = killedEnemies;
     healingCrossFloatingStart = healingCrossFloating;
     guiCanvasGroupStart       = guiCanvasGroup;
     gameEndedStart            = gameEnded;
     _amountStart         = _amount;
     _imagesStart         = _images;
     _heartContainerStart = _heartContainer;
     _scoreStart          = _score;
 }
コード例 #11
0
 private void SetHp(int Health)
 {
     foreach (var Hco in HeartContainers)
     {
         HeartContainer Hc = Hco.GetComponent <HeartContainer>();
         if (Health >= Hc.MaxHitpoints)
         {
             Hc.SetHealth(Hc.MaxHitpoints);
             Health -= Hc.MaxHitpoints;
         }
         else if (Health < Hc.MaxHitpoints)
         {
             Hc.SetHealth(Health);
             Health = 0;
         }
     }
 }
コード例 #12
0
ファイル: Texts.cs プロジェクト: tewtal/SMZ3Randomizer
        public static string ItemTextbox(Item item)
        {
            var name = item.Type switch {
                _ when item.IsMap => "Map",
                _ when item.IsCompass => "Compass",
                BottleWithGoldBee => BottleWithBee.ToString(),
                HeartContainerRefill => HeartContainer.ToString(),
                OneRupee => "PocketRupees",
                FiveRupees => "PocketRupees",
                TwentyRupees => "CouchRupees",
                TwentyRupees2 => "CouchRupees",
                FiftyRupees => "CouchRupees",
                BombUpgrade5 => "BombUpgrade",
                BombUpgrade10 => "BombUpgrade",
                ArrowUpgrade5 => "ArrowUpgrade",
                ArrowUpgrade10 => "ArrowUpgrade",
                var type => type.ToString(),
            };

            var items = scripts["Items"] as YamlMapping;

            return((items[name] as YamlValue)?.Value ?? (items["default"] as YamlValue).Value);
        }
コード例 #13
0
 private void Awake()
 {
     instance = this;
 }
コード例 #14
0
        public static void ParseRoomCSVFile()
        {
            string cwdPath = Directory.GetCurrentDirectory();

            string roomPath = "";

            if (roomNumber < storage.singleDigitRoomCap)
            {
                roomPath = @"0" + (roomNumber.ToString()) + ".csv";
            }
            else
            {
                roomPath = @"" + (roomNumber.ToString()) + ".csv";
            }

            cwdPath = cwdPath.Replace(@"\bin\Debug\netcoreapp3.1", @"\Classes\Level\RoomCSV");
            cwdPath = Path.Combine(cwdPath, roomPath);
            string[] lines = System.IO.File.ReadAllLines(cwdPath);

            foreach (string line in lines)
            {
                string[] segments = line.Split(new string[] { "," },
                                               StringSplitOptions.None);
                Vector2 position = new Vector2(0, 0);
                switch (segments[0])
                {
                case "Block":
                    position = utility.GetBlockSecondaryItemPosition(windowWidthFloor, windowHeightFloor, float.Parse(segments[2]), float.Parse(segments[1]));
                    BlockTile block;
                    tiles.Add(block    = new BlockTile(game, new TileSpriteFactory(game), position));
                    block.drawLocation = position;
                    break;

                case "Event":
                    position = utility.GetBlockSecondaryItemPosition(windowWidthFloor, windowHeightFloor, float.Parse(segments[2]), float.Parse(segments[1]));
                    EventTile eventTile;
                    tiles.Add(eventTile    = new EventTile(game, new TileSpriteFactory(game), position));
                    eventTile.drawLocation = position;
                    break;

                case "Pushable":
                    position = utility.GetPushablePosition(windowWidthFloor, windowHeightFloor, float.Parse(segments[2]), float.Parse(segments[1]));
                    PushableTile pushable;
                    tiles.Add(pushable    = new PushableTile(game, new TileSpriteFactory(game), position));
                    pushable.drawLocation = position;
                    break;

                case "Stair":
                    position = utility.GetBlockSecondaryItemPosition(windowWidthFloor, windowHeightFloor, float.Parse(segments[2]), float.Parse(segments[1]));
                    TPTile stair;
                    tiles.Add(stair    = new TPTile(game, new TileSpriteFactory(game), position));
                    stair.drawLocation = position;
                    break;

                case "Compass":
                    position = utility.GetBlockSecondaryItemPosition(windowWidthFloor, windowHeightFloor, float.Parse(segments[2]), float.Parse(segments[1]));
                    Compass compass;
                    items.Add(compass    = new Compass(game, new ItemSpriteFactory(game), position));
                    compass.drawLocation = position;
                    break;

                case "Heart":
                    position = utility.GetHeartPosition(windowWidthFloor, windowHeightFloor, float.Parse(segments[2]), float.Parse(segments[1]));
                    Heart heart;
                    items.Add(heart = new Heart(game, new ItemSpriteFactory(game), position));
                    heart.position  = position;
                    break;

                case "Key":
                    position = utility.GetCommonItemPosition(windowWidthFloor, windowHeightFloor, float.Parse(segments[2]), float.Parse(segments[1]));
                    Key key;
                    items.Add(key = new Key(game, new ItemSpriteFactory(game), position));
                    key.position  = position;
                    break;

                case "BlueRupee":
                    position = utility.GetCommonItemPosition(windowWidthFloor, windowHeightFloor, float.Parse(segments[2]), float.Parse(segments[1]));
                    BlueRupee blueRupee;
                    items.Add(blueRupee = new BlueRupee(game, new ItemSpriteFactory(game), position));
                    blueRupee.position  = position;
                    break;

                case "Bomb":
                    position = utility.GetBombPosition(windowWidthFloor, windowHeightFloor, float.Parse(segments[2]), float.Parse(segments[1]));
                    Bomb bomb;
                    items.Add(bomb = new Bomb(game, new ItemSpriteFactory(game), position));
                    bomb.position  = position;
                    break;

                case "Boomerang":
                    position = utility.GetCommonItemPosition(windowWidthFloor, windowHeightFloor, float.Parse(segments[2]), float.Parse(segments[1]));
                    Boomerang boomerang;
                    items.Add(boomerang = new Boomerang(game, new ItemSpriteFactory(game), position));
                    boomerang.position  = position;
                    break;

                case "Bow":
                    position = utility.GetCommonItemPosition(windowWidthFloor, windowHeightFloor, float.Parse(segments[2]), float.Parse(segments[1]));
                    Bow bow;
                    items.Add(bow = new Bow(game, new ItemSpriteFactory(game), position));
                    bow.position  = position;
                    break;

                case "HeartContainer":
                    position = utility.GetHeartContainerPosition(windowWidthFloor, windowHeightFloor, float.Parse(segments[2]), float.Parse(segments[1]));
                    HeartContainer heartContainer;
                    items.Add(heartContainer = new HeartContainer(game, new ItemSpriteFactory(game), position));
                    heartContainer.position  = position;
                    break;

                case "Map":
                    position = utility.GetCommonItemPosition(windowWidthFloor, windowHeightFloor, float.Parse(segments[2]), float.Parse(segments[1]));
                    Map map;
                    items.Add(map = new Map(game, new ItemSpriteFactory(game), position));
                    map.position  = position;
                    break;

                case "Fairy":
                    position = utility.GetCommonItemPosition(windowWidthFloor, windowHeightFloor, float.Parse(segments[2]), float.Parse(segments[1]));
                    Fairy fairy;
                    items.Add(fairy = new Fairy(game, new ItemSpriteFactory(game), position));
                    fairy.position  = position;
                    break;

                case "Triforce":
                    position = utility.GetTriforceOldPosition(windowWidth, windowHeightFloor);
                    Triforce triforce;
                    items.Add(triforce = new Triforce(game, new ItemSpriteFactory(game), position));
                    triforce.position  = position;
                    break;

                case "YellowRupee":
                    position = utility.GetCommonItemPosition(windowWidthFloor, windowHeightFloor, float.Parse(segments[2]), float.Parse(segments[1]));
                    YellowRupee yellowRupee;
                    items.Add(yellowRupee = new YellowRupee(game, new ItemSpriteFactory(game), position));
                    yellowRupee.position  = position;
                    break;

                case "Goriya":
                    position = utility.GetEnemyPosition(windowWidthFloor, windowHeightFloor, float.Parse(segments[2]), float.Parse(segments[1]));
                    enemies.Add(new EnemyGoriya(game, position));
                    break;

                case "Aquamentus":
                    position = utility.GetEnemyPosition(windowWidthFloor, windowHeightFloor, float.Parse(segments[2]), float.Parse(segments[1]));
                    enemies.Add(new EnemyAquamentus(game, position));
                    break;

                case "Roshi":
                    position = utility.GetEnemyPosition(windowWidthFloor, windowHeightFloor, float.Parse(segments[2]), float.Parse(segments[1]));
                    enemies.Add(new EnemyRoshi(game, position));
                    break;

                case "BladeTrap":
                    position = utility.GetEnemyPosition(windowWidthFloor, windowHeightFloor, float.Parse(segments[2]), float.Parse(segments[1]));
                    enemies.Add(new EnemyBladeTrap(game, position, new Vector2(storage.bladeTrapX, storage.bladeTrapY), game.link));
                    break;

                case "Gel":
                    position = utility.GetEnemyPosition(windowWidthFloor, windowHeightFloor, float.Parse(segments[2]), float.Parse(segments[1]));
                    enemies.Add(new EnemySlime(game, position));
                    break;

                case "Keese":
                    position = utility.GetEnemyPosition(windowWidthFloor, windowHeightFloor, float.Parse(segments[2]), float.Parse(segments[1]));
                    enemies.Add(new EnemyKeese(game, position));
                    break;

                case "Stalfos":
                    position = utility.GetEnemyPosition(windowWidthFloor, windowHeightFloor, float.Parse(segments[2]), float.Parse(segments[1]));
                    enemies.Add(new EnemyStalfos(game, position));
                    break;

                case "Wallmaster":
                    position = utility.GetEnemyPosition(windowWidthFloor, windowHeightFloor, float.Parse(segments[2]), float.Parse(segments[1]));
                    enemies.Add(new EnemyWallmaster(game, position));
                    break;

                case "Redead":
                    position = utility.GetEnemyPosition(windowWidthFloor, windowHeightFloor, float.Parse(segments[2]), float.Parse(segments[1]));
                    enemies.Add(new EnemyRedead(game, position));
                    break;

                case "FogOfWar":
                    enemies.Add(new FogOfWar(game));
                    break;

                default:
                    break;
                }
            }
        }