internal void Awake() { int unit_cnt = 5; speed = 1f; angle = 0f; form = new UnitFormation(); sprites = new List <prop>(); form.SetFormation(unit_cnt, formTypes.auto); form.onEndMove += Form_onEndMove; form.onEndRotate += Form_onEndRotate; form.onStartMove += Form_onStartMove; form.onStartRotate += Form_onStartRotate; transform.position = form.Get_leader_coord(); for (int i = 0; i < unit_cnt; i++) { GameObject newUnit = Instantiate(unitPrefab); var prop = newUnit.GetComponent <prop>(); sprites.Add(prop); // //int arrayIdx = Random.Range(0, unitSprites.Length); //Sprite unitSprite = unitSprites[arrayIdx]; //string unitName = unitSprite.name; // newUnit.name = "man" + i; // newUnit.transform.position = new Vector3(Random.Range(-1*sz,1*sz),0,Random.Range(-1*sz,1*sz)); newUnit.transform.position = form.positions[i]; // newUnit.transform.Rotate( new Vector3(1f, 0f, 0f) , 45); // prop.unitName = newUnit.name; prop.speed = 0.3f; //newUnit.GetComponent<SpriteRenderer>().sprite = unitSprite; prop.MoveTo(form.positions[i]); } // form.MoveFormation(new Vector3(Random.Range(-100, 100), 0, Random.Range(-100, 100))); MouseEvents.mouseClick.AddListener(onClick); }
public void Init(List <GameObject> units) { _form.SetFormation(units.Count, formTypes.three_rows); }