Ejemplo n.º 1
0
 public override void Update()
 {
     if (energy == null)
     {
         energy = new EnergyCore(maxEnergy);
     }
 }
Ejemplo n.º 2
0
        public override void NetReceive(BinaryReader reader, bool lightReceive)
        {
            TagCompound tag = TagIO.Read(reader);

            energy = new EnergyCore(tag.GetAsInt("maxEnergy"));
            energy.addEnergy(tag.GetAsInt("energy"));
        }
Ejemplo n.º 3
0
        public override void Update()
        {
            int i = Position.X + Main.rand.Next(-drainRange, drainRange);
            int j = Position.Y + Main.rand.Next(-drainRange, drainRange);

            Tile tile = Main.tile[i, j];

            if (energy == null)
            {
                energy = new EnergyCore(maxEnergy);
            }

            if (boundCapacitor != null)
            {
                boundCapacitor.energy.addEnergy(energy.ConsumeEnergy(boundCapacitor.maxTransferRate));
            }

            if (tile != null && tile.type != ModContent.TileType <EnergyCollector>() || tile.type != ModContent.TileType <BasicTECapacitor>() || tile.type != ModContent.TileType <TerraWaste>() || tile.type != ModContent.TileType <TerraFurnace>() && !energy.isFull())
            {
                if (Main.tile[i, j].type == TileID.LunarOre)
                {
                    energy.addEnergy(50);
                    //Main.tile[i, j].type = (ushort)ModContent.TileType<TerraWaste>();
                }

                if (Main.tile[i, j].active() && Main.tile[i, j].type != (ushort)ModContent.TileType <TerraWaste>())
                {
                    energy.addEnergy(5);
                    if (Main.rand.Next(0, 1000) == 5)
                    {
                        //Main.tile[i, j].type = (ushort)ModContent.TileType<TerraWaste>();
                    }
                }
            }
        }
Ejemplo n.º 4
0
 public EnergyCore GetEnergy()
 {
     if (energy == null)
     {
         energy = new EnergyCore(maxEnergy);
     }
     return(energy);
 }
Ejemplo n.º 5
0
 public int GetMaxEnergyStored()
 {
     if (energy == null)
     {
         energy = new EnergyCore(maxEnergy);
     }
     return(energy.getMaxEnergyLevel());
 }
Ejemplo n.º 6
0
        public FurnaceUI(Ref <Item> input, Ref <Item> output, EnergyCore energyCore, string furnaceName)
        {
            this._input       = new InputOutputSlot(input, Main.inventoryBack10Texture);
            this._output      = new InputOutputSlot(output, Main.inventoryBack10Texture);
            this._furnaceName = furnaceName;

            _energyBar = new UIEnergyBar(energyCore);
        }
Ejemplo n.º 7
0
        public TerraFurnaceEntity()
        {
            _inputItem  = new Ref <Item>(new Item());
            _outputItem = new Ref <Item>(new Item());
            inputItem.TurnToAir();
            outputItem.TurnToAir();

            energy = new EnergyCore(50000);
        }
Ejemplo n.º 8
0
        public new int Place(int i, int j)
        {
            ModTileEntity modTileEntity = ModTileEntity.ConstructFromBase(this);

            modTileEntity.Position                        = new Point16(i, j);
            modTileEntity.ID                              = TileEntity.AssignNewID();
            modTileEntity.type                            = (byte)this.Type;
            TileEntity.ByID[modTileEntity.ID]             = (TileEntity)modTileEntity;
            TileEntity.ByPosition[modTileEntity.Position] = (TileEntity)modTileEntity;
            energy = new EnergyCore(maxEnergy);
            return(modTileEntity.ID);
        }
Ejemplo n.º 9
0
Archivo: Wing.cs Proyecto: xdrie/Sor
        public override void Initialize()
        {
            base.Initialize();

            // set up ship sprite
            spriteRenderer.Color = NGame.context.assets.paletteWhite;

            mind.attach(this); // attach mind
            body   = Entity.AddComponent(new WingBody());
            hitbox = Entity.AddComponent(new BoxCollider(-6, -10, 12, 18)
            {
                Tag = Constants.Colliders.SHIP
            });
            Flags.SetFlagExclusive(ref hitbox.PhysicsLayer, Constants.Physics.LAYER_DEFAULT);
            Flags.SetFlag(ref hitbox.CollidesWithLayers, Constants.Physics.LAYER_DEFAULT);
            core = Entity.AddComponent(new EnergyCore(10_000));
            // add pips
            pips = Entity.AddComponent <Pips>();
            pips.spriteRenderer.LocalOffset = new Vector2(0, 14);

            // set body properties
            changeClass(WingClass.Wing); // change to default class

            // pips setup
            var pipNumber = 1 + Random.NextInt(5);

            pips.setPips(pipNumber, Pips.green);

            var ribbon = Entity.AddComponent(new TrailRibbon(40)
            {
                StartColor   = new Color(175, 158, 180, 255),
                EndColor     = new Color(175, 158, 180, 50),
                RibbonRadius = 8
            });

            ribbon.StopEmitting();
            ribbon.Enabled = false;

            // var trail = Entity.AddComponent(new SpriteTrail(animator) {
            //     InitialColor = new Color(200, 200, 200),
            //     MinDistanceBetweenInstances = 40,
            //     MaxSpriteInstances = 10,
            //     FadeDelay = 0.5f,
            // });

            if (name == null && Entity.Name != null)
            {
                name = Entity.Name;
            }
        }
Ejemplo n.º 10
0
    /// <summary>
    /// Initialize the energy cores in the given list if any change to the amout of cores
    /// or shape of cores have occured.
    /// Also Give energy cores new random position and random rotation.
    /// </summary>
    void InitializeEnergyCores(GameObject corePrefab, List <EnergyCore> list, int nbrOfCores, EnergyCoreController.CoreShape shape)
    {
        bool amountChanged = list.Count != nbrOfCores;
        bool shapeChanged  = list.Count == 0 || list[0].coreShape != shape;

        if (amountChanged || shapeChanged)
        {
            foreach (var core in list)
            {
                core.coreRb = null;
                Destroy(core.coreGO);
            }

            list.Clear();
            for (int i = 0; i < nbrOfCores; i++)
            {
                var go   = GameObject.Instantiate(corePrefab, transform);
                var core = new EnergyCore();
                core.coreGO = go;
                core.coreRb = go.GetComponent <Rigidbody>();
                list.Add(core);
            }
        }

        foreach (var core in list)
        {
            // Physics by default updates Transform changes only during Fixed Update which makes Physics.CheckBox
            // to not work correctly when Transform changes and call to Physics.CheckBox are made at the same frame.
            // Physics.SyncTransforms() updates the Transforms to the physics engine and Physics.CheckBox works
            core.coreGO.SetActive(true);
            Physics.SyncTransforms();
            var randomRotY = UnityEngine.Random.Range(-180f, 180f);
            core.coreGO.transform.rotation = Quaternion.Euler(new Vector3(0, randomRotY, 0));
            core.coreGO.transform.position = GetRandomSpawnPosInArena();
            core.coreRb.velocity           = Vector3.zero;
            core.coreRb.angularVelocity    = Vector3.zero;
        }
    }
Ejemplo n.º 11
0
 public override int Hook_AfterPlacement(int i, int j, int type, int style, int direction)
 {
     energy          = new EnergyCore(maxEnergy);
     maxTransferRate = 200;
     return(Place(i - 1, j - 1));
 }
Ejemplo n.º 12
0
 public override void LoadEntity(TagCompound tag)
 {
     energy = new EnergyCore(maxEnergy);
 }
Ejemplo n.º 13
0
 public override int Hook_AfterPlacement(int i, int j, int type, int style, int direction)
 {
     energy = new EnergyCore(50000);
     return(Place(i - 3, j - 2));
 }
Ejemplo n.º 14
0
 // Use this for initialization
 void Start()
 {
     inventory  = this.gameObject.GetComponent <Inventory>();
     energyCore = this.gameObject.GetComponent <EnergyCore>();
 }
Ejemplo n.º 15
0
 public override void LoadEntity(TagCompound tag)
 {
     energy = new EnergyCore(GetMaxEnergyStored());
 }
Ejemplo n.º 16
0
 public UIEnergyBar(EnergyCore boundEnergyCore)
 {
     this.BoundEnergyCore = boundEnergyCore;
 }
Ejemplo n.º 17
0
 // Use this for initialization
 void Start()
 {
     inventory  = player.GetComponent <Inventory>();
     energyCore = player.GetComponent <EnergyCore>();
 }
Ejemplo n.º 18
0
 public override int Hook_AfterPlacement(int i, int j, int type, int style, int direction)
 {
     InitializeItemSlot();
     energy = new EnergyCore(maxEnergy);
     return(Place(i - 1, j - 1));
 }
Ejemplo n.º 19
0
 public sealed override void Load(TagCompound tag)
 {
     energy = new EnergyCore(0);
     LoadEntity(tag);
     energy.addEnergy(tag.GetAsInt("energy"));
 }