Esempio n. 1
0
    private void Initialize()
    {
        if (Spawner != null)
        {
            Spawner.UnitCount = Spawner.UnitCountInitial;
            Spawner.UpdateLabel();
        }
        if (GameManager.Instance.PlayersWithUnassignedPlanets.Count > 0 && UseAsStartPosition)
        {
            int player = GameManager.Instance.PlayersWithUnassignedPlanets.Dequeue();
            PlayerController playerController = GameManager.Instance.PlayerController[player + 1];
            SetOwner(player, playerController);
            Type = PlanetType.Main;

            playerController.Trans.position = Trans.position;
            Vector3 pos = Trans.position;
            pos.z += 0.1f;
            MothershipOrbit newMothershipOrbit =
                Instantiate(mothershipOrbitPrefab, Trans.position, Trans.rotation, Trans).GetComponent <MothershipOrbit>();
            newMothershipOrbit.transform.position     = pos;
            newMothershipOrbit.Owner.PlayerController = Owner.PlayerController;
            newMothershipOrbit.Owner.PlayerNumber     = Owner.PlayerNumber;
            newMothershipOrbit.DelayedStart();
            newMothershipOrbit.Planet = this;
        }
        else
        {
            int player = -1;
            PlayerController playerController = GameManager.Instance.PlayerController[player + 1];
            SetOwner(player, playerController);
        }
        explosionPrefab = Resources.Load <GameObject>("Explosion");
    }
Esempio n. 2
0
    protected override void OnMouseBtnDown()
    {
        base.OnMouseBtnDown();

        RaycastHit2D hit = TheCamera.Raycast2DScreen(Input.mousePosition);

        if (hit && SelectedBas == null)
        {
            Planet          bas             = hit.transform.gameObject.GetComponent <Planet>();
            MothershipOrbit mothershipOrbit = hit.transform.GetComponent <MothershipOrbit>();
            if (bas != null && bas.Owner.PlayerNumber == 0)
            {
                SelectedBas = bas;
                bas.MakeArrow();
            }
            else if (mothershipOrbit != null && mothershipOrbit.Mothership.Owner.PlayerNumber == 0)
            {
                SelectedMothershipOrbit = mothershipOrbit;
                mothershipOrbit.MakeArrow();
            }
        }
    }
Esempio n. 3
0
    protected override void OnMouseBtnUp()
    {
        base.OnMouseBtnUp();

        if (SelectedBas != null)
        {
            DestroyObject(SelectedBas.LineRendererArrow);
            foreach (var b in GameManager.Instance.Planets)
            {
                b.GlowRemove();
            }
            RaycastHit2D hit = TheCamera.Raycast2DScreen(Input.mousePosition);
            if (hit)
            {
                Planet bas = hit.transform.gameObject.GetComponent <Planet>();
                if (bas != null && bas != SelectedBas)
                {
                    SelectedBas.Spawner.ReleaseUnits(bas.gameObject);
                }
            }
            SelectedBas = null;
        }
        if (SelectedMothershipOrbit != null)
        {
            DestroyObject(SelectedMothershipOrbit.LineRendererArrow);
            RaycastHit2D hit = TheCamera.Raycast2DScreen(Input.mousePosition);
            if (hit)
            {
                Planet bas = hit.transform.GetComponent <Planet>();
                if (bas != null && bas != SelectedMothershipOrbit.Planet)                // && bas.owner.playerNumber == 0)
                {
                    SelectedMothershipOrbit.AssignToBase(bas);
                }
            }
            SelectedMothershipOrbit = null;
        }
    }