Beispiel #1
0
        /// <summary>
        /// Create Yurei, the main character
        /// </summary>
        private void CreateYurei()
        {
            this.yurei = EntityManager.Find("yurei");
            Entity starDust = yurei.FindChild("dust");

            starDust.FindComponent<SpriteAtlasRenderer>().LayerType = typeof(ForegroundLayer);

            yurei.AddComponent(new YureiBehavior(starDust));

            Transform3D transform = yurei.FindComponent<Transform2D>().Transform3D;
            transform.Position = new Vector3(500, this.VirtualScreenManager.BottomEdge - 152, 150);
            transform.Scale = Vector3.One * 0.85f;

            yurei.FindComponent<SkeletalRenderer>().LayerType = typeof(ForegroundLayer);
        }
Beispiel #2
0
        /// <summary>
        /// Create a hand anchor
        /// </summary>
        /// <param name="root">The  root entity.</param>
        /// <param name="name">The name of the entity.</param>
        /// <returns>the new entity.</returns>
        private Entity ConfigureHandAnchor(Entity root, string name)
        {
            Entity anchor = root.FindChild(name);

            if (anchor == null)
            {
                anchor = new Entity(name)
                .AddComponent(new Transform3D())
                .AddComponent(new HandRig());

                root.AddChild(anchor);
            }

            return anchor;
        }
        protected void Get_directions(int Pos_x, int Pos_y, Entity Monsters_set)
        {
            if ((Tower_bullet.Bullet.Enabled) && (Tower_bullet.Bullet_bitmap.X != Pos_x || Tower_bullet.Bullet_bitmap.Y != Pos_y) && (Tower_target != ""))
            {

                var Monster_targeted = Monsters_set.FindChild(Tower_target);

                int dif_x = (int)Tower_bullet.Bullet_bitmap.X - (int)Monster_targeted.FindComponent<Transform2D>().X;
                int dif_y = (int)Tower_bullet.Bullet_bitmap.Y - (int)Monster_targeted.FindComponent<Transform2D>().Y;

                Get_ammo_speed(dif_x, dif_y);

                Static.Functions.get_Directions((int)dif_x, (int)dif_y, ref Tower_bullet.Bullet_dir_x, ref Tower_bullet.Bullet_dir_y);
                Tower_bullet.Move_bullet(Tower_bitmap.X, Tower_bitmap.Y);
            }
        }
        public int Get_Damage(Mobs.Mob_Base Monster, Entity Monsters_set)
        {
            if (Tower_bullet.Bullet_access)
            {
            Tower_bullet.Bullet_speed_x = Tower_bullet.Bullet_speed_y = Tower_bullet.Bullet_speed;
            if (Tower_target == "" || Monster.Mob.Name == Tower_target)
            {
                int Pos_x = (int)Monster.Mob.FindComponent<Transform2D>().X;
                int Pos_y = (int)Monster.Mob.FindComponent<Transform2D>().Y;

                if ((Check_Range(Pos_x, Pos_y)) &&
                    (!Tower_bullet.Bullet.Enabled)
                    && (Tower_target == ""))
                    Get_values(Monster.Mob.Name);

                Get_directions(Pos_x, Pos_y, Monsters_set);

                if (Tower_target != "")
                {
                    if (((Get_hit(Pos_x, Pos_y,
                        (int)Tower_bullet.Bullet_bitmap.X,
                        (int)Tower_bullet.Bullet_bitmap.Y)) &&
                        Tower_bullet.Bullet.Enabled)
                        || (Monsters_set.FindChild(Tower_target).Enabled == false))
                    {
                        if (Monster.Mob.Name == Tower_target)
                            Monster.HP -= Tower_bullet.Bullet_damage;
                        Reset_values();
                        return Tower_bullet.Bullet_damage;
                    }
                    else
                        return 0;
                }

            }
            }
            return 0;
        }
Beispiel #5
0
        /// <summary>
        /// Creates the OVR position tracker position
        /// </summary>
        /// <param name="root">The root entity</param>
        /// <returns>The tracker anchor</returns>
        private Entity ConfigureTrackerAnchor(Entity root)
        {
            Entity anchor = root.FindChild(trackerAnchorName);

            if (anchor == null)
            {
                anchor = new Entity(trackerAnchorName)
                .AddComponent(new Transform3D());

                root.AddChild(anchor);
            }

            return anchor;
        }
Beispiel #6
0
        /// <summary>
        /// Creates an eye anchor
        /// </summary>
        /// <param name="root">The root entity</param>
        /// <param name="eye">The eye type</param>
        /// <returns>The eye anchor</returns>
        private Entity ConfigureEyeAnchor(Entity root, VREyeType eye)
        {
            string eyeName = (eye == VREyeType.CenterEye) ? "Center" : (eye == VREyeType.LeftEye) ? "Left" : "Right";
            string name = eyeName + eyeAnchorName;

            Entity anchor = root.FindChild(name);

            if (anchor == null)
            {
                anchor = new Entity(name)
                .AddComponent(new Transform3D());

                if (eye == VREyeType.CenterEye)
                {
                    anchor.AddComponent(new SoundListener3D());
                }

                root.AddChild(anchor);
            }

            return anchor;
        }