void Roam() { if (TreeTransform == null) // The obj Instantiation is slow so AoAO keeps looking for The tree transform { GameObject Tree = GameObject.FindGameObjectWithTag("Platform"); if (Tree) { TreeTransform = Tree.transform; TreeScript = TreeTransform.GetComponentInChildren <AoAoThing>(); } } AoAnim.PlayFrames(1, 0, 4, Orientation); NewPosition = new Vector3(NewPosition.x + (Time.deltaTime * Orientation), NewPosition.y, .15f); if (NewPosition.x > LevelArea.xMax) { Orientation = -1; } if (NewPosition.x < LevelArea.xMin) { Orientation = +1; } if (PlayerTransform == null && Managers.Game.PlayerPrefab) { PlayerTransform = Managers.Game.PlayerPrefab.transform; BossArea.center = new Vector2(PlayerTransform.position.x, PlayerTransform.position.y + 0.5f); TargetTransform = PlayerTransform; NewPosition = new Vector3(BossArea.xMax, PlayerTransform.position.y + 2, PlayerTransform.position.z); LevelArea = Managers.Display.cameraScroll.levelBounds; ThisTransform.GetComponent <Rigidbody>().useGravity = true; AoAoState = BossState.Roaming; } else if (PlayerTransform && Mathf.Abs(PlayerTransform.position.x - NewPosition.x) < 3) { Talking = true; AoAoState = BossState.Talking; } }
void Start() { //if (Health <= 0) // Debug.Log("AoAO Already Beated!"); //Managers.Display.camTransform.position = Vector3.zero; if (MySize == AoSize.Huge) { Managers.Display.camTransform.position = new Vector3(100, 1.43f, -2.5f); if (Managers.Register.AoAoDefeated) { Debug.Log("AoAO Already Beated!"); GameObject Door = (GameObject)Instantiate(Prefabs[5], new Vector3(100, Managers.Display.cameraScroll.levelBounds.yMin + 1.5f, .3f), gameObject.transform.rotation); Door.transform.parent = gameObject.transform.parent; (Door.GetComponent <Portal>() as Portal).Target = "/Levels/CampoDelCielo.tmx"; DestroyImmediate(gameObject); //this.enabled = false; return; } } else if (MySize != AoSize.Huge) { PlayerTransform = Managers.Game.PlayerPrefab.transform; BossArea.center = new Vector2(PlayerTransform.position.x, PlayerTransform.position.y + 0.5f); TargetTransform = PlayerTransform; NewPosition = new Vector3(BossArea.xMin, PlayerTransform.position.y, PlayerTransform.position.z); } ThisTransform = transform; AoAnim = ThisTransform.GetComponent <AnimSprite>(); LevelArea = Managers.Display.cameraScroll.levelBounds; if (MySize == AoSize.Huge) { ThisTransform.localScale = Vector3.one * 4; } if (MySize != AoSize.Huge && TreeTransform == null) { float randomizer = Time.timeSinceLevelLoad; if (MySize == AoSize.Large) { randomizer *= Random.Range(2, ThisTransform.position.x); } if (MySize == AoSize.Medium) { randomizer *= Random.Range(3, ThisTransform.position.x); } if (MySize == AoSize.Small) { randomizer *= Random.Range(4, ThisTransform.position.x); } //randomizer = Mathf.Clamp( randomizer, 2, 86); WalkSpeed = Random.Range(2, ((int)randomizer) % 7); GameObject Tree = GameObject.FindGameObjectWithTag("Platform"); if (Tree) { TreeTransform = Tree.transform; TreeScript = TreeTransform.GetComponentInChildren <AoAoThing>(); } } Managers.Dialog.Init(file); }