public void OnComponentInstallation(Entity parentEntity, ComponentInstance componentInstance) { if (!componentInstance.HasAblity <WeaponState>()) { componentInstance.SetAbilityState <WeaponState>(new WeaponState()); } }
public static void SetWeaponToFC(ComponentInstance fireControlInstance, ComponentInstance weaponInstance) { if (fireControlInstance.HasAblity <FireControlAbilityState>() && weaponInstance.TryGetAbilityState <WeaponState>(out var wpnState)) { wpnState.FireControl = fireControlInstance; } else { throw new Exception("needs FireContInstanceAbilityDB on fireControlInstance, and WeaponStateDB on weaponInstance"); } }
public void OnComponentInstallation(Entity parentEntity, ComponentInstance componentInstance) { //we're cloning the design to the instance here. when we do another pass on the sensors we'll likely change this. if (!componentInstance.HasAblity <SensorReceverAbility>()) { componentInstance.SetAbilityState <SensorReceverAbility>(new SensorReceverAbility());//'this' should be the instance's designs db. } if (!parentEntity.HasDataBlob <SensorAbilityDB>()) { parentEntity.SetDataBlob(new SensorAbilityDB()); } //SensorProcessorTools.(componentInstance); }
public void OnComponentInstallation(Entity parentEntity, ComponentInstance componentInstance) { if (!parentEntity.HasDataBlob <FireControlAbilityDB>()) { parentEntity.SetDataBlob <FireControlAbilityDB>(new FireControlAbilityDB()); } var ability = parentEntity.GetDataBlob <FireControlAbilityDB>(); if (!componentInstance.HasAblity <FireControlAbilityState>()) { componentInstance.SetAbilityState <FireControlAbilityState>(new FireControlAbilityState()); } ability.FireControlInstances.Add(componentInstance); }
public void OnComponentInstallation(Entity parentEntity, ComponentInstance componentInstance) { var instancesDB = parentEntity.GetDataBlob <ComponentInstancesDB>(); if (!parentEntity.HasDataBlob <FireControlAbilityDB>()) { var fcdb = new FireControlAbilityDB(); parentEntity.SetDataBlob(fcdb); } if (!componentInstance.HasAblity <WeaponState>()) { componentInstance.SetAbilityState <WeaponState>(new WeaponState()); } }
public void OnComponentInstallation(Entity parentEntity, ComponentInstance componentInstance) { var instancesDB = parentEntity.GetDataBlob <ComponentInstancesDB>(); if (!parentEntity.HasDataBlob <FireControlAbilityDB>()) { var fcdb = new FireControlAbilityDB(); parentEntity.SetDataBlob(fcdb); } if (!componentInstance.HasAblity <WeaponState>()) { var wpnState = new WeaponState(componentInstance, this); wpnState.WeaponType = "Beam"; wpnState.WeaponStats = new (string name, double value, ValueTypeStruct valueType)[3];