private void CreateRecord(LivingHealthBehaviour mob, PlayerScript playerScript) { var record = new CloningRecord(); record.UpdateRecord(mob, playerScript); cloningRecords.Add(record); }
private void CreateRecord(LivingHealthMasterBase livingHealth, PlayerScript playerScript) { var record = new CloningRecord(); record.UpdateRecord(livingHealth, playerScript); cloningRecords.Add(record); }
private IEnumerator ServerProcessCloning(CloningRecord record) { yield return(WaitFor.Seconds(10f)); statusString = "Cloning process complete."; if (console) { console.UpdateDisplay(); } if (record.mind.IsOnline()) { var playerBody = PlayerSpawn.ServerClonePlayer(record.mind, transform.position.CutToInt()).GetComponent <LivingHealthMasterBase>(); void ApplyDamage() { ApplyCloningDamage(playerBody); } playerBody.OnFullyInitialised(ApplyDamage); //GameObject //Do cloning damage //Initialisation order } statusSync = CloningPodStatus.Empty; }
private IEnumerator ServerProcessCloning(CloningRecord record) { yield return(WaitFor.Seconds(10f)); statusString = "Cloning process complete."; if (console) { console.UpdateDisplay(); } if (record.mind.IsOnline()) { PlayerSpawn.ServerClonePlayer(record.mind, transform.position.CutToInt()); } statusSync = CloningPodStatus.Empty; }
private IEnumerator ServerProcessCloning(CloningRecord record) { yield return(WaitFor.Seconds(10f)); statusString = "Cloning process complete."; if (console) { console.UpdateDisplay(); } if (record.mind.IsOnline()) { var playerBody = PlayerSpawn.ServerClonePlayer(record.mind, transform.position.CutToInt()).GetComponent <LivingHealthMasterBase>(); playerBody.ApplyDamageAll(this.gameObject, LimbCloningDamage, AttackType.Internal, DamageType.Clone, false); } statusSync = CloningPodStatus.Empty; }
public void ServerTryClone(CloningRecord record) { if (cloningPod && cloningPod.CanClone()) { var status = record.mind.GetCloneableStatus(record.mobID); if (status == CloneableStatus.Cloneable) { cloningPod.ServerStartCloning(record); cloningRecords.Remove(record); } else { cloningPod.UpdateStatusString(status); } } }
public void RemoveRecord(CloningRecord specificRecord) { cloningRecords.Remove(specificRecord); }
public void ServerStartCloning(CloningRecord record) { statusSync = CloningPodStatus.Cloning; statusString = "Cloning cycle in progress."; StartCoroutine(ServerProcessCloning(record)); }