Ejemplo n.º 1
0
    public void Add(IThruster thruster)
    {
        var orientation      = ((IBlock)thruster).blockBaseClass.orientation;
        var tempThrustVector = thrustVectors[orientation];

        tempThrustVector.AddToGroup(thruster);
        thrustVectors[orientation] = tempThrustVector;
    }
Ejemplo n.º 2
0
    public void Remove(IThruster thruster)
    {
        var orientation      = ((IBlock)thruster).blockBaseClass.orientation;
        var tempThrustVector = thrustVectors[orientation];

        tempThrustVector.RemoveFromGroup(thruster);
        thrustVectors[orientation] = tempThrustVector;
    }
Ejemplo n.º 3
0
        private ThrusterAxis SelectAxis(IThruster thruster, out bool positiveAxisComponent)
        {
            var block     = thruster.Component.block;
            var direction = block.BlueprintBlock.Direction;

            positiveAxisComponent = direction <= 1;
            return(direction % 2 == 0 ? xAxis : yAxis);
        }
Ejemplo n.º 4
0
        private ThrusterGroup SelectGroup(IThruster thruster)
        {
            var rotation = GetDirection(thruster);

            try {
                return(thrusterDict[rotation]);
            }
            catch (KeyNotFoundException) {
                Debug.LogWarning(
                    $"thruster {thruster} with rotation {rotation} cannot find a corresponding thruster group");
                return(null);
            }
        }
Ejemplo n.º 5
0
    // Start is called before the first frame update
    void Start()
    {
        if (mThruster == null)
        {
            mThruster = GetComponent <IThruster>();
        }

        if (mTurner == null)
        {
            mTurner = GetComponent <ITurner>();
        }

        if (mShooter == null)
        {
            mShooter = GetComponent <IShooter>();
        }
    }
Ejemplo n.º 6
0
 public void RemoveFromGroup(IThruster thruster)
 {
     thrusterMembers.Remove(thruster);
     thrust       -= thruster.thrust;
     _consumption -= thruster.powerConsumption;
 }
Ejemplo n.º 7
0
 public void AddToGroup(IThruster thruster)
 {
     thrusterMembers.Add(thruster);
     thrust       += thruster.thrust;
     _consumption += thruster.powerConsumption;
 }
Ejemplo n.º 8
0
 public void Unregister(IThruster thruster, bool positiveComponent)
 {
     SelectGroup(positiveComponent).Remove(thruster);
 }
Ejemplo n.º 9
0
 public void Register(IThruster thruster, bool positiveComponent)
 {
     SelectGroup(positiveComponent).Add(thruster);
 }
Ejemplo n.º 10
0
 public void Unregister(IThruster thruster)
 {
     SelectAxis(thruster, out var component).Unregister(thruster, component);
 }
Ejemplo n.º 11
0
 public void SetThruster(IThruster t)
 {
     mThruster = t;
 }
 private void Start()
 {
     _thruster = Thruster.GetComponent <IThruster>();
 }
Ejemplo n.º 13
0
 private int GetDirection(IThruster thruster)
 {
     return(thruster.Component.block.anchoredBlueprintBlock.blueprintBlock.Direction);
 }
Ejemplo n.º 14
0
 public void Unregister(IThruster thruster)
 {
     SelectGroup(thruster)?.Remove(thruster);
 }
Ejemplo n.º 15
0
 public void Register(IThruster thruster)
 {
     SelectGroup(thruster)?.Add(thruster);
 }