public void UseElement(int id) { InteractiveElement e = m_Account.MapData.InteractiveElements.Keys.ToList().Find(i => i.Id == id); UseElement(id, e.EnabledSkills[0].SkillInstanceUid); m_elemId = -1; }
public IEnumerator TestOnStateActivatedNewState() { // Create an interactive cube InteractiveElement interactiveElement = CreateInteractiveCube(); yield return(null); // Create a new state interactiveElement.AddNewState(newStateName); bool stateActivated = false; // Use the OnStateActivated event in the State Manager to set stateActivated interactiveElement.StateManager.OnStateActivated.AddListener((state) => { if (state.Name == newStateName) { stateActivated = true; } }); // Set the state on interactiveElement.SetStateOn(newStateName); // Make sure the state was activated Assert.True(stateActivated); }
public static InteractiveElement CreateElement(string elementsClassName, Vector3Int position) { InteractiveElement element = CreateElement(elementsClassName); element.position = position; return(element); }
private void HandleHovering() { _pointerEventData = new PointerEventData(eventSystem) { position = Input.mousePosition }; List <RaycastResult> results = new List <RaycastResult>(); raycaster.Raycast(_pointerEventData, results); foreach (var r in results) { var element = r.gameObject.GetComponent <InteractiveElement>(); if (element != null) { if (element != _hoveredElement) { _hoveredElement = element; _hasHoveringCache = true; _outlineManager.ToggleHoverOutline(_hoveredElement); } return; } } if (_hasHoveringCache) { ResetHoveringCache(); _outlineManager.ToggleHoverOutline(); } }
private bool isBorder(InteractiveElement element) { return(element.position.x == level.LevelLeftBound || element.position.x == level.LevelRightBound + 1 || element.position.y == level.LevelTopBound + 1 || element.position.y == level.LevelBottomBound); }
public IEnumerator TestClickedEventConfiguration() { // Create an interactive cube InteractiveElement interactiveElement = CreateInteractiveCube(); yield return(null); // Add the clicked state InteractionState clicked = interactiveElement.AddNewState(clickedStateName); yield return(null); // Get the event configuration for the Clicked state var eventConfiguration = interactiveElement.GetStateEvents <ClickedEvents>(clickedStateName); bool onClicked = false; eventConfiguration.OnClicked.AddListener(() => { onClicked = true; }); // Create a new hand and initialize it with an object in focus var leftHand = new TestHand(Handedness.Left); // Show hand at starting position yield return(ShowHandWithObjectInFocus(leftHand)); // Click the hand to trigger far select events yield return(leftHand.Click()); Assert.True(onClicked); }
protected void FillPosition(int x, int y, string wallName) { InteractiveElement obstacle = SimpleInteractiveElementFactory.CreateElement(wallName); obstacle.position = new Vector3Int(x, y, 0); gameField.Add(obstacle.position, obstacle); }
public Vector3Int GetNextHeadPosition() { InteractiveElement head = GetSnakesHead(); SnakesDirection = NextDirection; return(SnakesDirectionHelper.NextHeadPosition(SnakesDirection, head.position)); }
void TankMoveDone(object sender, RoutedEventArgs e) { ReneCommunicatorBroadcast rcb = e.OriginalSource as ReneCommunicatorBroadcast; this.Dispatcher.BeginInvoke(DispatcherPriority.Normal, new System.Windows.Forms.MethodInvoker(delegate() { Vector v = (Vector)rcb.Data; foreach (User u in M.Session.Users) { if (u.PublicKey == rcb.sender.PublicKey) { if (u.Tank.InteractiveElement == null) { InteractiveElement ie = new InteractiveElement(); ie.Background = Brushes.Red; ie.Width = 25; ie.Height = 25; ie.HorizontalAlignment = HorizontalAlignment.Left; ie.VerticalAlignment = VerticalAlignment.Top; Grid g = this.Template.FindName("PART_Tanks", this) as Grid; g.Children.Add(ie); u.Tank.InteractiveElement = ie; } u.Tank.InteractiveElement.SetPosition(v); if (u.PublicKey == M.Session.User.PublicKey) { M.Session.User.Tank.InteractiveElement = u.Tank.InteractiveElement; } } } })); }
void InteractWithElemetsAtPosition(Vector3Int position) { InteractiveElement element = app.model.level.GetElementWithPosition(position); element.Interact(); element = app.model.snake.GetSnakesElementWithPosition(position); element.Interact(); }
public void Deserialize(IDataReader reader) { InteractiveElements = new InteractiveElement[reader.ReadShort()]; for (var i = 0; i < InteractiveElements.Length; i++) { (InteractiveElements[i] = new InteractiveElement()).Deserialize(reader); } }
public override void Serialize(IDataWriter writer) { writer.WriteShort(((short)(m_houses.Count))); int housesIndex; for (housesIndex = 0; (housesIndex < m_houses.Count); housesIndex = (housesIndex + 1)) { HouseInformations objectToSend = m_houses[housesIndex]; writer.WriteUShort(((ushort)(objectToSend.TypeID))); objectToSend.Serialize(writer); } writer.WriteShort(((short)(m_actors.Count))); int actorsIndex; for (actorsIndex = 0; (actorsIndex < m_actors.Count); actorsIndex = (actorsIndex + 1)) { GameRolePlayActorInformations objectToSend = m_actors[actorsIndex]; writer.WriteUShort(((ushort)(objectToSend.TypeID))); objectToSend.Serialize(writer); } writer.WriteShort(((short)(m_interactiveElements.Count))); int interactiveElementsIndex; for (interactiveElementsIndex = 0; (interactiveElementsIndex < m_interactiveElements.Count); interactiveElementsIndex = (interactiveElementsIndex + 1)) { InteractiveElement objectToSend = m_interactiveElements[interactiveElementsIndex]; writer.WriteUShort(((ushort)(objectToSend.TypeID))); objectToSend.Serialize(writer); } writer.WriteShort(((short)(m_statedElements.Count))); int statedElementsIndex; for (statedElementsIndex = 0; (statedElementsIndex < m_statedElements.Count); statedElementsIndex = (statedElementsIndex + 1)) { StatedElement objectToSend = m_statedElements[statedElementsIndex]; objectToSend.Serialize(writer); } writer.WriteShort(((short)(m_obstacles.Count))); int obstaclesIndex; for (obstaclesIndex = 0; (obstaclesIndex < m_obstacles.Count); obstaclesIndex = (obstaclesIndex + 1)) { MapObstacle objectToSend = m_obstacles[obstaclesIndex]; objectToSend.Serialize(writer); } writer.WriteShort(((short)(m_fights.Count))); int fightsIndex; for (fightsIndex = 0; (fightsIndex < m_fights.Count); fightsIndex = (fightsIndex + 1)) { FightCommonInformations objectToSend = m_fights[fightsIndex]; objectToSend.Serialize(writer); } m_fightStartPositions.Serialize(writer); writer.WriteVarShort(m_subAreaId); writer.WriteInt(m_mapId); writer.WriteBoolean(m_hasAggressiveMonsters); }
public override void SpawnSnakeAtPosition(Vector3Int position, int snakesLength) { snake.Clear(); for (int i = snakesLength; i > 0; i--) { InteractiveElement bodyElement = CreateSnakesBodyElement(new Vector3Int(i + position.x, position.y, position.z)); snake.Add(bodyElement); } }
public override void Deserialize(IDataReader reader) { mapId = reader.ReadInt(); if (mapId < 0) { throw new Exception("Forbidden value on mapId = " + mapId + ", it doesn't respect the following condition : mapId < 0"); } subareaId = reader.ReadShort(); if (subareaId < 0) { throw new Exception("Forbidden value on subareaId = " + subareaId + ", it doesn't respect the following condition : subareaId < 0"); } var limit = reader.ReadUShort(); houses = new HouseInformations[limit]; for (int i = 0; i < limit; i++) { houses[i] = (HouseInformations)ProtocolTypeManager.GetInstance(reader.ReadUShort()); houses[i].Deserialize(reader); } limit = reader.ReadUShort(); actors = new GameRolePlayActorInformations[limit]; for (int i = 0; i < limit; i++) { actors[i] = (GameRolePlayActorInformations)ProtocolTypeManager.GetInstance(reader.ReadUShort()); actors[i].Deserialize(reader); } limit = reader.ReadUShort(); interactiveElements = new InteractiveElement[limit]; for (int i = 0; i < limit; i++) { interactiveElements[i] = new InteractiveElement(); interactiveElements[i].Deserialize(reader); } limit = reader.ReadUShort(); statedElements = new StatedElement[limit]; for (int i = 0; i < limit; i++) { statedElements[i] = new StatedElement(); statedElements[i].Deserialize(reader); } limit = reader.ReadUShort(); obstacles = new MapObstacle[limit]; for (int i = 0; i < limit; i++) { obstacles[i] = new MapObstacle(); obstacles[i].Deserialize(reader); } limit = reader.ReadUShort(); fights = new FightCommonInformations[limit]; for (int i = 0; i < limit; i++) { fights[i] = new FightCommonInformations(); fights[i].Deserialize(reader); } }
void SpawnFood() { Level level = app.model.level; InteractiveElement food = GetFoodElement(); Vector3Int position = GetRandomPosition(level); food.position = position; level.SetElementAtPosition(position, food); app.Notify(SnakeNotifications.UpdateView); }
public override void Move() { InteractiveElement head = GetSnakesHead(); InteractiveElement tail = GetSnakesTail(); snake.Remove(tail); tail.position = head.position; snake.Insert(1, tail); head.position = GetNextHeadPosition(); }
public IEnumerator TestTouchEventConfiguration() { // Create an interactive cube InteractiveElement interactiveElement = CreateInteractiveCube(); yield return(null); // Add the touch state InteractionState touchState = interactiveElement.AddNewState(touchStateName); yield return(null); // Get the event configuration for the touch state var eventConfiguration = interactiveElement.GetStateEvents <TouchEvents>(touchStateName); bool onTouchStarted = false; bool onTouchCompleted = false; bool onTouchUpdated = false; eventConfiguration.OnTouchStarted.AddListener((eventData) => { onTouchStarted = true; }); eventConfiguration.OnTouchCompleted.AddListener((eventData) => { onTouchCompleted = true; }); eventConfiguration.OnTouchUpdated.AddListener((eventData) => { onTouchUpdated = true; }); // Create a new hand and initialize it with an object in focus var leftHand = new TestHand(Handedness.Left); // Show hand at starting position yield return(ShowHandWithObjectInFocus(leftHand)); // Move hand to Touch the object yield return(MoveHandTouchObject(leftHand)); Assert.True(onTouchStarted); yield return(null); Assert.True(onTouchUpdated); yield return(null); yield return(MoveHandOutOfFocus(leftHand)); // Make sure the touch has completed when the hand moves off the object Assert.True(onTouchCompleted); yield return(null); }
public override void Serialize(IDataWriter writer) { writer.WriteShort((short)((int)this.interactiveElements.Length)); InteractiveElement[] interactiveElementArray = this.interactiveElements; for (int i = 0; i < (int)interactiveElementArray.Length; i++) { InteractiveElement interactiveElement = interactiveElementArray[i]; writer.WriteShort(interactiveElement.TypeId); interactiveElement.Serialize(writer); } }
public override void Deserialize(IDataReader reader) { uint num = (uint)reader.ReadUShort(); for (int index = 0; (long)index < (long)num; ++index) { InteractiveElement instance = ProtocolTypeManager.GetInstance <InteractiveElement>((uint)reader.ReadUShort()); instance.Deserialize(reader); this.interactiveElements.Add(instance); } }
private InteractiveElement CreateInteractiveCube() { GameObject cube = GameObject.CreatePrimitive(PrimitiveType.Cube); cube.transform.position = new Vector3(0, 0, 0.7f); cube.transform.localScale = new Vector3(0.2f, 0.2f, 0.2f); InteractiveElement basicButton = cube.AddComponent <InteractiveElement>(); return(basicButton); }
public override void Deserialize(IDataReader reader) { var limit = reader.ReadUShort(); interactiveElements = new InteractiveElement[limit]; for (int i = 0; i < limit; i++) { interactiveElements[i] = new InteractiveElement(); interactiveElements[i].Deserialize(reader); } }
public void ToggleHoverOutline(InteractiveElement element = null) { foreach (var item in _materialDictionary) { foreach (var i in item.Value) { var toHover = i.Item1 == element && element.CanBeSelected(); i.Item2.SetColor(Constants.ColorShaderProperty, toHover ? hoverColor : Color.clear); i.Item2.SetFloat(Constants.EnabledShaderProperty, toHover ? 1f : 0f); } } }
public override void Serialize(ICustomDataOutput writer) { writer.WriteShort(((short)(m_interactiveElements.Count))); int interactiveElementsIndex; for (interactiveElementsIndex = 0; (interactiveElementsIndex < m_interactiveElements.Count); interactiveElementsIndex = (interactiveElementsIndex + 1)) { InteractiveElement objectToSend = m_interactiveElements[interactiveElementsIndex]; writer.WriteUShort(((ushort)(objectToSend.TypeID))); objectToSend.Serialize(writer); } }
public override void Deserialize(IDataReader reader) { var limit = reader.ReadShort(); var interactiveElements_ = new InteractiveElement[limit]; for (int i = 0; i < limit; i++) { interactiveElements_[i] = Types.ProtocolTypeManager.GetInstance <InteractiveElement>(reader.ReadShort()); interactiveElements_[i].Deserialize(reader); } interactiveElements = interactiveElements_; }
private void LoadNextPanorama(InteractiveElement element) { if (currentRequest != null) { currentRequest.Dispose(); } zoom = usePreview? 0: panoramaMaxZoom; GoogleStreetViewRequest request = new GoogleStreetViewRequest(googleApiKey, element["id"] as string, zoom, true); request.OnSuccess += OnGoogleStreetViewSuccess; }
public override void Deserialize(IDataReader reader) { var InteractiveElementsCount = reader.ReadShort(); InteractiveElements = new List <InteractiveElement>(); for (var i = 0; i < InteractiveElementsCount; i++) { InteractiveElement objectToAdd = ProtocolTypeManager.GetInstance(reader.ReadUShort()); objectToAdd.Deserialize(reader); InteractiveElements.Add(objectToAdd); } }
void JumpSnake() { Snake snake = app.model.snake; InteractiveElement head = snake.GetSnakesHead(); Vector3Int newPosition = GetMirrorPosition(head.position); if (!newPosition.Equals(head.position)) { head.position = newPosition; app.Notify(SnakeNotifications.TryInteractSnake); } }
public override void Deserialize(ICustomDataInput reader) { int interactiveElementsCount = reader.ReadUShort(); int interactiveElementsIndex; m_interactiveElements = new System.Collections.Generic.List <InteractiveElement>(); for (interactiveElementsIndex = 0; (interactiveElementsIndex < interactiveElementsCount); interactiveElementsIndex = (interactiveElementsIndex + 1)) { InteractiveElement objectToAdd = ProtocolTypeManager.GetInstance <InteractiveElement>((short)reader.ReadUShort()); objectToAdd.Deserialize(reader); m_interactiveElements.Add(objectToAdd); } }
public override void Deserialize(ICustomDataInput reader) { var countInteractiveElements = reader.ReadShort(); InteractiveElements = new List <InteractiveElement>(); for (short i = 0; i < countInteractiveElements; i++) { var interactiveElementstypeId = reader.ReadShort(); InteractiveElement type = new InteractiveElement(); type.Deserialize(reader); InteractiveElements.Add(type); } }
public void useZaap(int mapid) { InteractiveElement e = m_Account.MapData.InteractiveElements.Keys.ToList().Find(i => i.TypeId == 16); if (e != null) { MoveToSecureElement((int)e.Id); UseElement((int)e.Id, e.EnabledSkills[0].SkillInstanceUid); m_Account.Wait(500, 1000); TeleportRequestMessage msg = new TeleportRequestMessage(0, mapid); m_Account.SocketManager.Send(msg); } }