Пример #1
0
        public IHttpActionResult DeleteTrainConnection([FromBody] Object idObject)
        {
            int id;

            if (idObject.GetType() == typeof(JObject))
            {
                JObject jsonObject = (JObject)idObject;
                id = (int)jsonObject.GetValue("TrainId");
            }
            else
            {
                JArray jsonArray = (JArray)idObject;
                JToken jsonToken = jsonArray[0];
                id = (int)jsonToken["TrainId"];
            }

            TrainConnection trainConnection = db.TrainConnections.Find(id);

            if (trainConnection == null)
            {
                return(NotFound());
            }

            db.TrainConnections.Remove(trainConnection);
            db.SaveChanges();

            return(Ok(trainConnection));
        }
Пример #2
0
 public FormEditPathOfConnection(TrainConnection connection)
 {
     InitializeComponent();
     setDefaultValues();
     trainConnection          = connection;
     textBoxFromStation.Text  = trainConnection.FromStation.Name;
     textBoxToStation.Text    = trainConnection.ToStation.Name;
     textBoxPathValidity.Text = displayValidity(pathValidity);
 }
Пример #3
0
 public void Move(TrainConnection targetTrainConnection)
 {
     if (trainConnection != null)
     {
         trainConnection.trainManager.LeavePlayer(playerManager);
     }
     trainConnection = targetTrainConnection;
     targetTrainConnection.trainManager.StorePlayer(playerManager);
 }
Пример #4
0
        public IHttpActionResult PostTrainConnection(TrainConnection trainConnection)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.TrainConnections.Add(trainConnection);
            db.SaveChanges();

            return(CreatedAtRoute("DefaultApi", new { id = trainConnection.Id }, trainConnection));
        }
Пример #5
0
        static TrainMap InitializeProgram()
        {
            #region InitializeProgram
            // inicializando o grafo com estações e rotas pré definidas
            var stationA = new TrainStation('A');
            var stationB = new TrainStation('B');
            var stationC = new TrainStation('C');
            var stationD = new TrainStation('D');
            var stationE = new TrainStation('E');

            var edgeAB = new TrainConnection(5, stationA, stationB);
            var edgeBC = new TrainConnection(4, stationB, stationC);
            var edgeCD = new TrainConnection(8, stationC, stationD);
            var edgeDC = new TrainConnection(8, stationD, stationC);
            var edgeDE = new TrainConnection(6, stationD, stationE);
            var edgeAD = new TrainConnection(5, stationA, stationD);
            var edgeCE = new TrainConnection(2, stationC, stationE);
            var edgeEB = new TrainConnection(3, stationE, stationB);
            var edgeAE = new TrainConnection(7, stationA, stationE);

            stationA.AddConnections(new List <TrainConnection> {
                edgeAB, edgeAD, edgeAE
            });
            stationB.AddConnection(edgeBC);
            stationC.AddConnections(new List <TrainConnection> {
                edgeCD, edgeCE
            });
            stationD.AddConnections(new List <TrainConnection> {
                edgeDC, edgeDE
            });
            stationE.AddConnection(edgeEB);

            var trainMap = new TrainMap(new List <TrainStation> {
                stationA, stationB, stationC, stationD, stationE
            });

            trainMap.AddRoute("CDC".ToCharArray());
            trainMap.AddRoute("CEBC".ToCharArray());
            trainMap.AddRoute("ABCDC".ToCharArray());
            trainMap.AddRoute("ADCDC".ToCharArray());
            trainMap.AddRoute("ADEBC".ToCharArray());
            trainMap.AddRoute("CEBCDC".ToCharArray());
            trainMap.AddRoute("CDCEBC".ToCharArray());
            trainMap.AddRoute("CDEBC".ToCharArray());
            trainMap.AddRoute("CEBCEBC".ToCharArray());
            trainMap.AddRoute("CEBCEBCEBC".ToCharArray());

            return(trainMap);

            #endregion
        }
Пример #6
0
    public void Init(PlayerInfo[] allPlayerArr, List <CardInfo> allStoreCardList, PlayCardManager playCardManager)
    {
        // PlayerInfoHolder
        GUIHelper.Instance.DestroyChildImmediatly <PlayerInfoHolder> (layout_PlayerInfoParent);

        // Player
        string playerHolderName = "PlayerHolder";

        if (transform.FindChild(playerHolderName))
        {
            DestroyImmediate(transform.FindChild(playerHolderName).gameObject);
        }

        Transform playerHolder = new GameObject(playerHolderName).transform;

        playerHolder.parent = transform;

        for (int i = 0; i < allPlayerArr.Length; i++)
        {
            //new card list;
            List <CardInfo> newCardInfoList = new List <CardInfo> ();
            newCardInfoList.AddRange(allStoreCardList);

            //new player
            GameObject newPlayerGObj = Instantiate(playerPrefab.gameObject) as GameObject;
            newPlayerGObj.name             = allPlayerArr [i].playerName;
            newPlayerGObj.transform.parent = playerHolder;

            //new playerInfoHolder
            GameObject newPlayerInfoHolderGObj = Instantiate(playerInfoHolderPrefab.gameObject) as GameObject;
            newPlayerInfoHolderGObj.name = allPlayerArr [i].playerName;
            newPlayerInfoHolderGObj.transform.SetParent(layout_PlayerInfoParent, false);
            PlayerInfoHolder newPlayerInfoHolder = newPlayerInfoHolderGObj.GetComponent <PlayerInfoHolder> ();
            newPlayerInfoHolder.Init(allPlayerArr [i]);

            //new train position
            TrainConnection newStartTrainConnection = GameManager.Instance.gamePlayManager.trainCommander.GetRandomPlayerStartTrainConnection();
            //new item
            ItemInfo   newItemInfo   = GameManager.Instance.gamePlayManager.BasicItemInfoArr [3];
            ItemHolder newItemHolder = Instantiate(itemHolderPrefab);
            newItemHolder.SetItemInfo(newItemInfo);

            PlayerManager newPlayerManager = newPlayerGObj.GetComponent <PlayerManager> ();
            newPlayerManager.Init(i, allPlayerArr [i], newPlayerInfoHolder, newCardInfoList, playCardManager
                                  , newStartTrainConnection, newItemHolder);

            allPlayerDict.Add(i, newPlayerManager);
        }
    }
Пример #7
0
    public void Move(TrainConnection targetTrainConnection)
    {
        if (trainConnection != null)
        {
            trainConnection.trainManager.LeavePolice();
        }
        trainConnection = targetTrainConnection;
        trainConnection.trainManager.StorePolice(this);

        List <PlayerManager> thisTrainPlayerManagerList = trainConnection.trainManager.GetAllPlayerManager;

        for (int i = 0; i < thisTrainPlayerManagerList.Count; i++)
        {
            thisTrainPlayerManagerList [i].PlayerHealthController.TakeDamage();
            thisTrainPlayerManagerList [i].PlayerCardController.AddOneUselessBulletCard();
        }
    }
Пример #8
0
    void cardToPlayer(CardInfo card, PlayerManager thisPlayer)
    {
        TrainConnection thisPlayerStandTrainConnection = thisPlayer.PlayerMoveController.PlayerTrainConnection;

        thisAccountPlayerStandTrainManager = thisPlayerStandTrainConnection.trainManager;

        if (thisPlayer.IsDie)
        {
            reactionManager.SetPlayerDie();
            return;
        }
        thisAccountPlayerManager.SetPlay(true);

        switch (card.cardType)
        {
        case CardType.Up:

            if (thisPlayerStandTrainConnection.nearbyTrain_Up != null)
            {
                thisPlayer.PlayerMoveController.Move(thisPlayerStandTrainConnection.nearbyTrain_Up);
                reactionManager.SetActionSuccess();
            }
            else
            {
                reactionManager.SetActionFail(CardType.Up);
            }

            break;

        case CardType.Down:

            if (thisPlayerStandTrainConnection.nearbyTrain_Down != null)
            {
                thisPlayer.PlayerMoveController.Move(thisPlayerStandTrainConnection.nearbyTrain_Down);
                reactionManager.SetActionSuccess();
            }
            else
            {
                reactionManager.SetActionFail(CardType.Down);
            }

            break;

        case CardType.Left:

            if (thisPlayerStandTrainConnection.nearbyTrain_Left != null)
            {
                thisPlayer.PlayerMoveController.Move(thisPlayerStandTrainConnection.nearbyTrain_Left);
                reactionManager.SetActionSuccess();
            }
            else
            {
                reactionManager.SetActionFail(CardType.Left);
            }

            break;

        case CardType.Right:

            if (thisPlayerStandTrainConnection.nearbyTrain_Right != null)
            {
                thisPlayer.PlayerMoveController.Move(thisPlayerStandTrainConnection.nearbyTrain_Right);
                reactionManager.SetActionSuccess();
            }
            else
            {
                reactionManager.SetActionFail(CardType.Right);
            }

            break;

        case CardType.Pick:

            thisAccountItemHolderList = thisAccountPlayerStandTrainManager.GetAllItemHolder;
            if (thisAccountItemHolderList.Count > 0)
            {
                SetMarkableMark(thisAccountItemHolderList.ToArray(), true);
            }
            else
            {
                reactionManager.SetActionFail(CardType.Pick);
            }

            break;

        case CardType.Punch:

            thisAccountCanAttackPlayerManagerList = thisAccountPlayerStandTrainManager.GetAllPlayerManager;
            if (thisAccountCanAttackPlayerManagerList.Count > 1)
            {
                SetMarkableMark(thisAccountCanAttackPlayerManagerList.ToArray(), thisPlayer, true);
            }
            else
            {
                reactionManager.SetActionFail(CardType.Punch);
            }

            break;

        case CardType.Shot:

            if (thisAccountPlayerManager.PlayerBulletController.BulletCount <= 0)
            {
                reactionManager.SetNoBullet();
                return;
            }

            if (thisAccountPlayerStandTrainManager.IsRoof)
            {
                List <TrainManager> roofTrainManagerList = GameManager.Instance.gamePlayManager.trainCommander.RoofTrainManagerList;

                for (int i = 0; i < roofTrainManagerList.Count; i++)
                {
                    List <PlayerManager> thisRoofPlayerManagerList = roofTrainManagerList [i].GetAllPlayerManager;
                    thisAccountCanAttackPlayerManagerList.AddRange(thisRoofPlayerManagerList);
                }
            }
            else
            {
                if (thisPlayerStandTrainConnection.nearbyTrain_Left != null)
                {
                    TrainManager leftTrainManager = thisPlayerStandTrainConnection.nearbyTrain_Left.trainManager;
                    if (leftTrainManager != null && leftTrainManager.GetAllPlayerManager.Count != 0)
                    {
                        thisAccountCanAttackPlayerManagerList.AddRange(leftTrainManager.GetAllPlayerManager);
                    }
                }
                if (thisPlayerStandTrainConnection.nearbyTrain_Right != null)
                {
                    TrainManager rightTrainManager = thisPlayerStandTrainConnection.nearbyTrain_Right.trainManager;
                    if (rightTrainManager != null && rightTrainManager.GetAllPlayerManager.Count != 0)
                    {
                        thisAccountCanAttackPlayerManagerList.AddRange(rightTrainManager.GetAllPlayerManager);
                    }
                }
            }
            if (thisAccountCanAttackPlayerManagerList.Count > 0)
            {
                SetMarkableMark(thisAccountCanAttackPlayerManagerList.ToArray(), thisPlayer, true);
            }
            else
            {
                reactionManager.SetActionFail(CardType.Shot);
            }

            break;

        case CardType.Police:

            if (policeManager == null)
            {
                policeManager = FindObjectOfType <PoliceManager> ();
            }

            GameManager.Instance.gamePlayManager.cameraController.ForcusOnPos(policeManager.PolicePosition);
            policeManager.ShowPath();

            break;
        }
    }
Пример #9
0
 private void setDefaultValues()
 {
     trainConnection = null;
     pathValidity    = false;
     stages          = new List <Stage>();
 }
Пример #10
0
    public void Init(int targetIndex, PlayerInfo targetPlayerInfo, PlayerInfoHolder targetPlayerInfoHolder
                     , List <CardInfo> targetCardList, PlayCardManager targetPlayCardManager, TrainConnection targetTrainConnection
                     , ItemHolder targetItemHolder)
    {
        playerIndex           = targetIndex;
        playerInfo            = targetPlayerInfo;
        playerRenderer        = playerTrans.GetComponent <SpriteRenderer> ();
        playerRenderer.sprite = Resources.Load <Sprite> (targetPlayerInfo.character.spriteUrl);
        text_PlayerName.text  = (playerIndex + 1) + ":" + playerInfo.playerName;

        healthController.Init(totalHealth, this, targetPlayerInfoHolder);
        cardController.Init(playerIndex, playerInfo, this, targetCardList, targetPlayCardManager);
        moveController.Init(this);
        moveController.Move(targetTrainConnection);
        playerTrans.position = moveController.standPos;

        itemController.Init(targetPlayerInfoHolder);
        itemController.StoreItem(targetItemHolder);
        bulletController.Init(maxBulletCount, targetPlayerInfoHolder);

        SetPlay(false);
    }
 public FormDetailsOfConnection(TrainConnection connection)
 {
     InitializeComponent();
     trainConnection = connection;
 }