Example #1
0
 public void ShowFlagUI(FlagColor color)
 {
     foreach (var flag in flagComponents.Where(flag => flag.uiFlagColor == color))
     {
         Debug.Log("Find Flag");
         flag.SetFlag(flagColorDic[color]);
     }
 }
Example #2
0
 void MovePlayerToPlaceFlag(FlagColor color, Vector2 worldPoint)
 {
     /*
      * move player (if needed, this is checked in player moviment coroutine)
      * to click position and place a flag there
      */
     movimentControlCoroutine = MovePlayerToPlaceFlagCoroutine(color, worldPoint);
     StartCoroutine(movimentControlCoroutine);
 }
    public void GetFlag(FlagColor color)
    {
        var tempFlag = flagList.Find(flag => flag.color == color);

        if (tempFlag != null)
        {
            tempFlag.isTaken = true;
            uiFlagDisplay.ShowFlagUI(color);
            //photonView.RPC("GetFlagAnnounce", RpcTarget.Others, PhotonNetwork.NickName, color);
        }
    }
Example #4
0
        public Base GetMyBase(Vector v, FlagColor myColor)
        {
            double shortestDistance = double.MaxValue;
            Base   myBase           = null;

            foreach (Base theBase in Bases)
            {
                if (theBase.Color == myColor)
                {
                    myBase = theBase;
                }
            }
            return(myBase);
        }
Example #5
0
 private void ReclickRespectiveFlag(FlagColor color)
 {
     if (color == FlagColor.Red)
     {
         RedFlagButtonClick();
     }
     else if (color == FlagColor.Green)
     {
         GreenFlagButtonClick();
     }
     else if (color == FlagColor.Yellow)
     {
         YellowFlagButtonClick();
     }
 }
Example #6
0
    IEnumerator MovePlayerToPlaceFlagCoroutine(FlagColor color, Vector2 worldPoint)
    {
        //wait for move player to position
        yield return(playerMoviment.MoveToPosition(worldPoint));

        //skip a frame
        yield return(null);

        flagManager.InstantiateFlag(color, worldPoint);

        yield return(null);

        // this.RedFlagButtonClick();
        ResetAllFlagClickedButThis(color);
    }
Example #7
0
    ///<summary>
    /// instantiate a flag prefab in the position wanted by player, checks if it is the right position, instantiate
    /// correct prefab (right or wrong flag) and change score based of the level of 'rightfulness'
    ///</summary>
    ///<param name="color">players intention</param>
    ///<param name="pos">world position</param>
    public void InstantiateFlag(FlagColor color, Vector2 pos)
    {
        Utils.FlagColor correctColor = GetClickedAreaColor(pos);

        //TODO: create add or remove correct amount of points!
        if (color != correctColor)
        {
            if (color == FlagColor.Red)
            {
                InstantiateFlagAndAction(redFlagPrefabWrong, pos);
                // ScoreManager.instance.RemovePoints(Utils.ScoreIntensity.High);
            }
            else if (color == FlagColor.Green)
            {
                InstantiateFlagAndAction(greenFlagPrefabWrong, pos);
                // if (correctColor == Utils.FlagColor.None){
                //  //no big deal.
                //  ScoreManager.instance.RemovePoints(Utils.ScoreIntensity.Low);
                // }else{
                //  //wrong position! people are in danger!
                //  ScoreManager.instance.RemovePoints(Utils.ScoreIntensity.High);
                // }
            }
            else if (color == FlagColor.Yellow)
            {
                InstantiateFlagAndAction(yellowPlagPrefabWrong, pos);
                // ScoreManager.instance.RemovePoints(Utils.ScoreIntensity.High);
            }
            return;
        }

        if (color == FlagColor.Red)
        {
            InstantiateFlagAndAction(redFlagPrefab, pos);
        }
        else if (color == FlagColor.Green)
        {
            InstantiateFlagAndAction(greenFlagPrefab, pos);
        }
        else if (color == FlagColor.Yellow)
        {
            InstantiateFlagAndAction(yellowPlagPrefab, pos);
        }
        else
        {
            Debug.LogError("Should never be here. Where? " + this.name);
        }
    }
Example #8
0
        public Flag GetNearestFlag(Vector v, FlagColor myColor)
        {
            double shortestDistance = double.MaxValue;
            Flag   nearest          = null;

            foreach (Flag flag in Flags)
            {
                double distance = Vector.FindDistance(v, flag.Location);
                if (distance < shortestDistance && flag.Color != myColor)
                {
                    nearest          = flag;
                    shortestDistance = distance;
                }
            }
            return(nearest);
        }
Example #9
0
 private void ResetAllFlagClickedButThis(FlagColor color)
 {
     if (color == FlagColor.Red)
     {
         redFlagClicked    = !redFlagClicked;
         yellowFlagClicked = false;
         greenFlagClicked  = false;
     }
     else if (color == FlagColor.Green)
     {
         redFlagClicked    = false;
         yellowFlagClicked = false;
         greenFlagClicked  = !greenFlagClicked;
     }
     else if (color == FlagColor.Yellow)
     {
         redFlagClicked    = false;
         yellowFlagClicked = !yellowFlagClicked;
         greenFlagClicked  = false;
     }
 }
Example #10
0
        public static List <Tank> createMyTanks(string rawTanksData)
        {
            List <Tank> myTanks = new List <Tank>();

            string[] splitTankData = rawTanksData.Split(new string[] { "\r\n", "\n" }, StringSplitOptions.None);

            foreach (string individualTankData in splitTankData)
            {
                if (!individualTankData.StartsWith("mytank"))
                {
                    continue;
                }

                string[] tokens = individualTankData.Split(null);

                int       tankIndex      = int.Parse(tokens[1]);
                string    callsign       = tokens[2];
                string    status         = tokens[3];
                int       shotsAvailable = int.Parse(tokens[4]);
                double    timeToReload   = double.Parse(tokens[5]);
                FlagColor flag           = Flag.ParseFlagColor(tokens[6]);
                double    xPos           = double.Parse(tokens[34]);
                double    yPos           = double.Parse(tokens[35]);
                double    angle          = double.Parse(tokens[36]);
                double    velocityX      = double.Parse(tokens[37]);
                double    velocityY      = double.Parse(tokens[38]);
                double    angleVelocity  = double.Parse(tokens[39]);

                bool hasFlag = false;
                //convert flag status to bool
                if (flag != FlagColor.None)
                {
                    hasFlag = true;
                }


                //convert status to enum
                TANK_STATUS enumStatus = TANK_STATUS.ALIVE;
                if (status == "alive")
                {
                    enumStatus = TANK_STATUS.ALIVE;
                }
                else if (status == "dead")
                {
                    enumStatus = TANK_STATUS.DEAD;
                }


                //create tank, add it to myTanks
                Tank tempTank = new Tank()
                {
                    _isEnemy        = false,
                    _index          = tankIndex,
                    _callsign       = callsign,
                    _status         = enumStatus,
                    _shotsAvailable = shotsAvailable,
                    _timeToReload   = timeToReload,
                    _xPosition      = xPos,
                    _yPosition      = yPos,
                    _angle          = angle,
                    _velocityX      = velocityX,
                    _velocityY      = velocityY,
                    _angelVelocity  = angleVelocity,
                    _hasFlag        = hasFlag
                };

                myTanks.Add(tempTank);
            }
            return(myTanks);
        }
Example #11
0
 public PotentialField GetFieldForNearestFlag(Vector v, FlagColor myColor)
 {
     return(GetNearestFlag(v, myColor).GetFlagField());
 }
 public static void setFlag(FlagColor color, bool value)
 {
     flags[(int)color] = value;
 }
 public static Color getFlagXNAColor(FlagColor color)
 {
     switch (color)
     {
         case FlagColor.Blue:
             return Color.Blue;
         case FlagColor.Green:
             return Color.Green;
         case FlagColor.Red:
             return Color.Red;
         case FlagColor.Yellow:
             return Color.Yellow;
         case FlagColor.Purple:
             return Color.Magenta;
         default:
             return Color.Black;
     }
 }
 public static bool getFlag(FlagColor color)
 {
     return flags[(int)color];
 }
 public void GetFlagAnnounce(string nick, FlagColor color)
 {
     print($"[DEBUG] RPC : GetFlagAnnounce() - Nickname : {nick}, Color : {color.ToString()}");
 }
Example #16
0
 public PotentialField GetFieldForMyBase(Vector v, FlagColor myColor)
 {
     return(GetMyBase(v, myColor).GetBaseField());
 }
Example #17
0
 public void InitFlag(FlagColor flag, float opacity, Color color)
 {
     uiFlagColor = flag;
     TweenColorFadeIn(flagImage, color, opacity, 0.0f);
 }
Example #18
0
        public static List <Tank> createEnemyTanks(string rawEnemyTankData)
        {
            List <Tank> myTanks = new List <Tank>();

            string[] splitTankData = rawEnemyTankData.Split(new string[] { "\r\n", "\n" }, StringSplitOptions.None);

            foreach (string individualTankData in splitTankData)
            {
                if (!individualTankData.StartsWith("othertank"))
                {
                    continue;
                }

                string[] tokens = individualTankData.Split(null);

                //othertank [callsign] [color] [status] [flag] [x] [y] [angle]
                string    callsign = tokens[1];
                string    color    = tokens[2];
                string    status   = tokens[3];
                FlagColor flag     = Flag.ParseFlagColor(tokens[4]);
                double    xPos     = double.Parse(tokens[5]);
                double    yPos     = double.Parse(tokens[6]);
                double    angle    = double.Parse(tokens[7]);

                bool hasFlag = false;
                //convert flag status to bool
                if (flag != FlagColor.None)
                {
                    hasFlag = true;
                }


                //convert status to enum
                TANK_STATUS enumStatus = TANK_STATUS.ALIVE;
                if (status == "alive")
                {
                    enumStatus = TANK_STATUS.ALIVE;
                }
                else if (status == "dead")
                {
                    enumStatus = TANK_STATUS.DEAD;
                }

                //create tank, add it to myTanks
                Tank tempTank = new Tank()
                {
                    _isEnemy   = true,
                    _callsign  = callsign,
                    _status    = enumStatus,
                    _xPosition = xPos,
                    _yPosition = yPos,
                    _angle     = angle,
                    _hasFlag   = hasFlag
                };

                myTanks.Add(tempTank);
            }



            return(myTanks);
        }
Example #19
0
 public void FlagButtonClick(FlagColor color)
 {
     ResetAllFlagClickedButThis(color);
 }
Example #20
0
File: Flag.cs Project: IAJ-g04/Lab9
 public Flag(NavigationGraphNode location, FlagColor color)
 {
     this.DirectInfluence = 10.0f;
     this.Location = location;
     this.FlagColor = color;
 }
Example #21
0
File: Flag.cs Project: IAJ-g04/Lab9
 public Flag(NavigationGraphNode location, FlagColor color)
 {
     this.DirectInfluence = 10.0f;
     this.Location        = location;
     this.FlagColor       = color;
 }
 public Flag(FlagColor color)
 {
     this.color = color;
     isTaken    = false;
 }