Ejemplo n.º 1
0
 internal void RemoveWeapons(Guid[] wpnIds)
 {
     ComponentInstance[] wpnInstances = new ComponentInstance[wpnIds.Length];
     for (int i = 0; i < wpnIds.Length; i++)
     {
         wpnInstances[i] = OwningEntity.GetDataBlob <ComponentInstancesDB>().AllComponents[wpnIds[i]];
     }
     RemoveWeapons(wpnInstances);
 }
Ejemplo n.º 2
0
    public override void Perform()
    {
        Vector2Int newPosition = Grid.instance
                                 .EnumerateFloor()
                                 .Where(Grid.instance.canOccupy)
                                 .ToList()
                                 .GetRandom();

        OwningEntity.SetCoordinates(newPosition);
    }
Ejemplo n.º 3
0
 public void ReceiveCharge(int amount)
 {
     CurrentCharge += amount;
     while (CurrentCharge >= ThresholdFinal)
     {
         OnTriggered?.Invoke();
         OwningEntity.RuneActionTriggered(Text());
         Perform();
         CurrentCharge -= ThresholdFinal;
     }
 }
Ejemplo n.º 4
0
        public KeplerElements GetElements()
        {
            // if there is not a change in Dv then the kepler elements wont have changed, it might be better to store them?
            double myMass   = OwningEntity.GetDataBlob <MassVolumeDB>().MassDry;
            var    sgp      = OrbitMath.CalculateStandardGravityParameterInM3S2(myMass, ParentMass);
            var    pos      = OwningEntity.GetDataBlob <PositionDB>().RelativePosition_m;
            var    dateTime = OwningEntity.StarSysDateTime;
            var    ke       = OrbitMath.KeplerFromPositionAndVelocity(sgp, pos, CurrentVector_ms, dateTime);

            return(ke);
        }
Ejemplo n.º 5
0
        private void Deserialized(StreamingContext context)
        {
            var instancesDB = OwningEntity.GetDataBlob <ComponentInstancesDB>();

            if (instancesDB.TryGetComponentsByAttribute <BeamFireControlAtbDB>(out var fireControlInstances))
            {
                foreach (var fc in fireControlInstances)
                {
                    FireControlInstances.Add(fc);
                }
            }
            if (instancesDB.TryGetComponentsByAttribute <GenericBeamWeaponAtbDB>(out var weaponInstances))
            {
                foreach (var gun in weaponInstances)
                {
                    WeaponInstances.Add(gun);
                }
            }
        }
 public override void Perform()
 {
     OwningEntity.MaxHitPoints += 10;
     OwningEntity.Heal(10);
 }
Ejemplo n.º 7
0
 public override void Perform()
 {
     OwningEntity.Heal(30);
 }
Ejemplo n.º 8
0
 public override void Perform()
 {
     OwningEntity.TakeDamage(3);
     OwningEntity.AddedDamage += 12;
     isActive = true;
 }
Ejemplo n.º 9
0
 internal void RemoveWeapons(Guid wpnId)
 {
     ComponentInstance[] wpnInstances = new ComponentInstance[1];
     wpnInstances[0] = OwningEntity.GetDataBlob <ComponentInstancesDB>().AllComponents[wpnId];
     RemoveWeapons(wpnInstances);
 }
Ejemplo n.º 10
0
 public override void Perform()
 {
     OwningEntity.Block++;
     OwningEntity.TakeDamage(5);
     OwningEntity.MaxHitPoints -= 5;
 }