예제 #1
0
 public override void editor_layout(attack_entity attack_ref)
 {
     projectile = (GameObject)EditorGUILayout.ObjectField(
         projectile,
         typeof(GameObject),
         false);
     type = (projectile_type)EditorGUILayout.EnumPopup(type);
 }
예제 #2
0
        //OKAY LETS Cut this down to one constructor. What stuff is absolutely vital to make one constructor
        //And what can be set later.
        //Start coord and end coord, type of projectile and content manager.
        //Also whether it's a monster projectile or not + attack area type
        public Projectile(gridCoordinate start_gCoord, gridCoordinate end_gCoord, projectile_type myType, ref ContentManager cmanage,
                          bool monster_proj, Scroll.Atk_Area_Type atk_a_typ, bool damage_projectile = true)
        {
            my_type = myType;
            int offset = 0;

            projectile_speed = 240;

            my_prj_type = my_type;
            switch (my_prj_type)
            {
            case projectile_type.Arrow:
                my_texture = cmanage.Load <Texture2D>("Projectiles/arrow");
                break;

            case projectile_type.Flamebolt:
                my_texture = cmanage.Load <Texture2D>("Projectiles/flamebolt");
                break;

            case projectile_type.Frostbolt:
                my_texture = cmanage.Load <Texture2D>("Projectiles/frostbolt");
                break;

            case projectile_type.Javelin:
                my_texture = cmanage.Load <Texture2D>("Projectiles/javelin");
                break;

            case projectile_type.Crossbow_Bolt:
                my_texture = cmanage.Load <Texture2D>("Projectiles/crossbowbolt");
                break;

            case projectile_type.AcidCloud:
                my_texture = cmanage.Load <Texture2D>("Projectiles/acidblob");
                break;

            case projectile_type.Bloody_AcidCloud:
                my_texture = cmanage.Load <Texture2D>("Projectiles/blood_acidblob");
                break;

            case projectile_type.Fireball:
                my_texture = cmanage.Load <Texture2D>("Projectiles/fireball");
                break;

            case projectile_type.Blank:
                my_texture       = cmanage.Load <Texture2D>("Projectiles/blank_projectile");
                projectile_speed = 480;
                break;

            case projectile_type.Lightning_Bolt:
                my_texture = cmanage.Load <Texture2D>("Projectiles/lightningbolt");
                break;

            case projectile_type.Bonespear:
                my_texture = cmanage.Load <Texture2D>("Projectiles/bonespear");
                break;
            }
            monster_projectile  = monster_proj;
            damaging_projectile = damage_projectile;

            my_start_coordinate = new gridCoordinate(start_gCoord);
            my_end_coordinate   = new gridCoordinate(end_gCoord);
            my_current_position = new Vector2((my_start_coordinate.x * 32) + offset, (my_start_coordinate.y * 32) + offset);
            my_end_position     = new Vector2((my_end_coordinate.x * 32) + offset, (my_end_coordinate.y * 32) + offset);

            my_rectangle           = new Rectangle((int)my_current_position.X, (int)my_current_position.Y, 32, 32);
            attack_type            = atk_a_typ;
            my_special_animation   = special_anim.None;
            my_previous_coordinate = new gridCoordinate(-1, -1);

            attached_status_effects = new List <StatusEffect>();
            Scll = null;
            Weap = null;
        }