Beispiel #1
0
    public void AttackCurrentTarget()
    {
        Vector3 velocity = Owner.RenderTrasform.transform.position - targetCharacters[currentTargetIndex].RenderTrasform.transform.position;

        velocity.z = 0f;
        velocity.Normalize();

        Vector3 oPos = Owner.transform.position, tPos = targetCharacters[currentTargetIndex].transform.position;

        float zAngle = Quaternion.FromToRotation(Vector3.right, velocity).eulerAngles.z;

        IsoParticle.CreateParticle("Sliced_Family", targetCharacters[currentTargetIndex].transform.position, zAngle, false, 0.3f);
        targetCharacters[currentTargetIndex].AddNotifyEvent(new CharacterNotifyEvent(CharacterNotifyType.E_Damage, damage));
        Owner.NavAgent.Move(targetCharacters[currentTargetIndex].transform.position - Owner.transform.position);

        System.Action nextAction;

        if (currentTargetIndex < targetCharacters.Count - 1)
        {
            TimelineEvents.Add(new TimeLineEvent(ElapsedTime + 0.25f, RotateNextTarget));
        }
        else
        {
            nextAction  = () => GotoBehindPosition(tPos, oPos);
            nextAction += ReadyToFinish;
            TimelineEvents.Add(new TimeLineEvent(ElapsedTime + 0.2f, nextAction));
        }
    }
Beispiel #2
0
 public override void StartAction(Character owner)
 {
     base.StartAction(owner);
     AnimUtil.PlayAnim(owner, "attack1");
     isAttackCommand = false;
     TimelineEvents.Add(new TimeLineEvent(0.22f, SendDamage));
 }
 public override void StartAction(Character owner)
 {
     base.StartAction(owner);
     NodeUtil.PlayAnim(Owner, "attack");
     PlayerPosition = Player.CurrentPlayer.transform.position;
     TimelineEvents.Add(new TimeLineEvent(0.6f, TimeLine_4));
 }
Beispiel #4
0
 public override void StartAction(Character owner)
 {
     base.StartAction(owner);
     TimelineEvents.Add(new TimeLineEvent(0.01f, TimeLine_4));
     NodeUtil.LookPlayer(Owner);
     NodeUtil.PlayAnim(Owner, "hit");
 }
Beispiel #5
0
 public override void StartAction(Character owner)
 {
     base.StartAction(owner);
     AnimUtil.PlayAnim(owner, "buff");
     TimelineEvents.Add(new TimeLineEvent(0.22f, AddBuff));
     Owner.AddState(new CharacterState(CharacterStateType.E_SuperArmor, Owner).Init());
 }
Beispiel #6
0
 public override void StartAction(Character owner)
 {
     base.StartAction(owner);
     AnimUtil.PlayAnim(owner, "ground_power_atk");
     TimelineEvents.Add(new TimeLineEvent(0.22f, SendDamage));
     Owner.AddState(new CharacterState(CharacterStateType.E_SuperArmor, Owner).Init());
 }
 public override void StartAction(Character owner)
 {
     base.StartAction(owner);
     owner.transform.rotation = Quaternion.Euler(0f, 135f, 0f);
     AnimUtil.PlayAnim(owner, "buff");
     TimelineEvents.Add(new TimeLineEvent(0.1f, AddBuff));
 }
 //스타트 액션
 public override void StartAction(Character owner)
 {
     base.StartAction(owner);
     SaveCurrentDamage = 0;
     SaveCurrentSpeed  = 0;
     TimelineEvents.Add(new TimeLineEvent(0.9f, TimeLine_4));
     NodeUtil.PlayAnim(Owner, "attack");
 }
    public override void StartAction(Character owner)
    {
        base.StartAction(owner);
        AnimUtil.PlayAnim(owner, "attack2");
        TimelineEvents.Add(new TimeLineEvent(0.22f, SendDamage));

        curve = FloatCurve.GetCurve("Curves/Attack2MoveCurve");
    }
 public override void StartAction(Character owner)
 {
     base.StartAction(owner);
     NodeUtil.PlayAnim(Owner, "run");
     NodeUtil.AvoidFormPlayer(owner);
     Owner.AddState(new CharacterIncreaseSpeedState(Owner, Owner.Status.CurrentSpeed * 2, 3f));
     TimelineEvents.Add(new TimeLineEvent(3f, StopRun));
 }
        private void AddProjectCreateEventToTimelineIfExists()
        {
            var projectTimelineCreateEvent = GetTimelineCreateEvent(Project);

            if (projectTimelineCreateEvent != null)
            {
                TimelineEvents.Add(projectTimelineCreateEvent);
            }
        }
Beispiel #12
0
 public override void StartAction(Character owner)
 {
     base.StartAction(owner);
     AnimUtil.PlayAnim(owner, "buff");
     Owner.AddState(new CharacterState(CharacterStateType.E_SuperArmor, Owner).Init());
     for (int i = 1; i >= DataTable._Parameter[1]; i++)
     {
         TimelineEvents.Add(new TimeLineEvent(0.5f, SendDamage));
     }
 }
Beispiel #13
0
        public void Add(TimelineEvent newEvent)
        {
            if (!Contains(newEvent.Title))
            {
                TimelineEvents.Add(newEvent.Title.ToLower(), newEvent);
                return;
            }

            TimelineEvents[newEvent.Title.ToLower()] = newEvent;
        }
Beispiel #14
0
    //스타트 액션
    public override void StartAction(Character owner)
    {
        base.StartAction(owner);
        NodeUtil.PlayAnim(Owner, "idle");

        if (NodeUtil.PlayerInRange(Owner, 3f))
        {
            IsAttack = true;
        }
        TimelineEvents.Add(new TimeLineEvent(1.5f, DelayEnd));
        RandomMove.Set(UnityEngine.Random.Range(-10, 10), 0, UnityEngine.Random.Range(-10, 10));
        RandomMove = RandomMove + Owner.transform.position;
    }
Beispiel #15
0
    public void RotateNextTarget()
    {
        Vector3 velocity = Owner.RenderTrasform.transform.position - targetCharacters[currentTargetIndex + 1].RenderTrasform.transform.position;

        velocity.z = 0f;
        velocity.Normalize();

        float zAngle = Quaternion.FromToRotation(Vector3.right, velocity).eulerAngles.z;

        IsoParticle.CreateParticle("Round_Family", Owner.transform.position, 0f, false, 0.2f);
        IsoParticle.CreateParticle("Rotate_Family", Owner.transform.position, zAngle, false, 0.1f);

        TimelineEvents.Add(new TimeLineEvent(ElapsedTime + 0.1f, AttackCurrentTarget));
        currentTargetIndex++;
    }
 public override void StartAction(Character owner)
 {
     base.StartAction(owner);
     NodeUtil.PlayAnim(Owner, "idle");
     TimelineEvents.Add(new TimeLineEvent(3f, End));
 }
Beispiel #17
0
 public override void StartAction(Character owner)
 {
     base.StartAction(owner);
     TimelineEvents.Add(new TimeLineEvent(NodeUtil.Random(1f, 2.5f), TimeLine_3));
     NodeUtil.PlayAnimOneSide(Owner, "idle_135");
 }
Beispiel #18
0
 public override void StartAction(Character owner)
 {
     base.StartAction(owner);
     AnimUtil.PlayAnim(owner, "power_atk");
     TimelineEvents.Add(new TimeLineEvent(0.22f, SendDamage));
 }
Beispiel #19
0
 public override void StartAction(Character owner)
 {
     base.StartAction(owner);
     TimelineEvents.Add(new TimeLineEvent(1f, TimeLine_2));
     NodeUtil.PlayAnim(Owner, "run");
 }
Beispiel #20
0
        protected override void OnMouseDown(MouseEventArgs e)
        {
            OnClick(e);
            _mouseDown = true;
            bool evtWasClicked = false;

            foreach (
                TimelineEvent evt in TimelineEvents.Where(x => x.Time >= ViewableWindow.X && x.Time <= ViewableWindow.Y))
            {
                Rectangle rect = HandleLocation(evt);
                if (rect.Contains(e.Location))
                {
                    if (
                        !((System.Windows.Input.Keyboard.GetKeyStates(System.Windows.Input.Key.LeftCtrl) &
                           System.Windows.Input.KeyStates.Down) > 0))
                    {
                        SelectedEvents.Clear();
                    }

                    evtWasClicked = true;

                    if (((System.Windows.Input.Keyboard.GetKeyStates(System.Windows.Input.Key.LeftShift) & System.Windows.Input.KeyStates.Down) > 0)
                        &&
                        !((System.Windows.Input.Keyboard.GetKeyStates(System.Windows.Input.Key.LeftCtrl) & System.Windows.Input.KeyStates.Down) > 0)
                        )
                    {
                        var newEvent = new TimelineEvent(evt.Action, evt.Parameter, (long)PixelsToTime(e.X - dividerPoint.X));
                        TimelineEvents.Add(newEvent);
                        SelectedEvents.Add(newEvent);
                    }
                    else if (((System.Windows.Input.Keyboard.GetKeyStates(System.Windows.Input.Key.LeftShift) & System.Windows.Input.KeyStates.Down) > 0)
                             &&
                             ((System.Windows.Input.Keyboard.GetKeyStates(System.Windows.Input.Key.LeftCtrl) & System.Windows.Input.KeyStates.Down) > 0)
                             )
                    {
                        var newEvents = new List <TimelineEvent>();

                        foreach (var selEvt in SelectedEvents)
                        {
                            newEvents.Add(new TimelineEvent(selEvt.Action, selEvt.Parameter, selEvt.Time));
                        }


                        TimelineEvents.AddRange(newEvents);
                        SelectedEvents.Clear();
                        SelectedEvents.AddRange(newEvents);
                    }
                    else
                    {
                        if (!SelectedEvents.Contains(evt))
                        {
                            SelectedEvents.Add(evt);
                        }
                    }
                    break;
                }
            }

            if (!evtWasClicked && !((System.Windows.Input.Keyboard.GetKeyStates(System.Windows.Input.Key.LeftCtrl) &
                                     System.Windows.Input.KeyStates.Down) > 0))
            {
                SelectedEvents.Clear();
            }

            _dragStart = e.Location;
            Invalidate();
        }