private void Vision() { hasVision = true; Debug.Log("You have vision!"); var players = GameObject.FindGameObjectsWithTag("Player"); arr = new PlayerRenderInfo[players.Length]; int i = 0; foreach (var player in players) { if (player.GetComponent <PhotonView>().isMine) { continue; } arr[i] = new PlayerRenderInfo(); arr[i].SetPlayer(player); GameObject[] models = player.GetComponent <ExtraRemoteCharControls>().playerModels; foreach (var model in models) { if (model.activeSelf == true) { arr[i].SetModel(model); arr[i].SetMaterial(model.GetComponent <Renderer>().material); model.GetComponent <Renderer>().material = seeThruMat; } } i++; } StartCoroutine("VisionCoolDown"); }
private PlayerRenderInfo GetOrCreateRenderInfo(int entityId) { PlayerRenderInfo result; if (!_renderInfos.TryGetValue(entityId, out result)) { result = new PlayerRenderInfo(); result.PlayerPos = new Ellipse { Width = 15, Height = 15, Visibility = Visibility.Hidden }; result.playerSightBrush = new LinearGradientBrush(Color.FromArgb(64, 255, 255, 255), Color.FromArgb(0, 255, 255, 255), 0.0) { MappingMode = BrushMappingMode.Absolute }; result.PlayerSight = new Polygon { Fill = result.playerSightBrush, Points = new PointCollection { new Point(), new Point(), new Point() }, Visibility = Visibility.Hidden }; result.DeathPos = new Path { Data = s_cross, Visibility = Visibility.Hidden }; canvas.Children.Add(result.PlayerPos); canvas.Children.Add(result.PlayerSight); canvas.Children.Add(result.DeathPos); _renderInfos.Add(entityId, result); } result.Used = true; return(result); }