コード例 #1
0
        public static Sprite GetDefaultFlame(FlameType mType)
        {
            Sprite result = null;

            switch (mType)
            {
            case FlameType.SMALL:
                result = DisplayManager.Instance.Game.Content.Load <Sprite>("DefaultFlammeSmall");
                break;

            case FlameType.NORMAL:
                result = DisplayManager.Instance.Game.Content.Load <Sprite>("DefaultFlammeNormal");
                break;

            case FlameType.BIG:
                result = DisplayManager.Instance.Game.Content.Load <Sprite>("DefaultFlammeBig");
                break;

            case FlameType.BIGGEST:
                result = DisplayManager.Instance.Game.Content.Load <Sprite>("DefaultFlammeBiggest");
                break;
            }
            result = new Sprite(result.Speed, result.SpriteSheet);

            return(result);
        }
コード例 #2
0
 public void setup(Sprite spr, bool p, string n, int c, bool noz, FlameType f, SoundType sou)
 {
     sprite    = spr;
     purchased = p;
     name      = n;
     cost      = c;
     nozzle    = noz;
     fire      = f;
     sound     = sou;
 }
コード例 #3
0
ファイル: Explosion.cs プロジェクト: ngaeta/Bomberman
        private void CreateFlames(FlameType type, Vector2 startPos, Vector2 offsetPos)
        {
            string flameName      = "";
            string closeFlameName = "";

            switch (type)
            {
            case FlameType.UP:
                flameName      = "upFlame";
                closeFlameName = "closeUpFlame";
                break;

            case FlameType.DOWN:
                flameName      = "downFlame";
                closeFlameName = "closeDownFlame";
                break;

            case FlameType.RIGHT:
                flameName      = "leftRightFlame";
                closeFlameName = "closeRightFlame";
                break;

            case FlameType.LEFT:
                flameName      = "leftRightFlame";
                closeFlameName = "closeLeftFlame";
                break;
            }

            Vector2 flamePos = startPos + offsetPos;

            for (int i = 0; i < NUMBER_FLAMES; i++)
            {
                if (!ObstacleManager.IsThereObstacle(flamePos))
                {
                    if (i == NUMBER_FLAMES - 1 || ObstacleManager.IsThereObstacle(flamePos + offsetPos))
                    {
                        new Flame(flamePos, closeFlameName, owner);
                        break;
                    }
                    else
                    {
                        new Flame(flamePos, flameName, owner);
                        flamePos += offsetPos;
                    }
                }
                else
                {
                    break;
                }
            }
        }
コード例 #4
0
        private static GameObject GetFlamePrefab(FlameType type)
        {
            switch (type)
            {
            case FlameType.DragonBreath:  return(DragonBreath);

            case FlameType.FlameDiagonal:  return(FlameDiagonal);

            case FlameType.FlameVertical:  return(FlameVertical);

            case FlameType.FlameHorizontal:  return(FlameHorizontal);
            }

            return(null);
        }
コード例 #5
0
        public Flame(FlameType aType)
        {
            mType   = aType;
            mSprite = GetDefaultFlame(aType);

            switch (mType)
            {
            case FlameType.SMALL:
                mLife = 2;
                break;

            case FlameType.NORMAL:
                mLife = 3;
                break;

            case FlameType.BIG:
                mLife = 4;
                break;

            case FlameType.BIGGEST:
                mLife = 5;
                break;
            }
        }
コード例 #6
0
 public RocketInfo(Sprite spr, bool p, string n, int c, bool noz, FlameType f, SoundType sou)
 {
     setup(spr, p, n, c, noz, f, sou);
 }
コード例 #7
0
        public static void InstantiateFlame(Vector3 spawnPosition, Vector3 direction, float dmg, FlameType type)
        {
            if (loadStart)
            {
                LoadResourcesIFNULL();
            }

            var obj = Instantiate(GetFlamePrefab(type));

            obj.layer = LayerMask.NameToLayer("FlameSword");
            obj.AddComponent <BoxCollider>();

            var flameSword = obj.GetComponent <FlameSword>();

            obj.transform.position = spawnPosition;

            flameSword.spawnPosition = spawnPosition;
            flameSword.damage        = dmg;

            direction.y            = 0;
            obj.transform.rotation = Quaternion.LookRotation(direction);
            flameSword.direction   = direction;
            RaycastHit hit;

            if (Physics.Raycast(obj.transform.position, direction, out hit, 100000.0f, LayerMask.GetMask("LastArena")))
            {
                flameSword.endPosition = hit.point;
            }
        }