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); }
internal void onClick(ClickEventData data) { if (data.keyPressed == mouseButtons.left_button) { form.SetRotateFormation(data.point); form.MoveFormation(data.point); Debug.Log("Clicked:" + data.point); } else if (data.keyPressed == mouseButtons.right_button) { form.SetRotateFormation(data.point); form.move_positions.Clear(); angle = Utilities.GetAngle(form.Get_leader_coord(), data.point); Debug.Log("Clicked2:" + data.point + " angle=" + angle); } }