public void ShowFlagUI(FlagColor color) { foreach (var flag in flagComponents.Where(flag => flag.uiFlagColor == color)) { Debug.Log("Find Flag"); flag.SetFlag(flagColorDic[color]); } }
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); } }
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); }
private void ReclickRespectiveFlag(FlagColor color) { if (color == FlagColor.Red) { RedFlagButtonClick(); } else if (color == FlagColor.Green) { GreenFlagButtonClick(); } else if (color == FlagColor.Yellow) { YellowFlagButtonClick(); } }
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); }
///<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); } }
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); }
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; } }
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); }
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()}"); }
public PotentialField GetFieldForMyBase(Vector v, FlagColor myColor) { return(GetMyBase(v, myColor).GetBaseField()); }
public void InitFlag(FlagColor flag, float opacity, Color color) { uiFlagColor = flag; TweenColorFadeIn(flagImage, color, opacity, 0.0f); }
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); }
public void FlagButtonClick(FlagColor color) { ResetAllFlagClickedButThis(color); }
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; }