//Returns clinet progression for Multiplayer public static ClinetEnemyProgression GetCP(BoltEntity e) { if (e == null) { return(null); } if (clinetProgressions.ContainsKey(e)) { ClinetEnemyProgression cp = clinetProgressions[e]; if (Time.time <= cp.creationTime + ClinetEnemyProgression.LifeTime) { return(cp); } else { clinetProgressions.Remove(e); return(null); } } if (!GameSetup.IsMpClient) { return(new ClinetEnemyProgression(e)); } if (Time.time > LastAskedTime + AskFrequency) { Network.NetworkManager.SendLine("EE" + e.networkId.PackedValue.ToString() + ";", Network.NetworkManager.Target.OnlyServer); LastAskedTime = Time.time; } return(null); }
//Returns clinet progression for Singleplayer public static ClinetEnemyProgression GetCP(Transform tr) { if (spProgression.ContainsKey(tr.root)) { ClinetEnemyProgression cp = spProgression[tr.root]; if (Time.time <= cp.creationTime + ClinetEnemyProgression.LifeTime) { return(cp); } else { spProgression.Remove(tr.root); } } else { EnemyProgression p = tr.root.GetComponent <EnemyProgression>(); if (p == null) { p = tr.root.GetComponentInChildren <EnemyProgression>(); } if (p != null) { ClinetEnemyProgression cpr = new ClinetEnemyProgression(tr.root); spProgression.Add(tr.root, cpr); return(cpr); } else { { mutantScriptSetup setup = tr.root.GetComponentInChildren <mutantScriptSetup>(); if (setup == null) { setup = tr.root.GetComponent <mutantScriptSetup>(); } if (setup != null) { p = setup.health.gameObject.AddComponent <EnemyProgression>(); if (p != null) { p._Health = setup.health; p._AI = setup.ai; p.entity = setup.GetComponent <BoltEntity>(); p.setup = setup; } } } } } return(null); }
//Returns clinet progression for Multiplayer public static ClinetEnemyProgression GetCP(BoltEntity e) { if (e == null) { return(null); } if (clinetProgressions.ContainsKey(e)) { ClinetEnemyProgression cp = clinetProgressions[e]; if (Time.time <= cp.creationTime + ClinetEnemyProgression.LifeTime) { return(cp); } else { clinetProgressions.Remove(e); return(null); } } if (!GameSetup.IsMpClient) { return(new ClinetEnemyProgression(e)); } if (Time.time > LastAskedTime + AskFrequency) { using (System.IO.MemoryStream answerStream = new System.IO.MemoryStream()) { using (System.IO.BinaryWriter w = new System.IO.BinaryWriter(answerStream)) { w.Write(6); w.Write(e.networkId.PackedValue); w.Close(); } ChampionsOfForest.Network.NetworkManager.SendLine(answerStream.ToArray(), ChampionsOfForest.Network.NetworkManager.Target.OnlyServer); answerStream.Close(); } LastAskedTime = Time.time; } return(null); }