Changeset 6102 for 2015/24/ohjaajat


Ignore:
Timestamp:
2015-06-15 15:58:50 (4 years ago)
Author:
sieerinn
Message:

Kaivelussa näkyy hinta.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2015/24/ohjaajat/Dungeon/Dungeon/Dungeon/Dungeon.cs

    r6101 r6102  
    22using System.Linq; 
    33using System.Collections.Generic; 
     4using System.Globalization; 
    45using Jypeli; 
    56using Jypeli.Assets; 
     
    194195    } 
    195196 
    196     public Barbaari(double width, double height, int tenacity, Image[] animaatio) : base(width, height) 
     197    public Barbaari(double width, double height, int tenacity, Image[] animaatio) 
     198        : base(width, height) 
    197199    { 
    198200        this.Animation = new Animation(animaatio) { FPS = 8 }; 
     
    231233    private int barbaariMaara = 2; 
    232234 
     235    private Label kaivuuHintaLabel; 
    233236    private Label kierrosIlmaisin; 
    234237    //private bool kierrosKaynnissa; 
     
    256259    Upgrade ostamassa; 
    257260    Point digStart; // Huoneen sijainti, josta kaivuu aloitetaan. 
    258     bool digging = false; 
     261 
     262    private bool digging = false; 
     263 
     264    public bool Digging 
     265    { 
     266        get 
     267        { 
     268            return digging; 
     269        } 
     270        set 
     271        { 
     272            digging = value; 
     273            kaivuuHintaLabel.IsVisible = Digging; 
     274        } 
     275    } 
    259276 
    260277    GameObject digArrow; 
     
    266283    const int VAAKA_HUONEET = 12; 
    267284    const int PYSTY_HUONEET = 8; 
     285    const int HUONE_KAIVUU_HINTA = 50; 
    268286 
    269287    // Paljonko peliruudukko on siirtynyt origosta. 
     
    288306        Window.Height = 768; 
    289307 
    290         ansaKuvat = new Image[] {piikkiAnsaKuvat[0], murskausAnsaKuvat[0]}; 
     308        ansaKuvat = new Image[] { piikkiAnsaKuvat[0], murskausAnsaKuvat[0] }; 
    291309        ansaAnimaatiot.Add(new Animation(piikkiAnsaKuvat)); 
    292310        ansaAnimaatiot.Add(new Animation(murskausAnsaKuvat)); 
     
    351369        KierrosKaynnissa = KierrosKaynnissa; // Aiheuttaa labelin päivittymisen. 
    352370 
     371        kaivuuHintaLabel = new Label("0"); 
     372        kaivuuHintaLabel.IsVisible = false; 
     373        kaivuuHintaLabel.TextColor = Color.HotPink; 
     374        kaivuuHintaLabel.Color = Color.Black; 
     375        Add(kaivuuHintaLabel); 
     376 
    353377        Label rahat = new Label(); 
    354378        rahat.BindTo(kultuuri); 
     
    391415                ostamassa = LuoKultuuriPaivitys(kultuuriKuvat[indeksi], hinnat[indeksi], kultuuriTuotot[indeksi]);   // TODO: tuotto[indeksi] 
    392416            }; 
    393               
     417 
    394418            Add(new Label 
    395419            { 
     
    400424        } 
    401425 
    402         for (int i = 0; i < ansaKuvat.Length; i++)   
     426        for (int i = 0; i < ansaKuvat.Length; i++) 
    403427        { 
    404428            PushButton kuva = new PushButton(ansaKuvat[i]); 
     
    422446                Text = ansaHinnat[i].ToString() 
    423447            }); 
    424         }  
     448        } 
    425449    } 
    426450 
     
    489513        Add(barbaari); 
    490514        barbaarit.Add(barbaari); 
    491              
     515 
    492516        EtsiBarbaarinReitti(barbaari); 
    493517    } 
     
    583607    } 
    584608 
    585     void SeuraavaAalto()        
     609    void SeuraavaAalto() 
    586610    { 
    587611        if (KultuuriHuoneidenPaikat().Count == 0 || KierrosKaynnissa % 2 == 0) return; 
     
    611635    { 
    612636        digStart = huone.Location; 
    613         digging = true; 
     637        Digging = true; 
    614638        digArrowHead.IsVisible = digArrow.IsVisible = true; 
    615639    } 
     
    617641    void RoomReleased(Room kohdeHuone) 
    618642    { 
    619         digging = false; 
     643        Digging = false; 
    620644        digArrowHead.IsVisible = digArrow.IsVisible = false; 
    621645        if (!CanDig()) return; 
     
    643667        // Merkataan huoneet kaivetuksi ja maksetaan siitä kivasti. 
    644668        alku.Dug = kohde.Dug = true; 
    645         kultuuri.Value -= 50; 
     669        kultuuri.Value -= HUONE_KAIVUU_HINTA; 
    646670 
    647671        // Reiät seinään. 
     
    740764        int dx = Math.Abs(kohdeHuone.Location.X - digStart.X); 
    741765        int dy = Math.Abs(kohdeHuone.Location.Y - digStart.Y); 
    742         return (dx > 0 && dy == 0) || (dy > 0 && dx == 0); 
     766        int hinta = (dx + dy) * HUONE_KAIVUU_HINTA; 
     767        kaivuuHintaLabel.Text = "" + hinta; 
     768        return ((dx > 0 && dy == 0) || (dy > 0 && dx == 0)) && kultuuri.Value >= hinta; 
    743769    } 
    744770 
     
    931957    protected override void Update(Time time) 
    932958    { 
    933         if (digging) 
     959        if (Digging) 
    934960        { 
    935961            Color vari = CanDig() ? Color.White : Color.Red; 
     
    944970            digArrow.Angle = suunta.Angle; 
    945971            digArrow.Width = pituus; 
    946  
     972             
    947973            digArrowHead.Color = vari; 
    948974            digArrowHead.Position = alku + suunta; 
    949975            digArrowHead.Angle = suunta.Angle - Angle.FromDegrees(90); 
     976 
     977            kaivuuHintaLabel.Position = Camera.WorldToScreen(alku + suunta * 0.5 + new Vector(0, 30)); 
    950978        } 
    951979 
Note: See TracChangeset for help on using the changeset viewer.