private void DoAddFriendRequest(string f1, string f2) { if (!dMyRequests.ContainsKey(f1)) { dMyRequests.Add(f1, new Dictionary <string, AFriend>()); } if (dMyRequests[f1].ContainsKey(f2)) { return; } if (!dRequestedMe.ContainsKey(f2)) { dRequestedMe.Add(f2, new Dictionary <string, AFriend>()); } var f = new AFriend(f1, f2, f1); dMyRequests[f1].Add(f2, f); dRequestedMe[f2].Add(f1, f); }
private void DoAddFriend(string f1, string f2) { if (!dFriends.ContainsKey(f1)) { dFriends.Add(f1, new Dictionary <string, AFriend>()); } if (!dFriends.ContainsKey(f2)) { dFriends.Add(f2, new Dictionary <string, AFriend>()); } var f = new AFriend(f1, f2); if (!dFriends[f1].ContainsKey(f2)) { dFriends[f1].Add(f2, f); } if (!dFriends[f2].ContainsKey(f1)) { dFriends[f2].Add(f1, f); } if (dMyRequests.ContainsKey(f1) && dMyRequests[f1].ContainsKey(f2)) { dMyRequests[f1].Remove(f2); } if (dMyRequests.ContainsKey(f2) && dMyRequests[f2].ContainsKey(f1)) { dMyRequests[f2].Remove(f1); } if (dRequestedMe.ContainsKey(f1) && dRequestedMe[f1].ContainsKey(f2)) { dRequestedMe[f1].Remove(f2); } if (dRequestedMe.ContainsKey(f2) && dRequestedMe[f2].ContainsKey(f1)) { dRequestedMe[f2].Remove(f1); } }
public static string ToJson(string avatarname, List <AFriend> friends) { var lfriends = new List <List <string> >(); foreach (var f in friends) { var fn = f.OnGetFriendName(avatarname); var finfo = AFriend.OnGetFriendInfo(fn); if (finfo == null) { AOutput.LogError("Cannot find friend info of " + fn); continue; } var fs = new List <string>(); fs.Add(InfoNameDefs.AvatarName); fs.Add(fn); fs.Add(InfoNameDefs.AvatarHead); fs.Add(finfo.head.ToString()); fs.Add("accid"); fs.Add(finfo.accid); lfriends.Add(fs); } return(AWebServerUtils.ToJsonArray(lfriends.ToArray())); }
public void setTarget(AFriend target) { _friendTarget = target; }
private bool changeTarget() { int bestTarget = -1; // means no target int bestScore = 1000; int myX = (int)transform.position.x; int myY = (int)transform.position.y; Vector2 myPosition = new Vector2(myX, myY); // if there is atleast 1 friend, then checking and returning index if (!(LevelManager.friendsSpawned.Count < 1)) { //print("trying to change target"); //looking for best target for (int i = 0; i < LevelManager.friendsSpawned.Count; i++) { AFriend potentialTarget = LevelManager.friendsSpawned[i]; Vector2 potentialTargetPosition = new Vector2( (int)potentialTarget.transform.position.x, (int)potentialTarget.transform.position.y); int score = MapCalc.GetMinCost(myPosition, potentialTargetPosition); if (score < bestScore) { bestScore = score; bestTarget = i; } } // better to add try catch, cause some of the enemies might try to swap into unexisting char try { _friendTarget = LevelManager.friendsSpawned[bestTarget]; } catch (Exception e) { print("ERROR!" + e.StackTrace); } return true; } return false; }
private void createFriend(AFriend friend, Vector2 pos) { if (MapManager.mapArray[(int)pos.x, (int)pos.y] == null) { AFriend instance = Instantiate(friend, pos, Quaternion.identity) as AFriend; instance.transform.SetParent(friendsHolder.transform); MapManager.mapArray[(int)pos.x, (int)pos.y] = instance; friendsSpawned.Add(instance); } }