Ignore:
Timestamp:
2015-06-25 22:55:23 (4 years ago)
Author:
mikrkana
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2014/30/MitjaK/Attack to Agora/Attack to Agora/Attack to Agora/Attack to Agora/Attack_to_Agora_mitja.cs

    r6402 r6406  
    1313public partial class Attack_to_Agora : PhysicsGame 
    1414{ 
    15     Image jouniBoss = LoadImage("jouniboss"); 
     15    Image jouniBoss = LoadImage("jouniboss1"); 
    1616    Animation jounibossArrive; 
    1717 
    1818    Elava currentBoss; 
    19     bool bossDefeated = false; 
     19    AssaultRifle currentBossWeapon; 
    2020    const double JOUNI_DMG = 25; 
    2121 
     
    9999    } 
    100100 
    101     void LuoJouniBoss(Vector luomisPaikka, Vector pysahtymisPaikka) 
    102     { 
    103         Elava jouni = new Elava(jouniBoss, 100.0); // 10000 
     101    void LuoJouniBoss(Vector luomisPaikka, double pysahtymisX) 
     102    { 
     103        Elava jouni = new Elava(jouniBoss, 5.0); // 10000 
    104104        jouni.Kuoli += JouniDefeated; 
    105105        jouni.Position = luomisPaikka; 
     
    107107        jouni.Tag = "jouni"; 
    108108        jouni.CollisionIgnoreGroup = 1; 
    109         jouni.Size *= 1.5; 
     109        jouni.IgnoresGravity = true; 
     110        jouni.IgnoresCollisionWith(taistelija); 
    110111        Add(jouni); 
    111112 
     
    114115 
    115116        currentBoss = jouni; 
    116         bossDefeated = false; 
    117117        paaseekoSeuraavaanKenttaan = false; 
    118118 
    119  
    120         PathFollowerBrain bBrain = new PathFollowerBrain(luomisPaikka, pysahtymisPaikka); 
    121         bBrain.Loop = false; 
    122         bBrain.Speed = 1500; 
    123         bBrain.WaypointRadius = jouni.Height / 2; 
    124         jouni.Brain = bBrain; 
    125  
    126         bBrain.ArrivedAtEnd += delegate { ActivateJouni(jouni, bBrain); }; 
    127     } 
    128  
    129     void ActivateJouni(Elava jouni, PathFollowerBrain brain) 
     119        jouni.NeedsUpdateCall = true; 
     120        jouni.IsUpdated = true; 
     121        jouni.Updated += delegate(PhysicsObject j) 
     122        { 
     123            Elava jP = j as Elava; 
     124 
     125            if (jP.X > pysahtymisX) 
     126            { 
     127                ActivateJouni(jP); 
     128                jouni.IsUpdated = false; 
     129                jouni.NeedsUpdateCall = false; 
     130            } 
     131            else jP.Velocity = new Vector(100.0, 0.0); 
     132        }; 
     133    } 
     134 
     135    void ActivateJouni(Elava jouni) 
    130136    { 
    131137        jouni.Animation = jounibossArrive; 
     
    135141 
    136142        jouni.MakeStatic(); 
    137  
    138         brain.Active = false; 
    139         jouni.Brain = null; // nothing personal 
     143        jouni.Stop(); 
    140144 
    141145        AssaultRifle jouninAse = new AssaultRifle(20, 10); 
     
    146150        jouninAse.Tag = "jouninase"; 
    147151        Add(jouninAse); 
    148         jouninAse.Position = jouni.Position + new Vector(jouni.Width / 3, 0.0); 
     152        jouninAse.Position = jouni.Position + new Vector(jouni.Width / 4, 0.0); 
     153        currentBossWeapon = jouninAse; 
    149154 
    150155        Timer ampumisAjastin = new Timer(); 
    151         ampumisAjastin.Interval = 0.2; 
     156        ampumisAjastin.Interval = 1.0; 
    152157        ampumisAjastin.Timeout += delegate  
    153158        { 
     
    162167 
    163168            ammus.IgnoresGravity = true; 
     169            ammus.IsVisible = false; 
     170            ammus.IsUpdated = true; 
     171            ammus.NeedsUpdateCall = true; 
     172            ammus.Updated += delegate(PhysicsObject a) { DrawTracers(a, Color.Red, 0.3, 2); }; 
    164173 
    165174            AddCollisionHandler(ammus, delegate(PhysicsObject a, PhysicsObject p) { 
     
    177186        }; 
    178187 
    179         // ampumisAjastin.Start(); 
     188        ampumisAjastin.Start(); 
    180189    } 
    181190 
    182191    void JouniDefeated() 
    183192    { 
    184         paaseekoSeuraavaanKenttaan = true; 
    185193        currentBoss.Destroy(); 
    186194        currentBoss = null; 
    187195        jounihaviaa.Play(); 
     196        currentBossWeapon.Destroy(); 
     197        currentBossWeapon = null; 
     198 
     199        Timer.SingleShot(2.0, delegate { LuoChromaCase(ItemType.Knife);}); 
    188200    } 
    189201     
Note: See TracChangeset for help on using the changeset viewer.