Ignore:
Timestamp:
2013-07-23 14:56:27 (6 years ago)
Author:
anlakane
Message:

Talletus.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2013/30/MiskaK/MW2(My Warfare 2)/MW2(My Warfare 2)/MW2(My Warfare 2)/MW2_My_Warfare_2_.cs

    r4532 r4580  
    137137    /// </summary> 
    138138    public override void Begin() 
    139     { 
     139    {    
    140140        SoitaMusiikkia(0); // valikkotheme valikkoon 
    141141        LuoAlkuValikko(); 
     
    185185            } 
    186186        } 
    187     } 
     187 
     188        List<GameObject> fysiikkaolioita = GetObjects(x => x is PhysicsObject && !((PhysicsObject)x).IgnoresPhysicsLogics); 
     189        fysLaskuri.Text = fysiikkaolioita.Count.ToString(); 
     190    } 
     191 
     192    Label fysLaskuri = new Label(); 
     193 
    188194 
    189195    /// <summary> 
     
    299305 
    300306    /// <summary> 
     307    /// Tarkistetaan, onko piste näyttöruudun sisäpuolella. 
     308    /// </summary> 
     309    /// <param name="piste">Piste.</param> 
     310    /// <returns>Onko piste näytön alueella.</returns> 
     311    public bool OnkoNaytonAlueella(Vector piste) 
     312    { 
     313        Vector vasenYlakulma = Camera.ScreenToWorld(new Vector(Screen.Left, Screen.Top)); 
     314        Vector oikeaYlaKulma = Camera.ScreenToWorld(new Vector(Screen.Right, Screen.Top)); 
     315        Vector vasenAlaKulma = Camera.ScreenToWorld(new Vector(Screen.Left, Screen.Bottom)); 
     316        //Vector oikeaAlaKulma = Camera.ScreenToWorld(new Vector(Screen.Right, Screen.Bottom)); 
     317 
     318        if (piste.X > vasenYlakulma.X && piste.X < oikeaYlaKulma.X) 
     319            if (piste.Y < vasenYlakulma.Y && piste.Y > vasenAlaKulma.Y) 
     320                return true; 
     321        return false; 
     322    } 
     323 
     324    /// <summary> 
    301325    /// Asettaa ikkunan koon halutuksi ja palaa päävalikkoon. 
    302326    /// </summary> 
     
    307331        SetWindowSize(leveys, korkeus); 
    308332        PaaValikkoon(); 
     333    } 
     334 
     335    /// <summary> 
     336    /// Poistetaan kentältä kaikki asiat, paitsi pelaajat. 
     337    /// </summary> 
     338    void RemoveAllEntities() 
     339    { 
     340        List<GameObject> pelioliot = GetObjects(x => x.Tag.ToString() != "pelaaja" && x.Tag.ToString() != "tahtain" && x.Tag.ToString() != "HUD"); 
     341 
     342        foreach (GameObject olio in pelioliot) 
     343        { 
     344            olio.Destroy(); 
     345        } 
     346        pelioliot.Clear(); 
    309347    } 
    310348 
     
    392430    } 
    393431 
    394     void LisaaTehosteObjekti(GameObject tehoste) 
     432    public void LisaaTehosteObjekti(GameObject tehoste) 
    395433    { 
    396434        tehosteet.Add(tehoste); 
     
    443481                ruudut.SetTileMethod(Color.Red, LuoKentanOsa, pystypiikkilankaKuva, "piikkilanka", 5); 
    444482                ruudut.SetTileMethod(Color.Brown, LuoTuhoutuvaKentanOsa, vaakapuunKuva, "puu", 10, 1.0, 0.3); 
    445                 ruudut.SetTileMethod(Color.ForestGreen, LuoKentanOsa, naamioverkonKuva, "naamioverkko", 1); 
     483                //ruudut.SetTileMethod(Color.ForestGreen, LuoLapiMentavaKentanOsa, naamioverkonKuva, "naamioverkko", 1); 
    446484                ruudut.SetTileMethod(Color.Purple, LuoLaatikko); 
    447485                ruudut.SetTileMethod(Color.Yellow, LuoLapiMentavaKentanOsa, seinäSoihdunKuva, "seinäsoihtu", 1.0, 1.0); 
    448486                ruudut.SetTileMethod(Color.Olive, LuoLapiMentavaKentanOsa, valonKuva, "valo", 6.0, 6.0); 
    449487                ruudut.SetTileMethod(Color.Rose, LuoTynnyri); 
    450                 ruudut.SetTileMethod(Color.BloodRed, delegate(Vector p, double w, double h, IntPoint posInLevel)  
    451                 {  
     488                ruudut.SetTileMethod(Color.BloodRed, delegate(Vector p, double w, double h, IntPoint posInLevel) 
     489                { 
    452490                    if (Infinite.CurrentGame != null) 
    453491                        Infinite.CurrentGame.LisaaFixedSpawni(p); 
     
    461499                    pelaajan2spawni = p; 
    462500                }); 
    463                 ruudut.SetTileMethod(Color.Gold, delegate(Vector p, double w, double h, IntPoint posInLevel)  
     501                ruudut.SetTileMethod(Color.Gold, delegate(Vector p, double w, double h, IntPoint posInLevel) 
    464502                { 
    465                     vaihtoehtoisetSpawnit.Add(p);               
     503                    vaihtoehtoisetSpawnit.Add(p); 
    466504                }); 
    467505 
     
    885923        kentanosa.CollisionIgnoreGroup = 1; 
    886924        kentanosa.PositionInLevelArray = positionInLevelArray; 
    887         kentanosa.Kesto.LowerLimit += delegate { 
    888             KentanOsat.TuhoaSeina(kentanosa.PositionInLevelArray.X, kentanosa.PositionInLevelArray.Y); 
     925        kentanosa.Kesto.LowerLimit += delegate 
     926        { 
     927            if (KentanOsat != null) 
     928                KentanOsat.TuhoaSeina(kentanosa.PositionInLevelArray.X, kentanosa.PositionInLevelArray.Y); 
    889929            kentanosa.Destroy(); 
    890930        }; 
    891931        Add(kentanosa); 
    892932 
    893         KentanOsat.LisaaSeina(positionInLevelArray.X, positionInLevelArray.Y, kentanosa); 
     933        if (KentanOsat != null) 
     934            KentanOsat.LisaaSeina(positionInLevelArray.X, positionInLevelArray.Y, kentanosa); 
    894935    } 
    895936 
     
    9701011        tynnyri.Position = paikka; 
    9711012        tynnyri.Shape = Shape.Circle; 
    972         //tynnyri.Mass = 600; 
     1013        tynnyri.Mass = 600; 
    9731014        tynnyri.LinearDamping = 0.90; 
    9741015        tynnyri.AngularDamping = 0.90; 
     
    10851126        Level.AmbientLight = 1.0; 
    10861127        valikko.DefaultCancel = 4; 
     1128        Partikkelit.LisaaValikkoTaustaPartikkelit(); 
    10871129        Add(valikko); 
    10881130 
     
    13701412                AsetaSandboxOhjaimet(); 
    13711413                SoitaMusiikkia(3); // Sandbox: vanha OrcsCome 
     1414                Partikkelit.PoistaValikkoTaustaPartikkelit(); 
    13721415                break; 
    13731416            case 3: 
     
    14311474        } 
    14321475 
    1433          
     1476 
    14341477 
    14351478        switch (valinta) 
     
    14431486                SoitaMusiikkia(1); // DarkLurk deathmatchiin 
    14441487                //Level.Background.Image = LoadImage("Pohja_testi"); 
     1488                Partikkelit.PoistaValikkoTaustaPartikkelit(); 
    14451489                break; 
    14461490            case 1: 
     
    14521496                AsetaOhjaimet(); 
    14531497                SoitaMusiikkia(1); // DarkLurk deathmatchiin 
     1498                Partikkelit.PoistaValikkoTaustaPartikkelit(); 
    14541499                break; 
    14551500            case 2: 
     
    15221567                AloitaInfiniteGame(1, 0, monestakoPoikki); 
    15231568                AsetaOhjaimet(); 
     1569                Partikkelit.PoistaValikkoTaustaPartikkelit(); 
    15241570                break; 
    15251571 
     
    15311577                AloitaInfiniteGame(2, 0, monestakoPoikki); 
    15321578                AsetaOhjaimet(); 
     1579                Partikkelit.PoistaValikkoTaustaPartikkelit(); 
    15331580                break; 
    15341581            case 2: 
     
    16411688            vihu.Destroyed += delegate { peli.VihollisiaTapettu.Value++; }; 
    16421689            Add(vihu); 
    1643             if (peli.KaytetaankoFixedSpawneja && peli.VihollistenFixedSpawnit.Count != 0) vihu.Position = RandomGen.SelectOne<Vector>(peli.VihollistenFixedSpawnit); 
     1690            Vector paikka; 
     1691            if (peli.KaytetaankoFixedSpawneja && peli.VihollistenFixedSpawnit.Count != 0) 
     1692            { 
     1693                do 
     1694                { 
     1695                    paikka = RandomGen.SelectOne<Vector>(peli.VihollistenFixedSpawnit); 
     1696                } while (!OnkoNaytonAlueella(paikka)); 
     1697                vihu.Position = paikka; 
     1698            } 
    16441699            else vihu.Position = ArvoSpawnausPaikkaKentanLaidoilta(Vakiot.PALJONKO_VIHOLLISET_SPAWNAAVAT_KENTAN_RAJOJEN_ULKOPUOLELLE); 
     1700             
    16451701            peli.VihollisetKentalla.Add(vihu); 
    16461702        } 
     
    17181774        pelaaja.ValittuAseNaytto.Text = pelaaja.ValittuAse.AseenNimi; 
    17191775        pelaaja.TappojenMaaraNaytto = LuoTappoNaytto(pelaaja.ValittuAseNaytto.Position); 
     1776        AddCollisionHandler<Pelaaja, Vihollinen>(pelaaja, delegate(Pelaaja p, Vihollinen v) { Damagea(pelaaja, v.TuhovoimaElaviaKohtaan);}); 
    17201777        if (kaytetaankoLaseria) 
    17211778        { 
     
    17881845        tähtäin.IgnoresPhysicsLogics = true; 
    17891846        tähtäin.LinearDamping = 0.60; 
     1847        tähtäin.Tag = "tahtain"; 
    17901848        Add(tähtäin, 3); 
    17911849        return tähtäin; 
     
    19211979            if (tuhoutuva.IsStatic) 
    19221980            { 
    1923                 //GameObject luodinJalki = new GameObject(12, 13); 
    1924                 //luodinJalki.Image = crack1; 
    1925                 //luodinJalki.Position = a.Position; 
    1926                 //luodinJalki.Angle = RandomGen.NextAngle(); 
    1927                 //Add(luodinJalki, 1); 
    1928                 //LisaaTehosteObjekti(luodinJalki); 
    1929                 //tuhoutuva.Destroyed += delegate 
    1930                 //{ 
    1931                 //    luodinJalki.Destroy(); 
    1932                 //    tehosteet.Remove(luodinJalki); 
    1933                 //}; 
     1981                GameObject luodinJalki = new GameObject(12, 13); 
     1982                luodinJalki.Image = crack1; 
     1983                luodinJalki.Position = a.Position; 
     1984                luodinJalki.Angle = RandomGen.NextAngle(); 
     1985                Add(luodinJalki, 1); 
     1986                LisaaTehosteObjekti(luodinJalki); 
     1987                tuhoutuva.Destroyed += delegate 
     1988                { 
     1989                    luodinJalki.Destroy(); 
     1990                    tehosteet.Remove(luodinJalki); 
     1991                }; 
    19341992            } 
    19351993 
     
    20332091    } 
    20342092 
     2093    void MeleeIsku(Pelaaja pelaaja) 
     2094    { 
     2095        Ase edellinenAse = pelaaja.ValittuAse; 
     2096        pelaaja.ValitseAse("nyrkki"); 
     2097        Ammu(pelaaja); 
     2098        pelaaja.ValitseAse(edellinenAse.Tag.ToString()); 
     2099        PaivitaPelaajanKuvaJaHUD(pelaaja); 
     2100    } 
     2101 
    20352102    /// <summary> 
    20362103    /// Ladataan pelaajan kulloinkin valittuna oleva ase. 
     
    21452212        kranaatti.IsUpdated = true; 
    21462213        kranaatti.NeedsUpdateCall = true; 
    2147         kranaatti.Updated += delegate(PhysicsObject p) { DrawTracers(kranaatti.Position, Color.Orange, 0.30, 3); }; 
     2214        kranaatti.Updated += delegate(PhysicsObject p) { DrawTracers(kranaatti.Position, Color.Orange, 0.30, 6); }; // brightness 3 
    21482215        pelaaja.Throw(kranaatti, Angle.FromDegrees(0), KRANAATIN_NOPEUS, 0, 0); 
    21492216        pelaaja.KranaattienMaara--; 
     
    22072274        Label asenäyttö = new Label(); 
    22082275        Add(asenäyttö); 
    2209         //asenäyttö.X = Screen.Left + 130; 
    2210         //asenäyttö.Y = Screen.Top - 70; 
    22112276        asenäyttö.Position = paikka; 
    22122277        asenäyttö.TextColor = Color.White; 
    22132278        asenäyttö.BorderColor = Color.Transparent; 
     2279        asenäyttö.Tag = "HUD"; 
    22142280        return asenäyttö; 
    22152281    } 
     
    22552321        pelaaja.VaihdaAse(vaihtosuunta); 
    22562322 
     2323        PaivitaPelaajanKuvaJaHUD(pelaaja); 
     2324    } 
     2325 
     2326    void PaivitaPelaajanKuvaJaHUD(Pelaaja pelaaja) 
     2327    { 
    22572328        if (pelaaja == pelaajat[0]) 
    22582329        { 
     
    23172388        Keyboard.Listen(Key.LeftShift, Jypeli.ButtonState.Pressed, delegate { pelaajat[0].Nopeus = 450.0; ;}, null); 
    23182389        Keyboard.Listen(Key.LeftShift, Jypeli.ButtonState.Released, delegate { pelaajat[0].Nopeus = 300.0; ;}, null); 
     2390        Keyboard.Listen(Key.E, ButtonState.Pressed, MeleeIsku, null, pelaajat[0]); 
    23192391        Mouse.ListenWheel(delegate { VaihdaAsetta(pelaajat[0]); }, null); 
    2320         Mouse.Listen(MouseButton.Left, Jypeli.ButtonState.Down, delegate { 
     2392        Mouse.Listen(MouseButton.Left, Jypeli.ButtonState.Down, delegate 
     2393        { 
    23212394            if (pelaajat[0].ValittuAse.BulletsPerShot != 1) AmmuHaulikolla(pelaajat[0], pelaajat[0].ValittuAse.BulletsPerShot); 
    23222395            else Ammu(pelaajat[0]); 
     
    23242397        Mouse.Listen(MouseButton.Right, Jypeli.ButtonState.Pressed, HeitaKranaatti, null, pelaajat[0]); 
    23252398        Mouse.ListenMovement(0.1, LiikutaTahtainta, null, pelaajat[0]); 
    2326  
     2399#if DEBUG 
    23272400        Keyboard.Listen(Key.RightControl, ButtonState.Pressed, delegate { MessageDisplay.Add(pelaajat[0].Position.ToString()); }, null); 
     2401        Keyboard.Listen(Key.P, ButtonState.Pressed, delegate { MessageDisplay.Add(OnkoNaytonAlueella(new Vector(0.0, 0.0)).ToString()); }, null); 
     2402        Keyboard.Listen(Key.NumPad9, ButtonState.Pressed, delegate { Add(fysLaskuri); }, null); 
     2403        Keyboard.Listen(Key.C, ButtonState.Down, delegate 
     2404        { 
     2405            Vihollinen zombi = new Vihollinen(normaaliZombiKuva.Width / 1.2, normaaliZombiKuva.Height / 1.2, normaaliZombiKuva, 20, 4, 100, pelaajat, false, false, this, null); 
     2406            Add(zombi); 
     2407            zombi.Position = pelaajat[0].tahtain.Position; 
     2408 
     2409        }, null); 
     2410#endif 
    23282411 
    23292412        // Pelaajan 2 ohjaimet 
     
    23322415        ControllerOne.Listen(Button.LeftStick, Jypeli.ButtonState.Released, delegate { pelaajat[1].Nopeus = 300.0; }, null); 
    23332416        ControllerOne.ListenAnalog(AnalogControl.RightStick, 0.1, LiikutaTahtaintaPadilla, null, pelaajat[1]); 
    2334         ControllerOne.Listen(Button.RightTrigger, Jypeli.ButtonState.Down, delegate{ 
     2417        ControllerOne.Listen(Button.RightTrigger, Jypeli.ButtonState.Down, delegate 
     2418        { 
    23352419            if (pelaajat[1].ValittuAse.BulletsPerShot != 1) AmmuHaulikolla(pelaajat[1], pelaajat[1].ValittuAse.BulletsPerShot); 
    23362420            else Ammu(pelaajat[1]); 
     
    23512435        }, null); 
    23522436        ControllerOne.Listen(Button.A, Jypeli.ButtonState.Pressed, delegate { pelaajat[1].tahtain.Position = pelaajat[1].Position; }, null); 
     2437        ControllerOne.Listen(Button.RightStick, ButtonState.Pressed, MeleeIsku, null, pelaajat[1]); 
    23532438    } 
    23542439 
     
    23612446        Keyboard.Listen(Key.K, ButtonState.Pressed, delegate { LuoKillBall(pelaajat[0].tahtain.Position); }, null); 
    23622447        Keyboard.Listen(Key.T, ButtonState.Pressed, delegate { LuoTynnyri(pelaajat[0].tahtain.Position, 50.0, 50.0, null); }, null); 
     2448        Keyboard.Listen(Key.Delete, ButtonState.Pressed, RemoveAllEntities, null); 
    23632449        ControllerOne.Listen(Button.B, ButtonState.Pressed, delegate { LuoTuhoutuvaKentanOsa(pelaajat[1].tahtain.Position, 50, 50, null, kivenKuva, "kivi", 20, 1.0, 1.0); }, null); 
    23642450    } 
Note: See TracChangeset for help on using the changeset viewer.