public override void OnHitNormalAttack(UnitObject target)
        {
            base.OnHitNormalAttack(target);
            AbilityEffects effect = new AbilityEffects(24);

            target.GetComponent <UnitObject>().AddEffect(effect);
        }
    public static void AlphabetizeItems(PrefabGenreScript genreScript)
    {
        genreScript.UnitTypes.Sort();
        int counter = 0;

        GameObject[] Units = new GameObject[genreScript.UnitTypes.Count];
        foreach (GameObject UnitObject in genreScript.UnitsList)
        {
            foreach (string UnitType in genreScript.UnitTypes)
            {
                Unit UnitScript = UnitObject.GetComponent <Unit>();
                if (UnitScript.UnitTypeName == UnitType)
                {
                    Units[counter] = UnitObject;
                    counter        = 0;
                    break;
                }
                else
                {
                    counter++;
                }
            }
        }
        counter = 0;
        foreach (GameObject UnitObject in Units)
        {
            genreScript.UnitsList[counter] = UnitObject;
            counter++;
        }
    }
Example #3
0
 public PlayerPlane(int health, float speed, float angSpeed, float acc, GameObject unitObject, Vector3 unitStartPosition)
     : base(health, speed, angSpeed, acc, unitObject, unitStartPosition, "Player")
 {
     agent              = UnitObject.GetComponent <NavMeshAgent>();
     agent.speed        = Speed;
     agent.acceleration = acceleration;
     agent.angularSpeed = AngularSpeed;
     UnitObject.tag     = "Player";
 }
        public override void OnHitNormalAttack(UnitObject target)
        {
            if (target == null)
            {
                return;
            }
            base.OnHitNormalAttack(target);
            AbilityEffects effect = new AbilityEffects(1);

            effect.Level = parent.Level;
            target.GetComponent <UnitObject>().AddEffect(effect);
        }
Example #5
0
    private void InitUnitObject(Vector2 position)
    {
        BoxCollider boxCollider = UnitObject.GetComponent <BoxCollider>();

        boxCollider.center = Data.ColliderCenter;
        boxCollider.size   = Data.ColliderSize;

        UnitObject.GetComponent <SpriteRenderer>().sprite           = Data.Sprite;
        UnitObject.GetComponent <SpriteRenderer>().sortingLayerName = GetSortingLayer(position.y);

        UnitObject.transform.position = position;
    }
Example #6
0
 public override void Move()
 {
     if (UnitObject.GetComponent <NavMeshAgent>().enabled)
     {
         if (!agent.hasPath && UnitObject.transform.position != LastPos)
         {
             agent.SetDestination(LastPos);
         }
         else if (!agent.hasPath)
         {
             agent.SetDestination(UnitStartPosition);
         }
     }
 }
Example #7
0
    public override void Move()
    {
        if (UnitObject.GetComponent <NavMeshAgent>().enabled)
        {
#if UNITY_EDITOR
            if (Input.GetMouseButton(0))
            {
                Ray        ray = Camera.main.ScreenPointToRay(Input.mousePosition);
                RaycastHit hit;

                if (Physics.Raycast(ray, out hit, 100))
                {
                    agent.SetDestination(hit.point);
                }
            }
#else
            if (Input.touchCount == 1)
            {
                Ray        ray = Camera.main.ScreenPointToRay(Input.GetTouch(0).position);
                RaycastHit hit;

                switch (Input.GetTouch(0).phase)
                {
                case (TouchPhase.Began):
                    if (Physics.Raycast(ray, out hit, 100))
                    {
                        agent.SetDestination(hit.point);
                    }
                    break;

                case (TouchPhase.Moved):
                    if (Physics.Raycast(ray, out hit, 100))
                    {
                        agent.SetDestination(hit.point);
                    }
                    break;

                case (TouchPhase.Ended):
                    if (Physics.Raycast(ray, out hit, 100))
                    {
                        agent.SetDestination(hit.point);
                    }
                    break;
                }
            }
#endif
        }
    }
Example #8
0
    public UnitObject CreateUnit(UnitObject unitObject, Vector3 position, UnitObject.Activity targetActivity, Cell targetCell)
    {
        if (GameManager.instance.maxUnits <= ObjectManager.instance.unitObjectsPlaced.Count)
        {
            return(null);
        }

        GameObject newUnitObj = Instantiate(unitObject.gameObject, position, Quaternion.identity) as GameObject;
        UnitObject newUnit    = newUnitObj.GetComponent <UnitObject>();

        newUnit.ownerUser           = TeamManager.instance.curUser;
        newUnit.navAgent            = newUnit.GetComponent <NavAgent>();
        newUnit.activity            = targetActivity;
        newUnit.navAgent.targetCell = targetCell;
        ObjectManager.instance.unitObjectsPlaced.Add(newUnit);

        return(newUnit);
    }