Ejemplo n.º 1
0
        /// <summary> Retrieves a unit by its long (32-bit) id </summary>
        /// <param name="unitId"> The unit's long id </param>
        /// <returns> Returns the unit </returns>
        public Unit GetUnitById(int unitId)
        {
            Unit unit = null;

            GameUnits.TryGetValue(unitId, out unit);
            return(unit);
        }
Ejemplo n.º 2
0
    public void GenerateCropRed(GameObject go, string cardName, int x, int y)
    {
        if (cropsRed != 0)
        {
            if (x < 0 || x > 6 || y < 3 || y > 6)
            {
                return;
            }
            GameObject newGO = Instantiate(Crop) as GameObject;
            newGO.transform.position = new Vector3(x, y, 0);
            newGO.gameObject.GetComponent <OneCropManager> ().cardAsset = go.gameObject.GetComponent <OneCardManager> ().cardAsset;
            newGO.gameObject.GetComponent <OneCropManager>().ReadCropFromAsset();

            cardName = newGO.gameObject.GetComponent <OneCropManager>().cardAsset.name.ToString();

            newGO.gameObject.GetComponent <CropPreview> ().PreviewUnit = go.gameObject.GetComponent <CropPreview> ().PreviewUnit;
            newGO.gameObject.GetComponent <CropPreview> ().PreviewText = go.gameObject.GetComponent <CropPreview> ().PreviewText;
            //newGO.transform.SetParent (this.gameObject.transform, false);
            //Debug.Log (collider.gameObject.GetComponent<OneCardManager> ().cardAsset.name);
            GameUnits c = newGO.GetComponent <GameUnits>();
            cards[x, y] = c;
            //isCreated = true;
            //Destroy(go.gameObject);
            cropsRed--;
            //Debug.Log (cropsRed);
        }
    }
Ejemplo n.º 3
0
        public async Task <bool> TryCreateMatch(int numberOfPlayersInMatch, bool botsCanBeUsed)
        {
            GameUnits gameUnits = new GameUnits();

            List <MatchEntryRequest> requests = battleRoyaleQueueSingletonService
                                                .TakeMatchEntryRequests(numberOfPlayersInMatch);

            //Достать игроков из очереди без извлечения
            gameUnits.Players = requests
                                .Select(request => request.GetPlayerModel())
                                .ToList();

            //Если нужно дополнить ботами
            if (0 < gameUnits.Players.Count && gameUnits.Players.Count < numberOfPlayersInMatch)
            {
                //и можно дополнить ботами
                if (botsCanBeUsed)
                {
                    //дополнить
                    int numberOfBots = numberOfPlayersInMatch - gameUnits.Players.Count;
                    gameUnits.Bots = battleRoyaleBotFactoryService.CreateBotModels(numberOfBots);
                }
            }

            //Достаточно игроков?
            if (gameUnits.Players.Count + gameUnits.Bots?.Count != numberOfPlayersInMatch)
            {
                return(false);
            }

            // Присвоить временные id игрокам на один бой
            List <ushort> playerTmpIds = PlayerTemporaryIdsFactory.Create(gameUnits.Players.Count);

            for (int i = 0; i < gameUnits.Players.Count; i++)
            {
                PlayerModel playerModel = gameUnits.Players[i];
                playerModel.TemporaryId = playerTmpIds[i];
            }

            //На каком сервере будет запускаться матч?
            MatchRoutingData matchRoutingData = matchRoutingDataService.GetMatchRoutingData();

            //Сделать запись об матче в БД
            Match match = await matchDbWriterService
                          .WriteAsync(matchRoutingData, requests.Select(request => request.GetWarshipId()).ToList());

            //Создать объект с информацией про бой
            BattleRoyaleMatchModel matchModel = BattleRoyaleMatchDataFactory.Create(gameUnits, match);

            //Добавить игроков в таблицу тех кто в бою
            unfinishedMatchesService.AddPlayersToMatch(matchModel);

            //Извлечь игроков из очереди
            battleRoyaleQueue.RemovePlayersFromQueue(matchModel.GameUnits.Players);

            //Сообщить на гейм сервер
            await gameServerNegotiatorService.SendRoomDataToGameServerAsync(matchModel);

            return(true);
        }
Ejemplo n.º 4
0
    public void GenerateSoldierRed(GameObject go, string cardName, int x, int y)
    {
        if (isCreated == false)
        {
            if (cards[x, y] != null || ((x >= baseRedX + 1 || x <= baseRedX - 1) && (y != baseRedY)) || ((y >= baseRedY + 1 || y <= baseRedY - 1) && (x != baseRedX)))
            {
                return;
            }

            GameObject newGO = Instantiate(Soldier) as GameObject;
            //if (cards [x, y] == null && ((x == baseRedX + 1 || x == baseRedX - 1) && (y == baseRedY)) || ((y == baseRedY + 1 || y == baseRedY - 1) && (x == baseRedX)))
            newGO.transform.position = new Vector3(x, y, 0);
            newGO.gameObject.GetComponent <OneSoldierManager> ().cardAsset = go.gameObject.GetComponent <OneCardManager> ().cardAsset;
            newGO.gameObject.GetComponent <OneSoldierManager> ().ReadSoldierFromAsset();
            newGO.gameObject.GetComponent <OneSoldierManager>().isRed = true;
            cardName = newGO.gameObject.GetComponent <OneSoldierManager>().cardAsset.name.ToString();

            newGO.gameObject.GetComponent <SoldierPreview> ().PreviewUnit = go.gameObject.GetComponent <SoldierPreview> ().PreviewUnit;
            newGO.gameObject.GetComponent <SoldierPreview> ().PreviewText = go.gameObject.GetComponent <SoldierPreview> ().PreviewText;
            //Debug.Log (collider.gameObject.GetComponent<OneCardManager> ().cardAsset.name);
            GameUnits s = newGO.GetComponent <GameUnits>();
            cards[x, y] = s;
            soldierList.Add(s);
            isCreated   = true;
            soldierCard = null;
            Destroy(go.gameObject);
        }
        //if(soldiers[x,y] != null)
        //Debug.Log (soldiers[x,y].cardAsset.name);
    }
Ejemplo n.º 5
0
    public void GenerateBasePlayer(int x, int y)
    {
        if (isBlueplayer == true)
        {
            if (x < 0 || x > 6 || y < 0 || y > 2)
            {
                return;
            }
        }
        if (isBlueplayer == false)
        {
            if (x < 0 || x > 6 || y < 3 || y > 6)
            {
                return;
            }
        }
        GameObject newGO = Instantiate(Base) as GameObject;

        newGO.gameObject.GetComponent <Base>().isBaseBlue = true;
        newGO.transform.position = new Vector3(x, y, 0);
        GameUnits b = newGO.gameObject.GetComponent <GameUnits>();

        baseBlueX = x;
        baseBlueY = y;
        baseList.Add(newGO.gameObject.GetComponent <Base>());
        cards[x, y]     = b;
        baseBlueCreated = true;
    }
Ejemplo n.º 6
0
 public void MoveSoldier(GameUnits soldierUnit, int x, int y)
 {
     if (soldierUnit.gameObject.GetComponent <OneSoldierManager>().cardAsset.TypeOfCard == TypesOfCards.Soldier)
     {
         soldierUnit.transform.position = (Vector2.right * x) + (Vector2.up * y);
     }
 }
Ejemplo n.º 7
0
    public Sprite getSpriteByType(GameUnits unit, Flavor flavor, bool isSprinkle)
    {
        if (coneUnit.Length == 0 && icecreamUnit.Length == 0 && icecreamAndSprinkleUnit.Length == 0)
        {
            return(null);
        }

        Sprite temp = null;

        switch (unit)
        {
        case GameUnits.Cone:
            switch (flavor)
            {
            case Flavor.Chocolate:
                temp = coneUnit[0];
                break;

            case Flavor.Orange:
                temp = coneUnit[1];
                break;

            case Flavor.Vanila:
                temp = coneUnit[2];
                break;

            default:
                temp = null;
                break;
            }
            break;

        case GameUnits.IceCream:
            switch (flavor)
            {
            case Flavor.Chocolate:
                temp = (isSprinkle) ? icecreamAndSprinkleUnit[0] : icecreamUnit[0];
                break;

            case Flavor.Orange:
                temp = (isSprinkle) ? icecreamAndSprinkleUnit[1] : icecreamUnit[1];
                break;

            case Flavor.Vanila:
                temp = (isSprinkle) ? icecreamAndSprinkleUnit[2] : icecreamUnit[2];
                break;

            default:
                temp = null;
                break;
            }
            break;

        default:
            temp = null;
            break;
        }
        return(temp);
    }
Ejemplo n.º 8
0
 public void SetttingRequirement(GameUnits requireUnit, sugarFlavor flavor, int amount)
 {
     this.requireUnit     = requireUnit;
     this.amount          = amount;
     this.sugar_flavor    = (requireUnit == GameUnits.Sugar)?sugarFlavor.None:flavor;
     this.startAmount     = amount;
     requireSprite.sprite = FindObjectOfType <SpriteRefSweetUnit>().getSpriteByType(requireUnit, flavor);
 }
Ejemplo n.º 9
0
 public void SetRequireBox(GameUnits unit, Flavor coneFlavor, Flavor iceCreamFlavor, bool isSprinkle, int amount)
 {
     this.unit           = unit;
     this.coneFlavor     = coneFlavor;
     this.iceCreamFlavor = iceCreamFlavor;
     this.amount         = amount;
     isSpecial           = true;
     isSet           = true;
     this.isSprinkle = isSprinkle;
 }
Ejemplo n.º 10
0
 public void SetRequireBox(GameUnits unit, sugarFlavor flavor, int amount)
 {
     this.unit      = unit;
     coneFlavor     = Flavor.None;
     iceCreamFlavor = Flavor.None;
     sugar_flavor   = flavor;
     this.amount    = amount;
     isSpecial      = false;
     isSet          = true;
 }
Ejemplo n.º 11
0
    public void GenerateBaseClient(int x, int y)
    {
        GameObject newGO = Instantiate(Base) as GameObject;

        newGO.gameObject.GetComponent <Base>().isBaseRed = true;
        newGO.transform.position = new Vector3(x, y, 0);
        GameUnits b = newGO.gameObject.GetComponent <GameUnits>();

        baseRedX = x;
        baseRedY = y;
        baseList.Add(newGO.gameObject.GetComponent <Base>());
        cards[x, y]    = b;
        baseRedCreated = true;
    }
Ejemplo n.º 12
0
    public List <PlayerUnit> FindUnitsByGroupId(string groupId)
    {
        List <PlayerUnit> units = new List <PlayerUnit>();

        try
        {
            units = GameUnits.FindAll(delegate(PlayerUnit p) { return(p.Info.GroupId == groupId); });
        }
        catch (NullReferenceException ex)
        {
            Debug.Log("Cannot find unit in UnitManager.FindUnitsByGroupId. Error: " + ex.Message);
            return(new List <PlayerUnit>());
        }
        return(units);
    }
Ejemplo n.º 13
0
    public PlayerUnit FindGroupMainUnitByGroupId(string groupId)
    {
        PlayerUnit unit;

        try
        {
            unit = GameUnits.Find(delegate(PlayerUnit p) { return(p.Info.GroupId == groupId && p.Info.IsGroupMainUnit); });
        }
        catch (Exception)
        {
            return(null);
        }

        return(unit);
    }
Ejemplo n.º 14
0
        public static BattleRoyaleMatchModel Create(GameUnits gameUnits, Match match)
        {
            BattleRoyaleMatchModel result = new BattleRoyaleMatchModel
            {
                MatchId        = match.Id,
                GameServerIp   = match.GameServerIp,
                GameServerPort = match.GameServerUdpPort,
                GameUnits      = new GameUnits
                {
                    Bots    = gameUnits.Bots,
                    Players = gameUnits.Players
                }
            };

            return(result);
        }
Ejemplo n.º 15
0
    public void GenerateCrop(GameObject go, string cardName, int x, int y)
    {
        if (cropsBlue != 0)
        {
            if (isBlueplayer == true)
            {
                if (x < 0 || x > 6 || y < 0 || y > 2)
                {
                    return;
                }
            }
            if (isBlueplayer == false)
            {
                if (x < 0 || x > 6 || y < 3 || y > 6)
                {
                    return;
                }
            }
            GameObject newGO = Instantiate(Crop) as GameObject;
            newGO.transform.position = new Vector3(x, y, 0);
            newGO.gameObject.GetComponent <OneCropManager>().cardAsset = go.gameObject.GetComponent <OneCardManager>().cardAsset;
            newGO.gameObject.GetComponent <OneCropManager>().ReadCropFromAsset();

            cardName = newGO.gameObject.GetComponent <OneCropManager>().cardAsset.name.ToString();

            newGO.gameObject.GetComponent <CropPreview>().PreviewUnit = go.gameObject.GetComponent <CropPreview>().PreviewUnit;
            newGO.gameObject.GetComponent <CropPreview>().PreviewText = go.gameObject.GetComponent <CropPreview>().PreviewText;
            //newGO.transform.SetParent (this.gameObject.transform, false);
            //Debug.Log (collider.gameObject.GetComponent<OneCardManager> ().cardAsset.name);
            GameUnits c = newGO.GetComponent <GameUnits>();
            cards[x, y] = c;

            //isCreated = true;

            cropsBlue--;
            //Debug.Log (cropsBlue);

            //Networking action
            msg  = "CGGC|";
            msg += cardName + "|";
            msg += x.ToString() + "|";
            msg += y.ToString();
            Debug.Log(msg);
            client.Send(msg);
            //End networking action
        }
    }
Ejemplo n.º 16
0
    public void MinusMoney(GameUnits units)
    {
        audioSource.PlayOneShot(trashClip);
        anim.SetTrigger("Working");
        int moneyMinus = 0;
        int timeMinus  = 0;

        switch (units)
        {
        case GameUnits.Candy:
            moneyMinus = -20;
            timeMinus  = -3;
            break;

        case GameUnits.ConeAndIceCream:
            moneyMinus = -70;
            timeMinus  = -10;
            break;

        case GameUnits.Cone:
            moneyMinus = -20;
            timeMinus  = -3;
            break;

        case GameUnits.PopPop:
            moneyMinus = -35;
            timeMinus  = -5;
            break;

        case GameUnits.Sugar:
            moneyMinus = -10;
            timeMinus  = -2;
            break;

        case GameUnits.Topie:
            moneyMinus = -35;
            timeMinus  = -5;
            break;
        }
        gameController.AddTime(timeMinus);
        gameController.AddMoney(moneyMinus);
    }
Ejemplo n.º 17
0
    public void SettingRequirement(GameUnits units, Flavor coneFlavor, Flavor iceCreamFlavor, bool isSprinkle, int amount)
    {
        SpriteRefSweetUnit spriteRef = FindObjectOfType <SpriteRefSweetUnit>();

        ConeFlavor      = coneFlavor;
        IceCreamFlavor  = iceCreamFlavor;
        this.amount     = amount;
        this.isSprinkle = isSprinkle;
        if (this.isSprinkle)
        {
            this.requireUnit = GameUnits.ConeAndUceCreamAndSprinkle;
        }
        else
        {
            this.requireUnit = units;
        }
        startAmount       = amount;
        requireTop.sprite = spriteRef.getSpriteByType(GameUnits.IceCream, IceCreamFlavor, this.isSprinkle);
        requireBot.sprite = spriteRef.getSpriteByType(GameUnits.Cone, ConeFlavor, false);
    }
Ejemplo n.º 18
0
    public PlayerUnit FindUnitById(string id)
    {
        //~ if(_GameUnits == null)
        //~ {
        //~ _GameUnits = new List<PlayerUnit>();
        //~ return null;
        //~ }
        PlayerUnit unit = null;

        try
        {
            unit = GameUnits.Find(delegate(PlayerUnit p) { return(p.Info.Id == id); });
        }
        catch (NullReferenceException ex)
        {
            Debug.Log("Cannot find unit in UnitManager.FindUnitById. Error: " + ex.Message);
            return(null);
        }

        return(unit);
    }
Ejemplo n.º 19
0
    public void SelectSoldierBlue(int x, int y)
    {
        //out of bounds
        if (x < 0 || x > 6 || y < 0 || y > 6)
        {
            return;
        }

        GameUnits s = cards[x, y];

        if (s != null && s.gameObject.GetComponent <OneSoldierManager>().isBlue == true &&
            s.gameObject.GetComponent <OneSoldierManager>().cardAsset.TypeOfCard == TypesOfCards.Soldier)
        {
            selectedSoldierCard = s;
            startDrag           = mouseOver;
            Debug.Log(selectedSoldierCard.gameObject.GetComponent <OneSoldierManager>().cardAsset.name);
        }
        else
        {
            Debug.Log("nothing there");
        }
    }
Ejemplo n.º 20
0
    public void GenerateCropClient(string cardName, int x, int y)
    {
        CardAsset ca = Resources.Load("_crops/" + cardName) as CardAsset;

        if (ca != null)
        {
            Debug.Log("Asset Present");
        }
        else
        {
            Debug.Log("No Asset");
        }
        GameObject goTest = Instantiate(Crop) as GameObject;

        goTest.AddComponent <OneCropManager>();
        goTest.AddComponent <CropPreview>();
        goTest.GetComponent <OneCropManager>().cardAsset = ca;

        if (goTest.GetComponent <OneCropManager>().cardAsset != null)
        {
            goTest.GetComponent <OneCropManager>().ReadCropFromAsset();
        }
        if (cards[x, y] != null)
        {
            return;
        }
        GameObject newGO = Instantiate(Crop) as GameObject;

        newGO.transform.position = new Vector3(x, y, 0);
        newGO.gameObject.GetComponent <OneCropManager>().cardAsset = goTest.gameObject.GetComponent <OneCropManager>().cardAsset;
        newGO.gameObject.GetComponent <OneCropManager>().ReadCropFromAsset();
        cardName = newGO.gameObject.GetComponent <OneCropManager>().cardAsset.name.ToString();
        newGO.gameObject.GetComponent <CropPreview>().PreviewUnit = goTest.gameObject.GetComponent <CropPreview>().PreviewUnit;
        newGO.gameObject.GetComponent <CropPreview>().PreviewText = goTest.gameObject.GetComponent <CropPreview>().PreviewText;
        GameUnits c = newGO.GetComponent <GameUnits>();

        cards[x, y] = c;
    }
Ejemplo n.º 21
0
    public void TryMove(int x1, int y1, int x2, int y2)
    {
        startDrag           = new Vector2(x1, y1);
        endDrag             = new Vector2(x2, y2);
        selectedSoldierCard = cards [x1, y1];

        //MoveSoldier (selectedSoldier, x2, y2);

        //if out of bounds
        if (x2 < 0 || x2 >= cards.Length || y2 < 0 || y2 >= cards.Length)
        {
            if (selectedSoldierCard != null)
            {
                MoveSoldier(selectedSoldierCard, x1, y1);
            }
            startDrag           = Vector2.zero;
            selectedSoldierCard = null;
            return;
        }

        if (selectedSoldierCard != null)
        {
            //soldier not moved
            if (endDrag == startDrag)
            {
                MoveSoldier(selectedSoldierCard, x1, y1);
                startDrag           = Vector2.zero;
                selectedSoldierCard = null;
                return;
            }
            if (selectedSoldierCard.moving == false)
            {
                MoveSoldier(selectedSoldierCard, x1, y1);
                startDrag           = Vector2.zero;
                selectedSoldierCard = null;
                return;
            }


            //check if valid move
            if (selectedSoldierCard.ValidMove(cards, x1, y1, x2, y2) && selectedSoldierCard.moving == true)
            {
                cards[x2, y2] = selectedSoldierCard;
                cards[x1, y1] = null;
                MoveSoldier(selectedSoldierCard, x2, y2);
                selectedSoldierCard.moving = false;
            }
            else if (selectedSoldierCard.attacking == true)
            {
                if (selectedSoldierCard.GetComponent <attack>() == null)
                {
                    selectedSoldierCard.gameObject.AddComponent <attack>();
                }

                if (selectedSoldierCard.GetComponent <OneSoldierManager>().isBlue)
                {
                    //Networking action
                    msg  = "CATK|";
                    msg += x1 + "|";
                    msg += y1.ToString() + "|";
                    msg += x2.ToString() + "|";
                    msg += y2.ToString();
                    client.Send(msg);
                    //End networking action
                    selectedSoldierCard.GetComponent <attack>().doAttack(playerBlue, cards, x1, y1, x2, y2);
                }
                else if (selectedSoldierCard.GetComponent <OneSoldierManager>().isRed)
                {
                    selectedSoldierCard.GetComponent <attack>().doAttack(playerRed, cards, x1, y1, x2, y2);
                }
                selectedSoldierCard.moving    = false;
                selectedSoldierCard.attacking = false;
            }
        }
    }
Ejemplo n.º 22
0
    private void RandomRequirementStory()
    {
        if (LevelManager.haveConeMachine)
        {
            if (LevelManager.haveIceCreamMachine)
            {
                if (Random.value <= (LevelManager.IceCreamPercent))
                {
                    unit = GameUnits.ConeAndIceCream;
                    switch (Random.Range(0, 3))
                    {
                    case 0:
                        cone = Flavor.Chocolate;
                        break;

                    case 1:
                        cone = Flavor.Orange;
                        break;

                    case 2:
                        cone = Flavor.Vanila;
                        break;
                    }
                    switch (Random.Range(0, 3))
                    {
                    case 0:
                        icecream = Flavor.Chocolate;
                        break;

                    case 1:
                        icecream = Flavor.Orange;
                        break;

                    case 2:
                        icecream = Flavor.Vanila;
                        break;
                    }
                    if (Random.value <= (LevelManager.sprinklePercent))
                    {
                        isSprinkle = true;
                    }
                    else
                    {
                        isSprinkle = false;
                    }
                }
                if (LevelManager.haveCandyMachine)
                {
                    if (Random.value <= LevelManager.candyPercent)
                    {
                        unit         = GameUnits.Candy;
                        sugar_flavor = sugarFlavor.None;
                    }
                    else
                    {
                        unit         = GameUnits.Sugar;
                        sugar_flavor = sugarFlavor.None;
                    }
                }

                if (LevelManager.haveTopieMachine)
                {
                    if (Random.value <= LevelManager.topiePercent)
                    {
                        unit = GameUnits.Topie;
                        switch (Random.Range(0, 4))
                        {
                        case 0:
                            sugar_flavor = sugarFlavor.Grape;
                            break;

                        case 1:
                            sugar_flavor = sugarFlavor.Orange;
                            break;

                        case 2:
                            sugar_flavor = sugarFlavor.PineApple;
                            break;

                        case 3:
                            sugar_flavor = sugarFlavor.Stawberry;
                            break;
                        }
                    }
                }
                if (LevelManager.havePoppopMachine)
                {
                    if (Random.value <= LevelManager.PoppopPercent)
                    {
                        unit = GameUnits.PopPop;
                        switch (Random.Range(0, 4))
                        {
                        case 0:
                            sugar_flavor = sugarFlavor.Grape;
                            break;

                        case 1:
                            sugar_flavor = sugarFlavor.Orange;
                            break;

                        case 2:
                            sugar_flavor = sugarFlavor.PineApple;
                            break;

                        case 3:
                            sugar_flavor = sugarFlavor.Stawberry;
                            break;
                        }
                    }
                }
                amount = Random.Range(1, LevelManager.amount);
            }
        }
        else
        {
            if (LevelManager.haveCandyMachine)
            {
                if (Random.value <= LevelManager.candyPercent)
                {
                    unit         = GameUnits.Candy;
                    sugar_flavor = sugarFlavor.None;
                }
                else if (Random.value <= 0.1)
                {
                    unit         = GameUnits.Sugar;
                    sugar_flavor = sugarFlavor.None;
                }
            }

            if (LevelManager.haveTopieMachine)
            {
                if (Random.value <= LevelManager.topiePercent)
                {
                    unit = GameUnits.Topie;
                    switch (Random.Range(0, 4))
                    {
                    case 0:
                        sugar_flavor = sugarFlavor.Grape;
                        break;

                    case 1:
                        sugar_flavor = sugarFlavor.Orange;
                        break;

                    case 2:
                        sugar_flavor = sugarFlavor.PineApple;
                        break;

                    case 3:
                        sugar_flavor = sugarFlavor.Stawberry;
                        break;
                    }
                }
            }
            if (LevelManager.havePoppopMachine)
            {
                if (Random.value <= LevelManager.PoppopPercent)
                {
                    unit = GameUnits.PopPop;
                    switch (Random.Range(0, 4))
                    {
                    case 0:
                        sugar_flavor = sugarFlavor.Grape;
                        break;

                    case 1:
                        sugar_flavor = sugarFlavor.Orange;
                        break;

                    case 2:
                        sugar_flavor = sugarFlavor.PineApple;
                        break;

                    case 3:
                        sugar_flavor = sugarFlavor.Stawberry;
                        break;
                    }
                }
            }
            amount = Random.Range(1, LevelManager.amount);
        }
    }
Ejemplo n.º 23
0
    private void RandomRequirementEndless()
    {
        if (Random.value <= 0.1)
        {
            switch (Random.Range(0, 2))
            {
            case 0:
                unit         = GameUnits.Sugar;
                sugar_flavor = sugarFlavor.None;
                break;

            case 1:
                unit         = GameUnits.Candy;
                sugar_flavor = sugarFlavor.None;
                break;
            }
        }
        else if (Random.value <= 0.6)
        {
            switch (Random.Range(0, 2))
            {
            case 0:
                unit = GameUnits.Topie;
                switch (Random.Range(0, 4))
                {
                case 0:
                    sugar_flavor = sugarFlavor.Grape;
                    break;

                case 1:
                    sugar_flavor = sugarFlavor.Orange;
                    break;

                case 2:
                    sugar_flavor = sugarFlavor.PineApple;
                    break;

                case 3:
                    sugar_flavor = sugarFlavor.Stawberry;
                    break;
                }
                break;

            case 1:
                unit = GameUnits.PopPop;
                switch (Random.Range(0, 4))
                {
                case 0:
                    sugar_flavor = sugarFlavor.Grape;
                    break;

                case 1:
                    sugar_flavor = sugarFlavor.Orange;
                    break;

                case 2:
                    sugar_flavor = sugarFlavor.PineApple;
                    break;

                case 3:
                    sugar_flavor = sugarFlavor.Stawberry;
                    break;
                }
                break;
            }
        }
        else if (Random.value <= 40)
        {
            isSpecial = true;
        }
        else
        {
            unit         = GameUnits.Candy;
            sugar_flavor = sugarFlavor.None;
        }
        if (isSpecial)
        {
            unit = GameUnits.ConeAndIceCream;
            switch (Random.Range(0, 3))
            {
            case 0:
                cone = Flavor.Chocolate;
                break;

            case 1:
                cone = Flavor.Orange;
                break;

            case 2:
                cone = Flavor.Vanila;
                break;
            }
            switch (Random.Range(0, 3))
            {
            case 0:
                icecream = Flavor.Chocolate;
                break;

            case 1:
                icecream = Flavor.Orange;
                break;

            case 2:
                icecream = Flavor.Vanila;
                break;
            }
            if (Random.value <= 0.35f)
            {
                isSprinkle = true;
            }
            else
            {
                isSprinkle = false;
            }
        }
        amount = Random.Range(1, 4);
    }
Ejemplo n.º 24
0
 void Awake()
 {
     Instance = this;
 }
Ejemplo n.º 25
0
    public Sprite getSpriteByType(GameUnits unit, sugarFlavor flavor)
    {
        if (poppopUnit.Length == 0 && topieUnit.Length == 0)
        {
            return(null);
        }
        Sprite temp = null;

        switch (unit)
        {
        case GameUnits.PopPop:
            switch (flavor)
            {
            case sugarFlavor.Orange:
                temp = poppopUnit[0];
                break;

            case sugarFlavor.Stawberry:
                temp = poppopUnit[1];
                break;

            case sugarFlavor.Grape:
                temp = poppopUnit[2];
                break;

            case sugarFlavor.PineApple:
                temp = poppopUnit[3];
                break;

            default:
                temp = null;
                break;
            }
            break;

        case GameUnits.Topie:
            switch (flavor)
            {
            case sugarFlavor.Orange:
                temp = topieUnit[0];
                break;

            case sugarFlavor.Stawberry:
                temp = topieUnit[1];
                break;

            case sugarFlavor.Grape:
                temp = topieUnit[2];
                break;

            case sugarFlavor.PineApple:
                temp = topieUnit[3];
                break;

            default:
                temp = null;
                break;
            }
            break;

        case GameUnits.Sugar:
            temp = commonUnit[0];
            break;

        case GameUnits.Candy:
            temp = commonUnit[1];
            break;

        case GameUnits.CandyFloss:
            temp = commonUnit[2];
            break;

        default:
            temp = null;
            break;
        }
        return(temp);
    }
Ejemplo n.º 26
0
    public void GenerateClientSoldierRed(string cardName, int x, int y)
    {
        isCreated = false;
        CardAsset ca = Resources.Load("_soldiers/" + cardName) as CardAsset;

        if (ca != null)
        {
            Debug.Log("Asset Present");
        }
        else
        {
            Debug.Log("No Asset");
        }
        GameObject goTest = Instantiate(Soldier) as GameObject;

        goTest.AddComponent <OneSoldierManager>();
        goTest.AddComponent <SoldierPreview>();
        goTest.GetComponent <OneSoldierManager>().cardAsset = ca;

        if (goTest.GetComponent <OneSoldierManager>().cardAsset != null)
        {
            goTest.GetComponent <OneSoldierManager>().ReadSoldierFromAsset();
            goTest.GetComponent <SoldierPreview>().NameText.text     = goTest.GetComponent <OneSoldierManager>().cardAsset.name.ToString();
            goTest.GetComponent <SoldierPreview>().ManaText.text     = goTest.GetComponent <OneSoldierManager>().cardAsset.ManaCost.ToString();
            goTest.GetComponent <SoldierPreview>().AttackText.text   = goTest.GetComponent <OneSoldierManager>().cardAsset.Attack.ToString();
            goTest.GetComponent <SoldierPreview>().HealthText.text   = goTest.GetComponent <OneSoldierManager>().cardAsset.MaxHealth.ToString();
            goTest.GetComponent <SoldierPreview>().RangeText.text    = goTest.GetComponent <OneSoldierManager>().cardAsset.SoldierRange.ToString();
            goTest.GetComponent <SoldierPreview>().MovementText.text = goTest.GetComponent <OneSoldierManager>().cardAsset.Movement.ToString();
        }
        else
        {
            Debug.Log("No Asset");
        }
        if (isCreated == false)
        {
            if (cards[x, y] != null)
            {
                return;
            }

            GameObject newGO = Instantiate(Soldier) as GameObject;
            //if (cards [x, y] == null && ((x == baseRedX + 1 || x == baseRedX - 1) && (y == baseRedY)) || ((y == baseRedY + 1 || y == baseRedY - 1) && (x == baseRedX)))
            newGO.transform.position = new Vector3(x, y, 0);
            newGO.gameObject.GetComponent <OneSoldierManager>().cardAsset = goTest.gameObject.GetComponent <OneSoldierManager>().cardAsset;
            newGO.gameObject.GetComponent <OneSoldierManager>().ReadSoldierFromAsset();
            newGO.gameObject.GetComponent <OneSoldierManager>().isRed = true;

            cardName = newGO.gameObject.GetComponent <OneSoldierManager>().cardAsset.name.ToString();

            newGO.gameObject.GetComponent <SoldierPreview>().PreviewUnit = goTest.gameObject.GetComponent <SoldierPreview>().PreviewUnit;
            newGO.gameObject.GetComponent <SoldierPreview>().PreviewText = goTest.gameObject.GetComponent <SoldierPreview>().PreviewText;
            //Debug.Log (collider.gameObject.GetComponent<OneCardManager> ().cardAsset.name);
            GameUnits s = newGO.GetComponent <GameUnits>();
            cards[x, y] = s;
            soldierList.Add(s);
            isCreated   = true;
            soldierCard = null;
            Destroy(goTest.gameObject);
        }
        //GenerateSoldierRed(goTest, cardName, x, y);
    }
Ejemplo n.º 27
0
 public void setUnitProperty(GameUnits unit, sugarFlavor flavor)
 {
     gameUnit              = unit;
     sugar_flavor          = flavor;
     spriteRenderer.sprite = FindObjectOfType <SpriteRefSweetUnit>().getSpriteByType(unit, flavor);
 }
Ejemplo n.º 28
0
 public void TryAttack(int x1, int y1, int x2, int y2)
 {
     selectedSoldierCard = cards[x1, y1];
     selectedSoldierCard.GetComponent <attack>().doAttack(playerRed, cards, x1, y1, x2, y2);
     selectedSoldierCard.GetComponent <attack>().doAttack(playerBlue, cards, x1, y1, x2, y2);
 }