//----------------------------------------------------------------------------------------------- // Jump - call this to attempt a jump on the monster //----------------------------------------------------------------------------------------------- public void Jump() { if (_isJumping) { return; } _isJumping = true; _monsterVelocity.Y = -.03f; OnStartJump?.Invoke(); }
public void ReadEvent(Dictionary <string, object> rawData) { if (!rawData.ContainsKey("event")) { return; } switch (rawData["event"]) { case "FSDJump": OnFsdJump?.Invoke(this, Parser.ParseJournalEvent <FsdJump>(rawData)); break; case "FSSDiscoveryScan": OnFssDiscoveryScan?.Invoke(this, Parser.ParseJournalEvent <FssDiscoveryScan>(rawData)); break; case "Scan": var body = Parser.ParseScanBody(rawData); if (rawData.ContainsKey("StarType")) { var subType = (string)rawData["StarType"]; body.Type = Parser.ParseStarType(subType); body.SubType = subType; body.Mass = (double)rawData["StellarMass"]; } else if (rawData.ContainsKey("PlanetClass")) { var subType = (string)rawData["PlanetClass"]; body.Type = Parser.ParseWorldType(subType); body.SubType = subType; body.Terraformable = rawData.ContainsKey("TerraformState") ? (string)rawData["TerraformState"] : string.Empty; body.Mass = (double)rawData["MassEM"]; } else { body.Type = BodyType.Belt; } OnBodyScan?.Invoke(this, body); break; case "FSSAllBodiesFound": OnAllBodiesFound?.Invoke(this, true); break; case "SAAScanComplete": OnDssScan?.Invoke(this, Parser.ParseJournalEvent <DssScan>(rawData)); break; case "StartJump": OnStartJump?.Invoke(this, Parser.ParseJournalEvent <StartJump>(rawData)); break; case "Shutdown": OnShutdown?.Invoke(this, true); break; default: return; } }
/// <summary> /// Set the OnStartJump delegate /// </summary> /// <param name="onStartJump"></param> public void SetOnStartJumpDelegate(OnStartJump onStartJump) { m_onStartJump = onStartJump; }