Esempio n. 1
0
        //-----------------------------------------------------------------------------------------------
        // Jump - call this to attempt a jump on the monster
        //-----------------------------------------------------------------------------------------------
        public void Jump()
        {
            if (_isJumping)
            {
                return;
            }

            _isJumping         = true;
            _monsterVelocity.Y = -.03f;
            OnStartJump?.Invoke();
        }
Esempio n. 2
0
        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;
            }
        }
Esempio n. 3
0
 /// <summary>
 /// Set the OnStartJump delegate
 /// </summary>
 /// <param name="onStartJump"></param>
 public void SetOnStartJumpDelegate(OnStartJump onStartJump)
 {
     m_onStartJump = onStartJump;
 }