Esempio n. 1
0
    private IEnumerator Kasplode(float jumpDelay, float delay, Follower f)
    {
        yield return(new WaitForSeconds(jumpDelay));

        f.GetComponent <Rigidbody2D>().AddForce(new Vector2(Random.Range(-100f, 100f), Random.Range(100f, 300f)));
        yield return(new WaitForSeconds(delay));

        f.GetComponent <Character>().Kill();
    }
Esempio n. 2
0
    // Start is called before the first frame update
    void Start()
    {
        direction = new Vector3(0, 0, -1);

        characterData          = ScriptableObject.CreateInstance <CharacterData>();
        characterData.model    = Game.instance.playerData.model;
        characterData.material = Game.instance.companionBuilder.MaterialByName(Game.instance.playerData.material);
        commonComponents.characterModel.ChangeModel(characterData);

        mCharacterStats = GetComponent <ExternalCharacterStatistics>();
        mCharacterStats.externalReference = Game.instance.playerStats;
        follower.GetComponent <ExternalCharacterStatistics>().externalReference = Game.instance.playerStats;

        commonComponents.simpleMovement.onMoveFinished += OnMoveFinished;
        commonComponents.simpleAttack.onAttackFinished += OnAttackFinished;

        commonComponents.killable.onDeath += OnDeath;

        mFollowerId = Game.instance.playerData.followerUid;

        OnFollowerChanged();
        Game.instance.playerData.onPlayerDataChanged += OnPlayerDataChanged;

        isAlive = true;

        commonComponents.killable.health = Game.instance.playerData.health;

        if (Game.instance.quirkRegistry.IsQuirkActive <DancePartyQuirk>())
        {
            commonComponents.animator.SetBool("Dancing", true);
            commonComponents.animator.SetInteger("DanceNumber", Random.Range(0, 4));
        }

        Game.instance.whoseTurn = 0;
    }
Esempio n. 3
0
    public void AddAI(int team)
    {
        switch (team)
        {
        case 1:
            for (int i = 0; i < 5; i++)
            {
                Follower blue = Instantiate(blueFollower, blueSpawn, false);
                blue.transform.localPosition = new Vector3(Random.Range(minSpawnDist, maxSpawnDist), 0, Random.Range(minSpawnDist, maxSpawnDist));
                blue.transform.localScale    = new Vector3(1f, 1f, 1f);
                blue.myLeader       = blueLeader.transform;
                blue.rb.isKinematic = true;
                blue.GetComponent <LeaderBehavior>().target = blueLeader.transform;
                blue.GetComponent <AwayBehavior>().target   = blueLeader.transform;
                blue.instanceNumber  = instanceNumber;
                blue.gameObject.name = "Follower " + instanceNumber;
                instanceNumber++;
                _blueTeamCounter++;
            }
            break;

        case 2:
            for (int i = 0; i < 5; i++)
            {
                Follower red = Instantiate(redFollower, redSpawn, false);
                red.transform.localPosition = new Vector3(Random.Range(minSpawnDist, maxSpawnDist), 0, Random.Range(minSpawnDist, maxSpawnDist));
                red.transform.localScale    = new Vector3(1f, 1f, 1f);
                red.myLeader       = redLeader.transform;
                red.rb.isKinematic = true;
                red.GetComponent <LeaderBehavior>().target = redLeader.transform;
                red.GetComponent <AwayBehavior>().target   = redLeader.transform;
                red.instanceNumber  = instanceNumber;
                red.gameObject.name = "Follower " + instanceNumber;
                instanceNumber++;
                _redTeamCounter++;
            }
            break;
        }
        UpdateTeamCounter(_blueTeamCounter, _redTeamCounter);
    }
Esempio n. 4
0
 public void Update()
 {
     UpdateFollower();
     if (!Live || Follower == null)
     {
         return;
     }
     if (_edgetune == null)
     {
         _edgetune = Follower.GetComponent <RageEdgetune>();
     }
     if (_edgetune == null)
     {
         return;
     }
     _edgetune.Group.QueueRefresh();
 }
    private void OnEnable()
    {
        follower = target as Follower;
        placer   = follower.GetComponent <Placer>();

        endInstruction     = serializedObject.FindProperty(nameof(endInstruction));
        forwardSpeed       = serializedObject.FindProperty(nameof(forwardSpeed));
        forwardSpeedCurve  = serializedObject.FindProperty(nameof(forwardSpeedCurve));
        backwardSpeed      = serializedObject.FindProperty(nameof(backwardSpeed));
        backwardSpeedCurve = serializedObject.FindProperty(nameof(backwardSpeedCurve));
        startDelay         = serializedObject.FindProperty(nameof(startDelay));
        stopDelay          = serializedObject.FindProperty(nameof(stopDelay));
        rotateTowards      = serializedObject.FindProperty(nameof(rotateTowards));
        lookAt             = serializedObject.FindProperty(nameof(lookAt));
        lookAtAxis         = serializedObject.FindProperty(nameof(lookAtAxis));
        destroyOnStop      = serializedObject.FindProperty(nameof(destroyOnStop));
        unscaledDeltaTime  = serializedObject.FindProperty(nameof(unscaledDeltaTime));
    }
Esempio n. 6
0
    private void CopyPosition( )
    {
        if (Local)
        {
            if (!FollowerTransform.localPosition.Equals(transform.localPosition))
            {
                FollowerTransform.localPosition = transform.localPosition;
            }
            return;
        }
        var fsBody = Follower.GetComponent <FSBodyComponent>();

        if (fsBody != null && fsBody.body != null)
        {
            fsBody.body.Position = new FVector2(transform.position.x, transform.position.y);
        }
        else
        {
            CopyTransformPosition();
        }
    }
Esempio n. 7
0
    private void CopyRotation( )
    {
        if (Local)
        {
            if (!FollowerTransform.localRotation.Equals(transform.localRotation))
            {
                FollowerTransform.localRotation = transform.localRotation;
            }
            return;
        }
        var fsBody = Follower.GetComponent <FSBodyComponent>();

        if (fsBody != null && fsBody.body != null)
        {
            fsBody.body.Rotation = transform.rotation.eulerAngles.z * Mathf.Deg2Rad;
        }
        else
        if (!FollowerTransform.rotation.Equals(transform.rotation))
        {
            FollowerTransform.rotation = Mathf.Approximately(RotationSnap, 0f) ? transform.rotation
                                        : Quaternion.Slerp(FollowerTransform.rotation, transform.rotation, RotationSnap * Time.deltaTime);
        }
    }
 public void AttachedComponentsCheck()
 {
     FollowerGroup  = _follower.GetComponent <RageGroup>();
     FollowerSpline = _follower.GetComponent <RageSpline>();
     _edgetune      = Follower.GetComponent <RageEdgetune>();
 }