コード例 #1
0
        // Set Fighters Stats

        private void SetFighterData(FighterStatus data)
        {
            // Attack
            float TBA = data.timeBetweenAttacks;
            float MAR = data.attackRange;
            float ASD = data.attackStrongDamage;
            float AWD = data.attackWeakDamage;

            // Update
            if (attackScript)
            {
                attackScript.SetStatus(TBA, MAR, ASD, AWD);
            }

            // Health
            float MX = data.maxHealth;

            // Update
            if (healthScript)
            {
                healthScript.SetMaxHealth(MX);
            }

            // Movement
            float walkSpeed  = data.walkSpeed;
            float knockSpeed = data.knockbackSpeed;

            // Update
            if (moverScript)
            {
                moverScript.SetStatus(walkSpeed, knockSpeed);
            }
        }
コード例 #2
0
    private void OnTriggerEnter(Collider collider)
    {
        if (collider.gameObject.name.Contains("fighter"))
        {
            FighterStatus fighterStatus = collider.gameObject.GetComponent <FighterStatus>();

            if (fighterStatus.fighterCapturedArtifact && artifactTeam != fighterStatus.fighterTeam)
            {
                arenaManager.SetAiTeammatesCapture(fighterStatus.fighterTeam);

                if (artifactTeam == 0)
                {
                    arenaManager.teamRedScore++;
                    print("teamRedScore = " + arenaManager.teamRedScore);
                }
                else
                {
                    arenaManager.teamBlueScore++;
                    print("teamBlueScore = " + arenaManager.teamBlueScore);
                }

                if (collider.transform.GetChild(1).childCount > 0)
                {
                    collider.transform.GetChild(1).transform.GetChild(0).GetComponent <CaptureArtifact>().RestoreOrigin();
                }

                if (arenaManager.teamRedScore == 3 || arenaManager.teamBlueScore == 3)
                {
                    print("Final Score: " + arenaManager.teamBlueScore + " Blue - " + arenaManager.teamRedScore + " Red");
                    arenaManager.teamRedScore  = 0;
                    arenaManager.teamBlueScore = 0;
                }
            }
        }
    }
コード例 #3
0
 public static void Open(FighterStatus fs)
 {
     if (FighterEditorParameter.instance.window == null)
     {
         FighterEditorParameter.instance.window = (FigterEditor)CreateInstance(typeof(FigterEditor));
         FighterEditorParameter.instance.window.fighterStatus = fs;
         FighterEditorParameter.instance.window.Show();
     }
     else
     {
         FighterEditorParameter.instance.window.fighterStatus = fs;
     }
 }
コード例 #4
0
    void OnCollisionEnter(Collision collision)
    {
        Destroy(gameObject);

        ContactPoint  contact      = collision.contacts[0];
        FighterStatus enemyFighter = collision.transform.GetComponent <FighterStatus>();

        if (enemyFighter != null && enemyFighter.fighterTeam != projectileTeam)
        {
            enemyFighter.WeaponDamage(fireDamage);
        }

        if (collision.rigidbody != null)
        {
            collision.rigidbody.AddForce(-contact.normal * weaponForce);
        }
    }
コード例 #5
0
    private void OnTriggerEnter(Collider collider)
    {
        if (collider.gameObject.name.Contains("fighter"))
        {
            FighterStatus fighterStatus = collider.gameObject.GetComponent <FighterStatus>();

            if (artifactTeam == fighterStatus.fighterTeam)
            {
                if (transform.parent.name.Contains("teamBase"))
                {
                    arenaManager.SetAiTeammatesReturn(artifactTeam);
                    captureBase.artifactInBase = false;
                    transform.parent           = collider.gameObject.transform.GetChild(1);
                    transform.localPosition    = new Vector3(0, 0, 0);
                }
            }
        }
    }
コード例 #6
0
        public void ProcessEvent(JournalEvent journalEvent)
        {
            switch (journalEvent.@event)
            {
            case EventType.LaunchFighter:
                fighterStatus        = FighterStatus.Launched;
                nextLoadoutIsFighter = true;
                break;

            case EventType.FighterDestroyed:
            case EventType.DockFighter:
                fighterStatus = FighterStatus.None;
                break;

            case EventType.Loadout:
                SetModulesFromLoadout((Loadout)journalEvent);
                break;
            }

            ProcessEventForFSD(journalEvent);
        }