internal void AttemptAddToPackage(int programRecievingPluginIndex) { MissionStatus missionPrep = MissionStatus.instance; if (missionPrep.selectedPrograms[programRecievingPluginIndex]) { PlayerProgram programRecievingPlugin = missionPrep.selectedPrograms[programRecievingPluginIndex].GetComponent <PlayerProgram>(); if (CanAddPluginToProgram(programRecievingPluginIndex, programRecievingPlugin)) { missionPrep.selectedPlugins[programRecievingPluginIndex].Add(gameObject); missionPrep.kbBudget -= size; missionPrep.SetPlugin(programRecievingPluginIndex, this); } } }
internal void SetSchema(GameObject item) { this.item = item; PlayerProgram program = item.GetComponent <PlayerProgram>(); if (program) { icon.sprite = item.GetComponentInChildren <SpriteRenderer>().sprite; schemaName.text = item.name + " [Program]"; size.text = "size: " + program.GetSize().ToString(); speed.text = "speed: " + program.GetSpeed().ToString(); sight.text = "sight: " + program.GetSight().ToString(); power.text = "power: " + program.GetPower().ToString(); range.text = "range: " + program.GetRange().ToString(); breach.text = "breach: " + program.GetBreach().ToString(); keywords.text = ""; foreach (string keyword in program.GetKeywords()) { keywords.text += keyword + "\n"; } } else { Plugin plugin = item.GetComponent <Plugin>(); { icon.sprite = plugin.icon; schemaName.text = item.name + " [Plugin]"; size.text = "size: +" + plugin.size.ToString(); speed.text = "speed: +" + plugin.speed.ToString(); sight.text = "sight: +" + plugin.sight.ToString(); power.text = "power: +" + plugin.power.ToString(); range.text = "range: +" + plugin.range.ToString(); breach.text = "breach: +" + plugin.breach.ToString(); keywords.text = ""; foreach (string keyword in plugin.keywords) { keywords.text += keyword + "\n"; } } } }
private bool CanAddPluginToProgram(int programRecievingPluginIndex, PlayerProgram programRecievingPlugin) { return(MissionStatus.instance.kbBudget >= size && programRecievingPlugin.pluginSlots > MissionStatus.instance.selectedPlugins[programRecievingPluginIndex].Count && !MissionStatus.instance.selectedPlugins[programRecievingPluginIndex].Contains(gameObject)); }