public override void HandleAttacks(List <Attack> p_attackList, Monster p_monster, Character p_character, Boolean p_isMagic) { if (p_monster.DistanceToParty > 1f) { return; } Party party = LegacyLogic.Instance.WorldManager.Party; Grid grid = LegacyLogic.Instance.MapLoader.Grid; Position position = party.Position; Position position2 = position + EDirectionFunctions.GetLineOfSightDirection(p_monster.Position, party.Position); GridSlot slot = grid.GetSlot(position2); if (slot == null) { return; } party.IsPushed = true; if (!slot.HasEntities && grid.CanMoveEntity(party, p_monster.Direction)) { GridSlot slot2 = grid.GetSlot(position); slot2.RemoveEntity(party); party.Position = position2; grid.GetSlot(position2).AddEntity(party); MoveEntityEventArgs p_eventArgs = new MoveEntityEventArgs(position, position2); LegacyLogic.Instance.EventManager.InvokeEvent(party, EEventType.MOVE_ENTITY, p_eventArgs); LegacyLogic.Instance.EventManager.InvokeEvent(this, EEventType.ENTITY_ABILITY_ADDED, new AbilityEventArgs(p_monster, this)); AbilityTriggeredEventArgs p_args = new AbilityTriggeredEventArgs(p_monster, this); LegacyLogic.Instance.ActionLog.PushEntry(p_args); } else { party.IsPushed = false; } }
private void OnChangedPlayerMoved(Object p_sender, EventArgs p_args) { MoveEntityEventArgs moveEntityEventArgs = p_args as MoveEntityEventArgs; if (moveEntityEventArgs != null && p_sender is Party) { mLastPlayerPos = moveEntityEventArgs.Position; if (mSteps < MaxStepsUntilUpdate) { if (IsInvoking("OnPositionChange")) { CancelInvoke("OnPositionChange"); } Invoke("OnPositionChange", Random.Range(MinUpdateTime, MaxUpdateTime)); mSteps++; } else { if (IsInvoking("OnPositionChange")) { CancelInvoke("OnPositionChange"); } OnPositionChange(); } } }
private void EntityMoved(MoveEntityEventArgs moveEntityEventArgs) { //Check that type is valid if (Entity.GetType() != moveEntityEventArgs.NewParent.GetType()) { return; } //Do nothing in case of a timeentry (since we dont have timeentries in the tree) if (moveEntityEventArgs.MovedEntity is TimeEntry) { return; } if (moveEntityEventArgs.OldParent.Id == Entity.Id) { RemoveChild(moveEntityEventArgs.MovedEntity); } if (moveEntityEventArgs.NewParent.Id == Entity.Id) { if (Children.SingleOrDefault(item => item.Entity.Id == moveEntityEventArgs.MovedEntity.Id) == null) { AddChild(moveEntityEventArgs.MovedEntity); } } }
protected override void DoExecute() { InteractiveObject interactiveObject = Grid.FindInteractiveObject(m_targetSpawnID); if (interactiveObject == null) { throw new InvalidOperationException("Tried to move something that is not an object!"); } InteractiveObject interactiveObject2 = Grid.FindInteractiveObject(m_moveTargetID); if (interactiveObject2 == null) { throw new InvalidOperationException("Tried to move to something that is not an object!"); } if (interactiveObject == null) { return; } EDirection edirection = (!m_useMoveTargetOrientation) ? interactiveObject.Location : interactiveObject2.Location; MoveEntityEventArgs p_eventArgs = new MoveEntityEventArgs(interactiveObject.Position, interactiveObject2.Position, edirection); LegacyLogic.Instance.EventManager.InvokeEvent(interactiveObject, EEventType.MOVE_ENTITY, p_eventArgs); Grid.MoveObject(interactiveObject, interactiveObject2.Position); interactiveObject.Position = interactiveObject2.Position; interactiveObject.Location = edirection; FinishExecution(); }
private void OnChangedPlayerMoved(Object p_sender, EventArgs p_args) { MoveEntityEventArgs moveEntityEventArgs = (MoveEntityEventArgs)p_args; if (moveEntityEventArgs != null && p_sender is Party) { OnPositionChange(moveEntityEventArgs.Position); } }
private void OnMoveEntityEvent(Object p_sender, EventArgs p_args) { MoveEntityEventArgs moveEntityEventArgs = (MoveEntityEventArgs)p_args; if (moveEntityEventArgs != null && p_sender == LegacyLogic.Instance.WorldManager.Party && enabled) { TurnToDefaultView(); } }
private void OnMove(Object p_sender, EventArgs p_args) { InteractiveObject myController = MyController; MoveEntityEventArgs moveEntityEventArgs = p_args as MoveEntityEventArgs; if (p_args != null && p_sender == myController) { OnSetPosition(moveEntityEventArgs.Position, false); } }
//private void _dataService_GetTasksByProjectCompleted(object sender, ProjectListEventArgs e) //{ // _dataService.GetTasksByProjectCompleted -= _dataService_GetTasksByProjectCompleted; // if (e.Projects.Count == 0) // { // return; // } // var tasks = e.Projects[0].Tasks; // LoadTasks(tasks); //} public override void RecieveDraggable(IDraggable draggable) { var task = draggable.Entity as Task; var eventArgs = new MoveEntityEventArgs(task, task.Project, Project); task.Project = Project; task.ProjectID = Project.Id; _dataService.SaveTask(task); InternalCommands.MoveEntityRequest.Execute(eventArgs); }
private void OnMoveEntity(Object p_sender, EventArgs p_args) { MoveEntityEventArgs moveEntityEventArgs = (MoveEntityEventArgs)p_args; if (moveEntityEventArgs != null && p_sender == MyController) { InteractiveObject interactiveObject = (InteractiveObject)p_sender; Vector3 localPosition = Helper.SlotLocalPosition(interactiveObject.Position, 0f); transform.localPosition = localPosition; } }
public override void RecieveDraggable(IDraggable draggable) { var project = draggable.Entity as Project; var eventArgs = new MoveEntityEventArgs(project, project.Customer, Customer); project.Customer = Customer; project.CustomerID = Customer.Id; InternalCommands.MoveEntityRequest.Execute(eventArgs); _dataService.SaveProject(project).Subscribe( result => { } ); }
private void OnMoveEntityEvent(Object p_sender, EventArgs p_args) { MoveEntityEventArgs moveEntityEventArgs = p_args as MoveEntityEventArgs; if (moveEntityEventArgs != null && p_sender == MyController) { Party party = (Party)MyController; MoveTo(Helper.SlotLocalPosition(moveEntityEventArgs.Position, party.Height)); if (!party.IsPushed) { FXMainCamera.Instance.PlayWalkFX(MoveTime()); } PlayMoveSound(false); } }
public override void RecieveDraggable(IDraggable draggable) { var timeEntry = draggable.Entity as TimeEntry; var eventArgs = new MoveEntityEventArgs(timeEntry, timeEntry.Task, Task); timeEntry.Task.TimeEntries.Remove(timeEntry); Task.TimeEntries.Add(timeEntry); timeEntry.Task = Task; _dataService.SaveTimeEntry(timeEntry); InternalCommands.MoveEntityRequest.Execute(eventArgs); }
protected override void OnMoveEntity(Object p_sender, EventArgs p_args) { base.OnMoveEntity(p_sender, p_args); MoveEntityEventArgs moveEntityEventArgs = p_args as MoveEntityEventArgs; if (moveEntityEventArgs != null && p_sender == MyController) { MovingEntity myController = MyController; Vector3 vector = GetVectorPosition(myController.Position, myController.Size, myController.Height); Quaternion quaternion = Helper.GridDirectionToQuaternion(myController.Direction); vector = ViewManager.Instance.GridOrigin.TransformPoint(vector); vector += quaternion * m_PositionOffset; m_animatorControl.MoveTo(vector, quaternion); } }
private void OnMoveEntity(Object p_sender, EventArgs p_args) { MoveEntityEventArgs moveEntityEventArgs = (MoveEntityEventArgs)p_args; if (moveEntityEventArgs != null && p_sender == MyController) { Single p_height = 0f; GridSlot slot = LegacyLogic.Instance.MapLoader.Grid.GetSlot(moveEntityEventArgs.Position); if (slot != null) { p_height = slot.Height; } Vector3 localPosition = Helper.SlotLocalPosition(moveEntityEventArgs.Position, p_height); transform.localPosition = localPosition; } }
private void OnMoveEntity(Object p_sender, EventArgs p_args) { MoveEntityEventArgs moveEntityEventArgs = (MoveEntityEventArgs)p_args; if (moveEntityEventArgs != null && p_sender == MyController) { Single p_height = 0f; GridSlot slot = LegacyLogic.Instance.MapLoader.Grid.GetSlot(moveEntityEventArgs.Position); if (slot != null) { p_height = slot.Height; } Vector3 a = Helper.SlotLocalPosition(moveEntityEventArgs.Position, p_height); InteractiveObject interactiveObject = p_sender as InteractiveObject; transform.localPosition = a + new Vector3(interactiveObject.OffsetPosition.X, interactiveObject.OffsetPosition.Y, interactiveObject.OffsetPosition.Z); } }
protected virtual void EntityDragged(MoveEntityEventArgs moveEntityEventArgs) { if (Entity.GetType() != moveEntityEventArgs.NewParent.GetType()) { return; } if (moveEntityEventArgs.OldParent.Id == Entity.Id) { RemoveChild(moveEntityEventArgs.MovedEntity.Id); } if (moveEntityEventArgs.NewParent.Id == Entity.Id) { if (Children.SingleOrDefault(item => item.Entity.Id == moveEntityEventArgs.MovedEntity.Id) == null) { AddChild(moveEntityEventArgs.MovedEntity); } } }
protected override void DoExecute() { InteractiveObject interactiveObject = Grid.FindInteractiveObject(m_targetSpawnID); if (interactiveObject == null) { throw new InvalidOperationException("Tried to move something that is not an object!"); } Position position = new Position(m_posX, m_posY); if (interactiveObject == null) { return; } MoveEntityEventArgs p_eventArgs = new MoveEntityEventArgs(interactiveObject.Position, position); LegacyLogic.Instance.EventManager.InvokeEvent(interactiveObject, EEventType.MOVE_ENTITY, p_eventArgs); Grid.MoveObject(interactiveObject, position); interactiveObject.Position = position; FinishExecution(); }
//public bool Swap(int[] l1, int[] l2) //{ // string temp = Grid[l1[0], l1[1]]; // Grid[l1[0], l1[1]] = Grid[l2[0], l2[1]]; // Grid[l2[0], l2[1]] = temp; // if (Focus == true) // { // UpdateDisplay(new List<Tuple<int[], int[]>> { new Tuple<int[], int[]>(l1, l2) }); // } // return true; //} public bool Move(object entity, MoveEntityEventArgs e) { int[] location1 = (int[])e.Location.Clone(); int[] location2 = (int[])e.NewLocation.Clone(); if (location2[0] < 0 || location2[0] >= Grid.GetLength(0) || location2[1] < 0 || location2[1] >= Grid.GetLength(1)) { return(false); } if (Grid[location2[0], location2[1]] != null) { // Find object foreach (KeyValuePair <string, IEntity> otherEntity in Entities) { if (otherEntity.Value.Location[0] == e.NewLocation[0] && otherEntity.Value.Location[1] == e.NewLocation[1]) { // Raise collision event OnRaiseEntityCollision(new EntityCollisionEventArgs((IEntity)entity, otherEntity.Value)); break; } } return(false); } string temp = Grid[location1[0], location1[1]]; Grid[location1[0], location1[1]] = null; Grid[location2[0], location2[1]] = temp; if (Focus == true) { UpdateDisplay(new List <Tuple <int[], int[]> > { new Tuple <int[], int[]>(location1, location2) }); } return(true); }
protected override void DoExecute() { Monster monster = LegacyLogic.Instance.WorldManager.FindObjectBySpawnerId <Monster>(m_targetSpawnID); if (monster == null) { LegacyLogger.Log("Tried to move something that is not a monster " + m_targetSpawnID); } else { Position position = monster.Position; Position position2 = new Position(m_posX, m_posY); GridSlot slot = Grid.GetSlot(monster.Position); if (Grid.GetSlot(position2).AddEntity(monster)) { slot.RemoveEntity(monster); } MoveEntityEventArgs p_eventArgs = new MoveEntityEventArgs(position, position2); LegacyLogic.Instance.EventManager.InvokeEvent(monster, EEventType.MOVE_ENTITY, p_eventArgs); FinishExecution(); } }
public override void RecieveDraggable(IDraggable draggable) { var timeEntry = draggable.Entity as TimeEntry; if (timeEntry == null || timeEntry.DocumentType == 2) { MessageBox.Show("You can't drop this time entry, it have already been invoiced"); return; } var eventArgs = new MoveEntityEventArgs(timeEntry, timeEntry.Task, Task); timeEntry.Task = Task; timeEntry.TaskID = Task.Id; DataService.SaveTimeEntry(timeEntry); DataService.SaveTask(Task); // Update visuals var draggedTimeEntry = draggable as ListTimeEntryViewModel; if (draggedTimeEntry == null) { return; } draggedTimeEntry.ParentTask.RemoveChild(timeEntry.Id); if (Children.All(item => item.Entity.Id != timeEntry.Id)) { AddChild(draggedTimeEntry.Entity); IsExpanded = true; } // For treeview InternalCommands.MoveEntityRequest.Execute(eventArgs); Reload(); }
protected override void DoExecute() { InteractiveObject interactiveObject = Grid.FindInteractiveObject(m_targetSpawnID); if (interactiveObject == null) { throw new InvalidOperationException("Tried to move something that is not an object!"); } Position position = interactiveObject.Position; Position position2 = interactiveObject.Position; Boolean flag = false; while (!flag) { GridSlot slot = Grid.GetSlot(position2 + m_dir); if ((slot.TerrainType & ETerrainType.LAVA) != ETerrainType.NONE) { position2 += m_dir; } else { flag = true; } } if (position != position2) { GridSlot slot2 = Grid.GetSlot(position); slot2.TerrainType = ETerrainType.LAVA; slot2 = Grid.GetSlot(position2); slot2.TerrainType = ETerrainType.PASSABLE; interactiveObject.Position = position2; Grid.MoveObject(interactiveObject, position2); MoveEntityEventArgs p_eventArgs = new MoveEntityEventArgs(position, position2); LegacyLogic.Instance.EventManager.InvokeEvent(interactiveObject, EEventType.PLATFORM_MOVED, p_eventArgs); } FinishExecution(); }
protected override void EntityDragged(MoveEntityEventArgs moveEntityEventArgs) { var target = moveEntityEventArgs.NewParent as Task; var source = moveEntityEventArgs.OldParent as Task; var movedEntity = moveEntityEventArgs.MovedEntity as TimeEntry; if (target == null || source == null || movedEntity == null) { return; } if (source.Guid == Task.Guid) { RemoveChild(moveEntityEventArgs.MovedEntity.Id); } if (target.Guid == Task.Guid) { if (Children.SingleOrDefault(item => item.Entity.Id == moveEntityEventArgs.MovedEntity.Id) == null) { AddChild(movedEntity); } } }
public override void HandleAttacks(List <Attack> p_attackList, Monster p_monster, Character p_character, Boolean p_isMagic) { if (p_monster.DistanceToParty > 1f) { return; } Grid grid = LegacyLogic.Instance.MapLoader.Grid; Position position = LegacyLogic.Instance.WorldManager.Party.Position; EDirection direction = LegacyLogic.Instance.WorldManager.Party.Direction; EDirection p_dir = (direction - EDirection.EAST != -1) ? (direction - 1) : EDirection.WEST; EDirection p_dir2 = (direction + 1 != EDirection.COUNT) ? (direction + 1) : EDirection.NORTH; Boolean flag = true; if (direction != EDirectionFunctions.GetOppositeDir(p_monster.Direction) && direction != p_monster.Direction) { p_dir = direction; p_dir2 = EDirectionFunctions.GetOppositeDir(direction); flag = false; } p_monster.CombatHandler.MeleeStrikes = 3; Position position2 = p_monster.Position; Position p_pos = position + p_dir; Position position3 = position + p_dir2; Boolean flag2 = Random.Range(0, 2) == 1; if (flag2) { if (grid.GetSlot(p_pos).AddEntity(p_monster)) { grid.GetSlot(position2).RemoveEntity(p_monster); p_monster.Rotate(EDirectionFunctions.RotationCount(p_monster.Direction, EDirectionFunctions.GetOppositeDir(direction)), false); if (flag) { p_monster.Rotate(-1, false); } } else { flag2 = false; } } if (!flag2) { if (Position.Distance(p_monster.Position, position3) < 2f) { if (grid.GetSlot(position3).AddEntity(p_monster)) { grid.GetSlot(position2).RemoveEntity(p_monster); p_monster.Rotate(EDirectionFunctions.RotationCount(p_monster.Direction, EDirectionFunctions.GetOppositeDir(direction)), false); if (flag) { p_monster.Rotate(1, false); } } } else if (grid.GetSlot(p_pos).AddEntity(p_monster)) { grid.GetSlot(position2).RemoveEntity(p_monster); p_monster.Rotate(EDirectionFunctions.RotationCount(p_monster.Direction, EDirectionFunctions.GetOppositeDir(direction)), false); if (flag) { p_monster.Rotate(-1, false); } } } if (position2 != p_monster.Position) { MoveEntityEventArgs p_eventArgs = new MoveEntityEventArgs(position2, p_monster.Position); LegacyLogic.Instance.EventManager.InvokeEvent(p_monster, EEventType.MOVE_ENTITY, p_eventArgs); AbilityTriggeredEventArgs p_args = new AbilityTriggeredEventArgs(p_monster, this); LegacyLogic.Instance.ActionLog.PushEntry(p_args); LegacyLogic.Instance.EventManager.InvokeEvent(this, EEventType.ENTITY_ABILITY_ADDED, new AbilityEventArgs(p_monster, this)); } }
private void OnChangedPlayerMoved(Object p_sender, EventArgs p_args) { MoveEntityEventArgs moveEntityEventArgs = (MoveEntityEventArgs)p_args; OnPositionChange(moveEntityEventArgs.Position); }