Пример #1
0
        private void UpdateDatabaseVersion()
        {
            var versionField     = new VoidField <string>("Version");
            var updateVersionCmd = ((Database)Storage).GetCommand(Query.Update("Settings").Set(versionField), null, new FieldList(), new FieldList(versionField));

            updateVersionCmd.ExecuteNonQuery(new SerializationItemCollection(new[] { new SerializationItem(versionField, LatestVersion.ToString()) }));
        }
Пример #2
0
        private void TryUpdateDatabaseVersion()
        {
            var versionField  = new VoidField <string>("Version");
            var getVersionCmd = ((Database)Storage).GetCommand(Query.Select(versionField).From("Settings"), null, new FieldList(), new FieldList());

            var dbVersion = getVersionCmd.ExecuteScalar <Version>(new SerializationItemCollection());

            if (dbVersion.CompareTo(LatestVersion) == 0)
            {
                return;
            }

            ConfigManager
            .GetService <LogManager>()
            .Application
            .AddInfoLog(LocalizedStrings.Str3628Params.Put(dbVersion, TypeHelper.ApplicationName, LatestVersion));

            var database      = (Database)Storage;
            var conStrBuilder = new DbConnectionStringBuilder {
                ConnectionString = database.ConnectionString
            };

            try
            {
                var path = (string)conStrBuilder.Cast <KeyValuePair <string, object> >().ToDictionary(StringComparer.InvariantCultureIgnoreCase).TryGetValue("Data Source");

                if (path == null)
                {
                    throw new InvalidOperationException(LocalizedStrings.Str2895);
                }

                var targetPath = "{0}.bak.{1:yyyyMMdd}".Put(path, DateTime.Now);

                if (File.Exists(targetPath))
                {
                    File.Delete(targetPath);
                }

                File.Move(path, targetPath);
                Resources.StockSharp.Save(path);

                UpdateDatabaseVersion();
            }
            catch (Exception ex)
            {
                ex.LogError(LocalizedStrings.Str3629Params);

                GuiDispatcher.GlobalDispatcher.AddSyncAction(() =>
                {
                    new MessageBoxBuilder()
                    .Text(LocalizedStrings.Str3630Params.Put(Environment.NewLine, ex.Message))
                    .Warning()
                    .Show();

                    Application.Current.Shutdown(-1);
                });
            }
        }
Пример #3
0
    public void ResetLocation()
    {
        VoidField vf = GameObject.Instantiate <VoidField>(VoidExplosion, this.transform.position, VoidExplosion.transform.rotation);

        vf.Duration = .5f;
        this.transform.SetPositionAndRotation(OriginalPosition, OriginalRotation);
        vf          = GameObject.Instantiate <VoidField>(VoidExplosion, OriginalPosition, VoidExplosion.transform.rotation);
        vf.Duration = .5f;
        //Teleport sound
    }
Пример #4
0
    //public ParticleSystem ImpactParticles;
    public void explode()
    {
        if (!Live)
        {
            return;
        }
        Live = false;

        ParticleExplosion.Play(true);
        if (Astronaut.AggressionLevel > 0)
        {
            VoidField vf = GameObject.Instantiate <VoidField>(VoidFieldPrefab, this.transform.position, VoidFieldPrefab.transform.rotation);
            vf.Duration    = (2f + (.5f * Astronaut.AggressionLevel));
            vf.ForceFactor = (1f + (.2f * Astronaut.AggressionLevel));
        }

        Remove();
    }
 public override void Kill()
 {
     if (!Alive)
     {
         return;
     }
     Alive = false;
     //ReleaseSpores(false);
     //ReleaseSpores(false);
     Astronaut.PlayKillSound(1);
     deathKnockback();
     Astronaut.TheAstronaut.dropResistance(.4f, this.transform.position, Astronaut.Element.Void);
     if (Astronaut.AggressionLevel > 1)
     {
         VoidField vf = GameObject.Instantiate <VoidField>(VoidExplosion, this.transform.position, VoidExplosion.transform.rotation);
         vf.Duration = (2f + (4f * Astronaut.AggressionLevelF));
     }
 }
    public void ResetLocation()
    {
        Debug.Log("Crawler return");
        MoveDirection = 0;
        TeleportEffect.transform.position = this.transform.position;
        TeleportEffect.Emit(10);
        TeleportEffect.transform.position = OriginalPosition;
        TeleportEffect.Emit(10);
        VoidField vf = GameObject.Instantiate <VoidField>(VoidExplosion, this.transform.position, VoidExplosion.transform.rotation);

        vf.Duration = .5f;
        this.transform.SetPositionAndRotation(OriginalPosition, OriginalRotation);
        vf          = GameObject.Instantiate <VoidField>(VoidExplosion, OriginalPosition, VoidExplosion.transform.rotation);
        vf.Duration = .5f;


        //Teleport sound
    }
Пример #7
0
 public void onImpact()
 {
     if (Astronaut.AggressionLevel > 1)
     {
         //Create a Void Field
         VoidField vf = GameObject.Instantiate <VoidField>(MyVoidField, null);
         vf.Activate();
         vf.StartTime = Time.time;
         vf.Duration  = 4f;
     }
     if (Astronaut.AggressionLevel >= 3)
     {
         //Seismic Pull
         Astronaut plr = Astronaut.TheAstronaut;
         Vector3   dif = (plr.transform.position - this.transform.position);
         Astronaut.TheAstronaut.MyRigidbody.velocity = (-dif * 1f);
         SeismicQuakeParticles.Play();
     }
     Astronaut.TheAstronaut.addCamShake(2f * Astronaut.AggressionLevelF, 1f, 1f, .5f, 1f);
 }