// Use this for initialization void Start() { var go = GameObject.Instantiate(Resources.Load <GameObject>("Icon")); go.transform.parent = transform; icon = go.GetComponent <IconBehaviour>(); icon.setUnit(this); icon.setTeam(team); //enabled = false; //setMembers(Resources.Load<GameObject>("Unit"), 4); //nextWaypoint.destination = transform.position; initialized = true; }
public void Initialize(UnitType t, PlayerData owner, int n) { Type = t; Owner = owner; var iconInstance = Instantiate(Resources.Load <GameObject>("Icon"), transform); Icon = iconInstance.GetComponent <IconBehaviour>(); Icon.BaseColor = Owner.Team.Color; var unitPrefab = Owner.Session.Factory.FindPrefab(t); for (int i = 0; i < n; i++) { var unitInstance = Owner.Session.Factory.MakeUnit(unitPrefab, Owner.Team.Color); var unitBehaviour = unitInstance.GetComponent <UnitBehaviour>(); unitBehaviour.SetPlatoon(this); Units.Add(unitBehaviour); var collider = unitInstance.GetComponentInChildren <BoxCollider>(); collider.enabled = true; } BuildModules(t); if (t == UnitType.AFV) { var ghost = GhostPlatoonBehaviour.Build(UnitType.Infantry, owner, n); Transporter.SetTransported(ghost.GetRealPlatoon()); ghost.SetOrientation(100 * Vector3.down, 0); ghost.SetVisible(false); } Movement.SetDestination(Vector3.forward); Icon.SetSource(Units); IsInitialized = true; }
public void updateIconPlaces() { //Destroy all icons GameObject.Destroy(iconContainer); //Create new container iconContainer = new GameObject("Icon Container"); iconContainer.transform.parent = gameObject.transform; //Place prefabs in correct locations for (int i = 0; i < IconData.iconMatrixXSize; i++) { for (int j = 0; j < IconData.iconMatrixYSize; j++) { GameObject temp = getIcon(i, j); if (temp != null) { int newIconX = 10; int newIconY = 10; //Instantiate a new icon and place it according to the matrix and set child to the container. newIconX = ((i + 1) * IconData.iconsPerX); newIconY = Screen.height - (j * IconData.iconsPerY); Vector3 newIconPosition = new Vector3(newIconX, newIconY, 0); GameObject newIcon = Instantiate(temp, newIconPosition, Quaternion.identity); newIcon.transform.SetParent(iconContainer.transform); IconBehaviour newIconBehaviourScript = newIcon.GetComponent <IconBehaviour>(); newIconBehaviourScript.iconID = IconData.getIconAt(i, j); newIconBehaviourScript.iconXInMatrix = i; newIconBehaviourScript.iconYInMatrix = j; newIconBehaviourScript.iconPosition = newIconPosition; } } } }