private static void GameObject_OnCreate(GameObject sender, EventArgs args) { //if (sender.Name.ToLower().Contains("katarina")) //{ // Game.PrintChat(sender.Name); //} if (sender is MissileClient && (sender as MissileClient).SpellCaster.IsMe) { var missile = sender as MissileClient; //Game.PrintChat(missile.SData.Name); if (missile.SData.Name.ToLower().Contains("katarinarmis")) { RMis.Add(missile); LastRMis = Environment.TickCount + 168; } if (missile.SData.Name.ToLower().Contains("katarinawdaggerarc")) { WMis.Add(missile); } } if (sender.Name.ToLower().Contains("katarina_base_e_beam.troy")) { MyBeam.Add(sender); } if (sender.Name.ToLower().Contains("katarina_base_w_indicator")) { Daggers.Add(new KatarinaDagger { Dagger = sender, CreationTime = Environment.TickCount }); } }
// ---------------------------------------------------------------- // Doers // ---------------------------------------------------------------- public void UpdateBeamView() { int numBeamSegments; // Oh, if my Beam has been destroyed, say it's got no segments; just stop rendering it completely. (There will be a small visual inconsistency, but it's almost impossible to notice.) if (!MyBeam.IsInPlay) { numBeamSegments = 0; } else { numBeamSegments = MyBeam.NumSegments; } // Make more segments if we need them! int numNewSegmentViews = numBeamSegments - segmentViews.Count; for (int i = 0; i < numNewSegmentViews; i++) { segmentViews.Add(GetNewSegmentView()); } // Activate/deactivate the right ones! for (int i = 0; i < numBeamSegments; i++) { BoardOccupant sourceOccupant = MyBeam.GetSegment(i).SourceOccupant; BoardObjectView sourceView = MyBoardView.TEMP_GetObjectView(sourceOccupant); segmentViews[i].Activate(sourceView); } for (int i = numBeamSegments; i < segmentViews.Count; i++) { segmentViews[i].Deactivate(); } }
private static void GameObject_OnDelete(GameObject sender, EventArgs args) { if (sender is MissileClient && (sender as MissileClient).SpellCaster.IsMe) { var missile = sender as MissileClient; if (missile.SData.Name.ToLower().Contains("katarinarmis")) { RMis.RemoveAll(x => x.NetworkId == missile.NetworkId); } if (missile.SData.Name.ToLower().Contains("katarinawdaggerarc")) { WMis.RemoveAll(x => x.NetworkId == missile.NetworkId); } } if (sender.Name.ToLower().Contains("katarina_base_e_beam.troy")) { MyBeam.RemoveAll(x => x.NetworkId == sender.NetworkId); } if (sender.Name.ToLower().Contains("katarina_base_w_indicator")) { Daggers.RemoveAll(x => x.Dagger.NetworkId == sender.NetworkId); } }