void Awake() { mechaComponentGrids = GetComponentsInChildren <MechaComponentGrid>().ToList(); MechaComponent = GetComponentInParent <MechaComponent>(); HitBoxes = GetComponentsInChildren <MechaComponentHitBox>().ToList(); foreach (MechaComponentHitBox hitBox in HitBoxes) { hitBox.LocalGridPos = GridPos.GetGridPosByLocalTransXZ(hitBox.transform, ConfigManager.GridSize); } }
void LateUpdate() { Vector3 localPosition = transform.localPosition; GridPos gp = GridPos.GetGridPosByLocalTransXZ(transform, ConfigManager.GridSize); transform.localPosition = new Vector3(gp.x, localPosition.y, gp.z); Vector3 eulerAngles = transform.localRotation.eulerAngles; float y = Mathf.RoundToInt(eulerAngles.y / 90) * 90; transform.localRotation = Quaternion.Euler(0, y, 0); }
public List <GridPos> GetOccupiedPositions() { buildingGrids = GetComponentsInChildren <BuildingGrid>().ToList(); Building = GetComponentInParent <Building>(); HitBoxes = GetComponentsInChildren <BuildingHitBox>().ToList(); foreach (BuildingHitBox hitBox in HitBoxes) { hitBox.LocalGridPos = GridPos.GetGridPosByLocalTransXZ(hitBox.transform, ConfigManager.GRID_SIZE); } List <GridPos> res = new List <GridPos>(); foreach (BuildingGrid bg in buildingGrids) { res.Add(bg.GetGridPos()); } return(res); }
public GridPos GetGridPos() { return(GridPos.GetGridPosByLocalTransXZ(transform, ConfigManager.GridSize)); }
public GridPos GetGridPos() { return(GridPos.GetGridPosByLocalTransXZ(transform, 1)); }