void OnEnable() { // obtain reference to script and object the editor is describing tilesSettings = (TilesSettings)target; tilesGameObject = tilesSettings.gameObject; CreateTilesList(); }
// Use this for initialization void Start() { // get collider data BoxCollider2D boxCollider2D = this.GetComponent<BoxCollider2D>(); if(boxCollider2D != null) { colliderOffset = boxCollider2D.offset; coliderSize = boxCollider2D.size; } // get sprite renderer component and sprite spriteRenderer = this.GetComponent<SpriteRenderer>(); if (spriteRenderer != null) { sprite = spriteRenderer.sprite; } // get current player tile Vector3 vPos = this.transform.position; tilesSettings = GameObject.FindObjectOfType(typeof(TilesSettings)) as TilesSettings; if (tilesSettings != null) { float fTileWidthHalf = tilesSettings.TileWidth * 0.5f; AINode[] aiNodes = tilesSettings.GetComponentsInChildren<AINode>(); currentNode = aiNodes.FirstOrDefault(node => Mathf.Abs(node.transform.position.x - vPos.x) <= fTileWidthHalf && Mathf.Abs(node.transform.position.y - vPos.y) <= fTileWidthHalf); } }