예제 #1
0
 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);
     }
 }
예제 #2
0
        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);
        }
예제 #3
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);
    }
예제 #4
0
 public GridPos GetGridPos()
 {
     return(GridPos.GetGridPosByLocalTransXZ(transform, ConfigManager.GridSize));
 }
예제 #5
0
 public GridPos GetGridPos()
 {
     return(GridPos.GetGridPosByLocalTransXZ(transform, 1));
 }