void Awake()
    {
        // Retrieve the weapon only once
        weapons = GetComponentsInChildren<WeaponScript>();

        // Retrieve scripts to disable when not spawn
        movementScript = GetComponent<SimpleMovementScript>();
    }
Ejemplo n.º 2
0
 protected override void Update()
 {
     base.Update();
     if (InitialUpdate)
     {
         SimpleMovementScript.StartModule();
         InitialUpdate = false;
     }
     UpdateBuffs();
     if (SimpleMovementScript.IsRunning())
     {
         if (IsFalling())
         {
             if (!MovementTransitionManagerScript.IsCurrentTransition(ModuleTypes.Simple, ModuleTypes.Falling))
             {
                 MovementTransitionManagerScript.StartTransitionFrom(ModuleTypes.Simple, ModuleTypes.Falling);
             }
         }
         else
         {
             Move    currentMove   = SimpleMovementScript.CurrentMove;
             Vector3 currentVector = SimpleMovementScript.CurrentVector;
             if (Vector3.zero != currentVector)
             {
                 Entity.transform.rotation = Quaternion.Slerp(transform.rotation, Quaternion.LookRotation(currentVector), 0.15F);
             }
             Entity.transform.Translate(currentVector * currentMove.Speed * Time.deltaTime, Space.World);
             DebugConsole.INSTANCE.SetCurrentMove(currentMove);
             DebugConsole.INSTANCE.SetOther1("currentVector=" + currentVector);
         }
     }
     else if (ClimbMovementScript.IsRunning())
     {
         ClimbMove currentMove   = ClimbMovementScript.CurrentMove;
         Vector3   currentVector = ClimbMovementScript.CurrentVector;
         Entity.transform.Translate(currentVector * ClimbSpeed.GetSpeed(currentMove.Climb) * Time.deltaTime, Space.World);
         DebugConsole.INSTANCE.SetCurrentMove(currentMove);
         DebugConsole.INSTANCE.SetOther1("currentVector=" + currentVector);
     }
 }
Ejemplo n.º 3
0
        protected void OnCollisionEnter(Collision collision)
        {
            base.OnCollisionEnter(collision);
            Move currentMove = SimpleMovementScript.CurrentMove;

            if (collision.gameObject.CompareTag("Climbable"))
            {
                ClimbableInRange = true;
            }
            if (ClimbableInRange)
            {
                if (!ClimbMovementScript.IsRunning())
                {
                    Collider[] climbables = Environment.GetClimbables(Entity.transform);
                    if (0 != climbables.Length)
                    {
                        MovementTransitionManagerScript.StartTransitionFrom(ModuleTypes.Simple, ModuleTypes.Climbing);
                    }
                }
                else
                {
                    ClimbMovementScript.ForceStop();
                    MovementTransitionManagerScript.StartTransitionFrom(ModuleTypes.Climbing, ModuleTypes.Simple);
                }
            }
            else
            {
                //Debug.Log("BANG! tag = " + collision.gameObject.tag);
                if ((int)LayerValues.TERRAIN != collision.gameObject.layer)
                {
                    SimpleMovementScript.ForceStop();
                }
            }
            if ((int)LayerValues.TERRAIN == collision.gameObject.layer && FallMovementScript.IsRunning())
            {
                MovementTransitionManagerScript.StartTransitionFrom(ModuleTypes.Falling, ModuleTypes.Simple);
            }
        }
 private void Start()
 {
     playerMovemntScript = FindObjectOfType <SimpleMovementScript>();
 }