Ejemplo n.º 1
0
 public DashComponent()
 {
     DashAnimation = this.BeginSerial().Then(() =>
     {
         Find.PlayerState.MoveBlocked.Add(this);
         Find.PlayerState.RotateBlocked.Add(this);
         Find.PlayerState.AimBlocked.Add(this);
         SetDashLines(DashVector.normalized);
         gameObject.GetComponent <Rigidbody>()
         .velocity = Find.CameraRotation * DashVector.normalized * DashVelocity;
     })
                     .Then(DashDurationSeconds, _ =>
     {
         gameObject.GetComponent <Rigidbody>()
         .velocity = Find.CameraRotation * DashVector.normalized * DashVelocity;
     })
                     .Then(() =>
     {
         DashLines.Stop();
         gameObject.GetComponent <Rigidbody>()
         .velocity   = Find.CameraRotation * DashVector.normalized * 0;
         DashEndTime = Time.fixedTime;
         Find.PlayerState.MoveBlocked.Remove(this);
         Find.PlayerState.RotateBlocked.Remove(this);
         Find.PlayerState.AimBlocked.Remove(this);
     });
 }
Ejemplo n.º 2
0
 private void ShowLogo(Graphic logoMaterial, StartableTweener showAnyKey)
 {
     this.BeginSerial()
     .FadeIn(2.0f, logoMaterial)
     .Wait(0.5f)
     .Then(() => showAnyKey.Start())
     .Start();
 }
Ejemplo n.º 3
0
 public Shoggoth()
 {
     LurchBehavior = this.BeginSerial().Then(() =>
     {
         var slimeTrailEmission     = SlimeTrail.emission;
         slimeTrailEmission.enabled = true;
         SetVelocity(LurchStartSpeed);
     })
                     .Then(LurchDuration, ratio => SetVelocity(LurchStartSpeed - (LurchStartSpeed - LurchMinSpeed) * ratio));
 }
Ejemplo n.º 4
0
 public ShoggothAttackArm()
 {
     Animation = this.BeginSerial()
                 .Then(() =>
     {
         Arm.GetComponent <AttackArmCollider>().HitDetected = false;
         transform.rotation = Quaternion.AngleAxis(180.0f, Vector3.up);
         Arm.gameObject.SetActive(true);
     })
                 .Then(ExtensionTime, ExtendArm, JCurve.FibbonacciUp)
                 .Then(SwingTime, SwingArm, JCurve.FibbonacciUpDown)
                 .Then(ExtensionTime, RetractArm, JCurve.FibbonacciUp)
                 .Then(() => Arm !.gameObject.SetActive(false));
 }
Ejemplo n.º 5
0
 public AimingLines()
 {
     Animation = this.BeginSerial().Then(() => gameObject.SetActive(true))
                 .Then(AnimationDuration, ratio => RenderAngle(StartingAngle * (1.0f - ratio)))
                 .Then(() => gameObject.SetActive(false));
 }