private void Start()
    {
        loweredHeight = rectTransform.localPosition.y;
        raisedHeight  = rectTransform.localPosition.y + 55;
        heisterList.AddRange(FindObjectsOfType <HeisterInfo>());
        //Creates a Monitor object for each heister and fills in the correct information
        for (int i = 0; i < heisterList.Count; i++)
        {
            HeisterInfo h = heisterList[i];

            UnitMonitor newMonitor = Instantiate(UnitMonitor, transform).GetComponent <UnitMonitor>();
            h.unit.unitMonitor            = newMonitor;
            newMonitor.unit               = h.unit;
            newMonitor.className.text     = h.className;
            newMonitor.characterName.text = h.characterName;
            newMonitor.hp.text            = h.unit.hp.ToString();
            newMonitor.sprite.sprite      = h.unit.GetComponent <SpriteRenderer>().sprite;
            //If there are an odd amount of heisters
            if ((float)heisterList.Count % 2 != 0)
            {
                newMonitor.GetComponent <RectTransform>().localPosition = new Vector3(newMonitor.GetComponent <RectTransform>().rect.width *(i + 1 - Mathf.Ceil((float)heisterList.Count / 2)),
                                                                                      newMonitor.GetComponent <RectTransform>().localPosition.y,
                                                                                      newMonitor.GetComponent <RectTransform>().localPosition.z);
            }
            //If there are an even amount of heisters
            else
            {
                newMonitor.GetComponent <RectTransform>().localPosition = new Vector3((newMonitor.GetComponent <RectTransform>().rect.width *i) -
                                                                                      ((heisterList.Count - 1) * newMonitor.GetComponent <RectTransform>().rect.width / 2),
                                                                                      newMonitor.GetComponent <RectTransform>().localPosition.y,
                                                                                      newMonitor.GetComponent <RectTransform>().localPosition.z);
            }
        }
    }
Exemple #2
0
 //Initialization
 private void Start()
 {
     rigidbody2D    = GetComponent <Rigidbody2D>();
     animator       = GetComponent <Animator>();
     spriteRenderer = GetComponent <SpriteRenderer>();
     tileX          = (int)transform.position.x;
     tileY          = (int)transform.position.y;
     map            = GameObject.Find("Map").GetComponent <TileMap>();
     Debug.Log(transform.gameObject.name);
     name           = transform.gameObject.name;
     currentState   = state.Idle;
     attackCooldown = attackCooldownCap;
     healthBar      = GetComponentInChildren <HealthBar>();
     hasLoot        = false;
     if (combatant && !selectable)
     {
         detectionIndicator = GetComponentInChildren <DetectionIndicator>();
     }
     audioSource = GetComponent <AudioSource>();
     if (selectable)
     {
         heisterInfo       = GetComponent <HeisterInfo>();
         heisterInfo.unit  = this;
         lootMoveRate      = heisterInfo.lootMoveRate;
         moveRate          = heisterInfo.moveRate;
         interactionRadius = heisterInfo.interactionRadius;
     }
     else
     {
         moveRate          = 2.5f;
         lootMoveRate      = 2;
         interactionRadius = 6;
     }
 }