Esempio n. 1
0
 public void StartMonitor()
 {
     online_malfunction_time  = Random.Range(settings.Malfunction_min_online_time, settings.Malfunction_max_online_time);
     offline_malfunction_time = Random.Range(settings.Malfunction_min_offline_time, settings.Malfunction_max_offline_time);
     ir = gameObject.GetComponent <ItemResorce>();
     StartCoroutine(Malfunction());
 }
Esempio n. 2
0
    public void AddItemToRefiner(GameObject go)
    {
        float maxbin = this.settings.Items_max;

        if (go.tag == "material" && processing_bin.Count < maxbin)
        {
            ItemResorce      mr  = go.GetComponent <ItemResorce>();
            ModuleSystemInfo msi = go.GetComponent <ModuleSystemInfo>();
            if (mr != null && msi == null)
            {
                if (mr.GetNeedsRefining() == true)
                {
                    //Storing material
                    processing_bin.Add(mr.Item_type);
                    Destroy(go);
                }
                else
                {
                    UnityFunctions.ship_manager.Store_Material(mr.Item_type);
                    Destroy(go);
                }
            }
            else if (mr != null && msi != null)
            {
                //Storing a module
                UnityFunctions.ship_manager.Store_Module(go);
            }
        }
        else if (go.tag == "blueprint")
        {
            ItemResorce mr = go.GetComponent <ItemResorce>();
            UnityFunctions.ship_manager.Store_Material(mr.Item_type);
            Destroy(go);
        }
    }
Esempio n. 3
0
    public void SetData(GameObject go)
    {
        ItemResorce ir = go.GetComponent <ItemResorce>();

        Module_Resource = ir.GetResorceLocation();
        position        = go.transform.position;
        scale           = go.transform.localScale;
        rotation        = go.transform.rotation;
    }
Esempio n. 4
0
    public void SetInvetoryInfo()
    {
        //This will display the info
        ItemResorce ir = this.inv.item.GetComponent <ItemResorce>();

        InfoPaneSetText("txtTitle", this.inv.item_type.ToString().Replace("_", " "));
        InfoPaneSetText("txtDescription", ir.GetDescription());
        InfoPaneSetImg("Image", this.inv.GetComponent <Image>().sprite);
        InfoPaneSetInfo("txtInfo(0)", "Mass: " + module_info.settings.Mass.ToString());
        InfoPaneSetInfo("txtInfo(1)", "Power: " + module_info.settings.Power_usage.ToString());
        InfoPaneSetInfo("txtInfo(2)", "Cpu: " + Mathf.Abs(module_info.Get_Calculated_CPU_V()).ToString());
        InfoPaneSetInfo("txtInfo(3)", "Fuel: " + module_info.settings.Fuel_usage.ToString());
        InfoPaneSetInfo("txtInfo(4)", "Heat: " + module_info.settings.Heat_usage.ToString());
    }
Esempio n. 5
0
    public void ReadData(GameObject module)
    {
        ModuleSystemInfo sys = module.GetComponent <ModuleSystemInfo>();
        ItemResorce      ir  = module.GetComponent <ItemResorce>();

        //Save the upgrades
        foreach (Upgrade_Settings u in sys.upgrades)
        {
            upgrades.Add(u.Full_name);
        }
        module_name = ir.Item_Data.recipe_name;
        //id = module.name;
        item_type          = ir.Item_Data.item_type;
        mount_point        = sys.mount_point;
        health             = sys.current_health;
        order_layer        = sys.order_layer;
        is_in_storage      = sys.is_in_storage;
        enabled            = sys.active;
        is_internal_module = sys.is_internal_module;
    }
Esempio n. 6
0
    public void Run_Start()
    {
        module_ir = gameObject.GetComponent <ItemResorce>();
        GameObject go = GameObject.Find("Alerts");

        if (go != null)
        {
            this.alerts = go.GetComponent <Alert>();
        }
        total_upgrade_damage_resistance = 1;
        total_upgrade_power_usage       = 1;
        total_upgrade_fuel_usage        = 1;
        total_upgrade_heat_usage        = 1;
        total_upgrade_action_speed      = 1;
        total_upgrade_action_speed2     = 1;
        total_upgrade_damage            = 1;
        total_upgrade_speed             = 1;
        total_upgrade_range             = 1;
        total_upgrade_thrust            = 1;
        total_upgrade_ammount           = 1;
        total_upgrade_shield            = 1;
        total_mass = 1;
        foreach (Upgrade_Settings u in this.upgrades)
        {
            total_upgrade_power_usage       += u.Power_usage_p;
            total_upgrade_fuel_usage        += u.Fuel_usage_p;
            total_upgrade_heat_usage        += u.Heat_usage_p;
            total_upgrade_action_speed      += u.Action_speed_p;
            total_upgrade_action_speed2     += u.Action_speed2_p;
            total_upgrade_speed             += u.Speed_p;
            total_upgrade_range             += u.Range_p;
            total_upgrade_thrust            += u.Thrust_p;
            total_upgrade_ammount           += u.Ammount_p;
            total_upgrade_damage            += u.Damage_P;
            total_upgrade_shield            += u.Shield_P;
            total_upgrade_damage_resistance += u.Damage_resistance_P;
            total_mass += u.Mass_P;
        }
        max_shield = max_shield * total_upgrade_shield;
    }
Esempio n. 7
0
    public void Equip(GameObject obj)
    {
        if (modules_game_object == null)
        {
            modules_game_object = GameObject.Find("Modules");
        }
        ModuleSystemInfo module_info = obj.GetComponent <ModuleSystemInfo>();
        ItemResorce      ir          = obj.GetComponent <ItemResorce>();
        SpaceShipMovment controls    = gameObject.GetComponent <SpaceShipMovment>();

        obj.transform.parent = modules_game_object.transform;

        if (ir.Item_type == Enums.enum_item.module_command_module_type1)
        {
            command_module = obj.GetComponent <ShipModule>(); //First we need to store the item
            command_module.LoadMountPoints();
            MountPoint mp = command_module.mount_points[0];   //Set the max storage
            command_module.ShowMountPoints();
            max_storage_items = module_info.max_storage_items;
            mp.max_mounting   = max_storage_items;
        }
        else
        {
            MountPoint mp = command_module.mount_points[module_info.mount_point];
            obj.transform.position   = mp.transform.position;
            obj.transform.rotation   = mp.transform.rotation;
            module_info.mount_point  = mp.index;
            module_info.key_mappings = mp.key_mappings;
            module_info.SetRenderOrder(mp.render_order);
        }

        foreach (KeyMappingModel e in module_info.key_mappings)
        {
            controls.AddKeyBinding(e, obj);
        }

        module_info.IteminUse(module_info.is_internal_module);
    }
Esempio n. 8
0
    /// <summary>
    /// This function stores the modules
    /// </summary>
    /// <param name="module"></param>
    public void Store_Module(GameObject module)
    {
        if (Stored_Modules_game_object == null)
        {
            Stored_Modules_game_object = GameObject.Find("Stored_Modules");
        }
        ModuleSystemInfo module_info = module.GetComponent <ModuleSystemInfo>();

        if (module_info.is_command_module)
        {
            if (command_module != null)
            {
                command_module.HideMountPoints();
            }
            this.command_module = null;
        }
        ItemResorce ir = module.GetComponent <ItemResorce>();

        module_info.IteminStorage();
        module.transform.parent = Stored_Modules_game_object.transform;
        // if (!module_info.is_command_module) {
        //     inventory.Add(new InventoryManager.Item(ir.Item_type, module));
        // }
    }
Esempio n. 9
0
    public void SetItem(GameObject item)
    {
        Debug.Log("Adding item");
        //WriteLine(item);
        ItemResorce ir = item.GetComponent <ItemResorce>();

        sr             = GetComponent <Image>();
        this.item_type = ir.Item_type;

        ModuleSystemInfo module_sys = item.GetComponent <ModuleSystemInfo>();

        this.mount_type_util_side = module_sys.mount_type_util_side;
        this.mount_type_util_top  = module_sys.mount_type_util_top;
        this.mount_type_internal  = module_sys.is_internal_module;
        this.mount_type_thruster  = module_sys.mount_type_thruster;
        this.mount_type_engine    = module_sys.mount_type_engine;
        this.is_command_module    = module_sys.is_command_module;
        this.item = item;

        //SpriteRenderer isr = item.GetComponent<SpriteRenderer>();
        sr.sprite = module_sys.settings.Sprite;
        //module_sys.settings.ico
        //*************
        //Set the image
        //*************

        /* switch (this.item_type) {
         *   case Enums.enum_item.module_command_module_type1:
         *       sr.sprite = single_blaster;
         *       break;
         *
         *   case Enums.enum_item.module_single_blaster:
         *       sr.sprite = single_blaster;
         *       break;
         *
         *   case Enums.enum_item.module_double_blaster:
         *       sr.sprite = double_blaster;
         *       break;
         *
         *   case Enums.enum_item.module_mining_laser:
         *       sr.sprite = mining_laser;
         *       break;
         *
         *   case Enums.enum_item.module_main_engine:
         *       sr.sprite = main_engine;
         *       break;
         *
         *   case Enums.enum_item.module_thruster:
         *       sr.sprite = thruster;
         *       break;
         *
         *   case Enums.enum_item.module_refiner:
         *       sr.sprite = refiner;
         *       break;
         *
         *   case Enums.enum_item.module_tracktor_beam:
         *       sr.sprite = tracktor_beam;
         *       break;
         *
         *   case Enums.enum_item.module_power_reactor:
         *       sr.sprite = power;
         *       break;
         *
         *   default:
         *       sr.sprite = unknown;
         *       break;
         * }*/
    }
Esempio n. 10
0
    public GameObject Create_Module(ModuleSaveModel model)
    {
        //GameObject refab = Resources.Load(model.module_name.ToString()) as GameObject;
        Recipe r = UnityFunctions.GetItemTypeItem(model.item_type);

        if (r.preFab != null)
        {
            GameObject modules        = GameObject.Find("Modules");
            GameObject stored_modules = GameObject.Find("Stored_Modules");
            ShipModule sm             = modules.GetComponentInChildren <ShipModule>();

            GameObject obj_module = null;

            if (sm == null)
            {
                //Debug.Log("Loading Model");
                obj_module = Instantiate(r.preFab, gameObject.transform.position, gameObject.transform.rotation) as GameObject;
                sm         = obj_module.GetComponent <ShipModule>();
                if (sm != null)
                {
                    sm.LoadMountPoints();
                }
            }
            else
            {
                if (model.is_internal_module == false)
                {
                    MountPoint mp = null;
                    if (model.is_in_storage == false)
                    {
                        mp = sm.mount_points[0];
                    }
                    else
                    {
                        mp = sm.mount_points[model.mount_point - 1];
                    }

                    if (mp != null)
                    {
                        obj_module = Instantiate(r.preFab, mp.transform.position, mp.transform.rotation) as GameObject;
                    }
                }
                else
                {
                    obj_module = Instantiate(r.preFab, stored_modules.transform) as GameObject;
                }
            }

            //Need to add the keybindings
            if (obj_module == null)
            {
                return(null);
            }
            ModuleSystemInfo mod_sys = obj_module.GetComponent <ModuleSystemInfo>();
            ItemResorce      ir      = obj_module.GetComponent <ItemResorce>();
            //mod_sys.key_mappings = model.key_mappings;
            //mod_sys.id = model.id;
            mod_sys.current_health     = model.health;
            mod_sys.mount_point        = model.mount_point;
            mod_sys.order_layer        = model.order_layer;
            mod_sys.is_internal_module = model.is_internal_module;
            mod_sys.active             = model.enabled;
            mod_sys.upgrades.Clear();
            //Load upgrades
            foreach (string s in model.upgrades)
            {
                Upgrade_Settings upgrade = Resources.Load(s) as Upgrade_Settings;
                mod_sys.upgrades.Add(upgrade);
            }
            return(obj_module);
        }
        else
        {
            return(null);
        }
    }
Esempio n. 11
0
    private void OnCollisionEnter2D(Collision2D other)
    {
        Enums.enum_resorce_type rt = enum_resorce_type.asset;
        ItemResorce             ir = other.gameObject.GetComponent <ItemResorce>();

        if (ir != null)
        {
            rt = ir.GetResorceType();
        }
        if (rt == enum_resorce_type.material || rt == enum_resorce_type.pickup || rt == enum_resorce_type.blueprint)
        {
            //**********************************
            //We need to see if this is a pickup
            //**********************************
            if (ir != null && ir.Item_type == enum_item.pickup)
            {
                Recipe           item    = ir.Spawn_Any_Module_Upgrade_Material();
                InventoryManager storage = GetComponentInParent <InventoryManager>();
                if (item.resorce_type == enum_resorce_type.material)
                {
                    UnityFunctions.SendAlert(enum_status.Info, "Collected Item: " + item.item_type.ToString());
                    storage.Store_Material(item.item_type);
                    Destroy(other.gameObject);
                }
                else if (item.resorce_type == enum_resorce_type.module)
                {
                    //GameObject refab = Resources.Load(item.prefab_path) as GameObject;
                    GameObject refab = item.preFab;
                    if (refab == null)
                    {
                        UnityFunctions.SendAlert(enum_status.Info, "Null object");
                    }
                    GameObject obj_module = Instantiate(refab, gameObject.transform.position, gameObject.transform.rotation) as GameObject;
                    UnityFunctions.SendAlert(enum_status.Info, "Collected Module: " + obj_module.name.ToString());
                    ModuleSystemInfo ms = obj_module.GetComponent <ModuleSystemInfo>();
                    ms.SetStartHealth();
                    storage.Store_Module(obj_module);
                    Destroy(other.gameObject);
                }
            }
            else
            {
                //************************************************
                //Else must be a material this goes to the refiner
                //************************************************
                refiner = gameObject.transform.parent.GetComponentInChildren <Refiner>();
                if (refiner != null)
                {
                    //Need to be added to the refiner
                    refiner.AddItemToRefiner(other.gameObject);
                    if (ir.GetNeedsRefining() == true)
                    {
                        UnityFunctions.SendAlert(enum_status.Info, "Refining Material: " + other.gameObject.name.ToString());
                    }
                    else
                    {
                        UnityFunctions.SendAlert(enum_status.Info, "Collected: " + other.gameObject.name.ToString());
                    }
                }
            }
        }
        else
        {
            if (module_ir != null && module_ir.Item_type == enum_item.module_shield)
            {
                DamageShield();
            }
            else
            {
                DamageShip();
            }
        }
    }