Beispiel #1
0
        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;
            }
        }
Beispiel #2
0
        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);
        }