public override void Update() { if (energy == null) { energy = new EnergyCore(maxEnergy); } }
public override void NetReceive(BinaryReader reader, bool lightReceive) { TagCompound tag = TagIO.Read(reader); energy = new EnergyCore(tag.GetAsInt("maxEnergy")); energy.addEnergy(tag.GetAsInt("energy")); }
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>(); } } } }
public EnergyCore GetEnergy() { if (energy == null) { energy = new EnergyCore(maxEnergy); } return(energy); }
public int GetMaxEnergyStored() { if (energy == null) { energy = new EnergyCore(maxEnergy); } return(energy.getMaxEnergyLevel()); }
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); }
public TerraFurnaceEntity() { _inputItem = new Ref <Item>(new Item()); _outputItem = new Ref <Item>(new Item()); inputItem.TurnToAir(); outputItem.TurnToAir(); energy = new EnergyCore(50000); }
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); }
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; } }
/// <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; } }
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)); }
public override void LoadEntity(TagCompound tag) { energy = new EnergyCore(maxEnergy); }
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)); }
// Use this for initialization void Start() { inventory = this.gameObject.GetComponent <Inventory>(); energyCore = this.gameObject.GetComponent <EnergyCore>(); }
public override void LoadEntity(TagCompound tag) { energy = new EnergyCore(GetMaxEnergyStored()); }
public UIEnergyBar(EnergyCore boundEnergyCore) { this.BoundEnergyCore = boundEnergyCore; }
// Use this for initialization void Start() { inventory = player.GetComponent <Inventory>(); energyCore = player.GetComponent <EnergyCore>(); }
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)); }
public sealed override void Load(TagCompound tag) { energy = new EnergyCore(0); LoadEntity(tag); energy.addEnergy(tag.GetAsInt("energy")); }