コード例 #1
0
    private void OnTriggerEnter(Collider collider_)
    {
        if (collider_.gameObject.layer == i_LayerMask_Player)
        {
            GameObject         go_Player        = collider_.gameObject;
            C_PlayerController playerController = go_Player.GetComponent <C_PlayerController>();

            if (playerController.HasObjective)
            {
                // Determine what team to score for
                TeamColor oppositeTeamColor = TeamColor.Red;
                if (playerController.TeamColor == TeamColor.Red)
                {
                    oppositeTeamColor = TeamColor.Blue;
                }

                // Remove objective from player inventory
                playerController.HasObjective = false;

                // Set score team earns for Entry Goal
                GoalLogic.Score(2, oppositeTeamColor);
            }
        }
        // Ball passes through
        else if (collider_.gameObject.layer == i_LayerMask_Ball)
        {
            GoalLogic.Score(1);
        }
    }
コード例 #2
0
    private void OnTriggerEnter(Collider collider_)
    {
        // Ignore the player firing the bullet
        if (collider_.gameObject == go_Owner)
        {
            return;
        }

        if (collider_.gameObject.GetComponent <C_PlayerController>())
        {
            GameObject         go_Player        = collider_.gameObject;
            C_PlayerController playerController = go_Player.GetComponent <C_PlayerController>();

            // If hits a player
            if (playerController.TeamColor == enemyTeamColor)
            {
                playerController.ApplyDamage(go_Owner, DamagePerPellet);
            }
        }

        // if (collider_.gameObject.layer == LayerMask.NameToLayer("Bullet")) return;

        // If it hits any (other) obstacle
        DestroyBullet();
    }
コード例 #3
0
 public C_PendulumController(C_PlayerController player, GrapplingHookController hook)
 {
     Hook           = hook;
     Pivots         = hook.Pivots;
     Pendulum       = hook.Body;
     Player         = player;
     Radius         = 20;
     AnchorObject   = player;
     PendulumObject = hook;
     Anchor         = Player.body;
 }
コード例 #4
0
    /*int[,] map =
     * {
     *      {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1},
     *      {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0},
     *      {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0},
     *      {0, 0, 0, 3, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0},
     *      {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0},
     *      {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0},
     *      {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0},
     *      {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0},
     *      {1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1}
     * };
     */

    // Use this for initialization
    void Awake()
    {
        //CellularAutomata();

        //BuildMap();
        PlatformGenerator pg = new PlatformGenerator();

        replaceArea(5, 0, pg.CreateIsland(40, 40));
        replaceArea(10, 50, pg.CreateIsland(20, 40));
        replaceArea(80, 70, pg.CreateIsland(30, 50));
        replaceArea(60, 40, pg.CreateIsland(20, 30));
        replaceArea(145, 55, pg.CreateIsland(30, 60));
        replaceArea(100, 5, pg.CreateIsland(30, 60));
        map[0, width / 2] = 2;

        GameObject clone = new GameObject();

        for (int x = 0; x < width; x++)
        {
            for (int y = 0; y < height; y++)
            {
                switch (map[height - y - 1, x])
                {
                case Tiles.GROUND_TILE:
                    clone = Instantiate(GTile, new Vector3(x, y, 0), Quaternion.identity);
                    break;

                case Tiles.PLAYER:
                    GameObject         temp       = Instantiate(Player, new Vector3(x, y, 0), Quaternion.identity);
                    C_PlayerController controller = temp.GetComponent <C_PlayerController> ();
                    controller.spawn = new Vector2(x, y);
                    break;

                case Tiles.HAZARD:
                    clone = Instantiate(Hazard, new Vector3(x, y, 0), Quaternion.identity);
                    break;

                case Tiles.RAMP_LEFT:
                    clone = Instantiate(Ramp_Left, new Vector3(x, y, 0), Quaternion.identity);
                    break;

                case Tiles.RAMP_RIGHT:
                    clone = Instantiate(Ramp_Right, new Vector3(x, y, 0), Quaternion.identity);
                    break;

                default:
                    break;
                }
                // Puts objects under "Level" Hierarchy.
                clone.transform.parent = GameObject.Find("Level").transform;
            }
        }
    }
コード例 #5
0
    public void GivePlayerPickup(GameObject player_)
    {
        // Give player the weapon
        C_PlayerController player = player_.GetComponent <C_PlayerController>();

        // if the player already owns the weapon, return out
        if (player.DoesPlayerOwnWeapon(WeaponToGive))
        {
            return;
        }

        // Give the player the weapon
        player.PickWeaponUp(WeaponToGive);

        // Disable collider for time
        DisableTimer     = TimeToDisable;
        Collider.enabled = false;

        // Turn off weapon
        WeaponModelParent.SetActive(false);
    }
コード例 #6
0
    void SetPlayerIndex()
    {
        // Set Player Index
        PlayerController = gameObject.GetComponent <C_PlayerController>();
        PlayerIndex      = PlayerController.player;
        // TeamColor = PlayerController.TeamColor;

        // HUD Connections
        if (PlayerIndex == PlayerIndex.One)
        {
            go_HUD = GameObject.Find("HUD_PlayerOne");
        }
        else if (PlayerIndex == PlayerIndex.Two)
        {
            go_HUD = GameObject.Find("HUD_PlayerTwo");
        }
        else if (PlayerIndex == PlayerIndex.Three)
        {
            print("PLAYER THREE HUD NOT FOUND IN HEALTH MANAGER"); return;
        }
        else if (PlayerIndex == PlayerIndex.Four)
        {
            print("PLAYER FOUR HUD NOT FOUND IN HEALTH MANAGER"); return;
        }

        // Health Bar Connections
        go_Healthbar = go_HUD.transform.Find("HealthBar").gameObject;

        go_HealthBar_Left = go_Healthbar.transform.Find("HP_1").gameObject;
        HealthBar_Left    = go_HealthBar_Left.GetComponent <Image>();

        go_HealthBar_Center = go_Healthbar.transform.Find("HP_2").gameObject;
        HealthBar_Center    = go_HealthBar_Center.GetComponent <Image>();

        go_HealthBar_Right = go_Healthbar.transform.Find("HP_3").gameObject;
        HealthBar_Right    = go_HealthBar_Right.GetComponent <Image>();

        go_ArmorBar = go_Healthbar.transform.Find("ArmorBar").gameObject;
        ArmorBar    = go_ArmorBar.GetComponent <Image>();
    }
コード例 #7
0
 public void SetPendulum(C_PlayerController player)
 {
     PlayerObject = player;
     PlayerBody   = player.gameObject.GetComponent <Rigidbody2D> ();
 }