示例#1
0
    private void UpgradeItem(string panel_name, Upgrade_Settings upgrade)
    {
        GameObject go = GetChildWithName(GetChildWithName(gameObject, "UpgradeSubPanel"), panel_name);

        if (go != null)
        {
            go.GetComponent <UpgradeItem>().SetItem(upgrade);
        }
    }
示例#2
0
 public void SetItem(Upgrade_Settings item)
 {
     this.item = item;
     sr        = GetComponent <Image>();
     if (sr != null && item != null)
     {
         sr.sprite = item.Sprite;
     }
 }
示例#3
0
    public void LoadPlayer()
    {
        UnityFunctions.PopulateItemResorces();

        PlayerSaveModel player_model   = PlayerSaveModel.LoadPlayer();
        ShipManagment   ship_mamanmger = gameObject.GetComponent <ShipManagment>();

        ship_mamanmger.fuel    = player_model.fuel;
        ship_mamanmger.battery = player_model.battery;

        if (is_config == false)
        {
            transform.position = player_model.position;
            transform.rotation = player_model.roation;
        }
        else
        {
            stored_pos      = player_model.position;
            stored_rotation = player_model.roation;
        }

        //*************
        //Load invetory
        //*************
        InventoryManager inv = gameObject.GetComponent <InventoryManager>();

        inv.inventory.Clear();
        if (inv != null && player_model.inventory != null)
        {
            foreach (Enums.enum_item e in player_model.inventory)
            {
                //if (UnityFunctions.GetItemTypeResorceType(e) == Enums.enum_resorce_type.blueprint) {
                //inv.blueprints.Add(new InventoryManager.Item(e));
                //} else {
                inv.inventory.Add(new InventoryManager.Item(e));
                // }
            }
        }

        //****************
        //Load blue prints
        //****************
        //inv.blueprints.Clear();
        if (inv != null && player_model.blueprints != null)
        {
            foreach (Enums.enum_item e in player_model.blueprints)
            {
                inv.blueprints.Add(new InventoryManager.Item(e));
            }
        }


        //*****************
        //Load the upgrades
        //*****************
        ship_mamanmger.stored_upgrades.Clear();
        foreach (string e in player_model.stored_upgrades)
        {
            Upgrade_Settings refab = Resources.Load(e) as Upgrade_Settings;
            ship_mamanmger.stored_upgrades.Add(refab);
        }

        //********************************************
        //Loop through the modules in our player model
        //********************************************
        foreach (ModuleSaveModel module in player_model.modules)
        {
            //****************
            //Create our modue
            //****************
            GameObject new_module = Create_Module(module);
            if (new_module != null)
            {
                //************
                //Add upgrades
                //************
                ship_mamanmger.Equip(new_module);
            }
        }

        //********************************************
        //Loop through the modules in our player model
        //********************************************

        foreach (ModuleSaveModel module in player_model.stored_modules)
        {
            //****************
            //Create our modue
            //****************
            GameObject new_module = null;
            try {
                new_module = Create_Module(module);
            } catch (Exception ex) {
                Debug.Log(ex);
            }
            if (new_module != null)
            {
                ship_mamanmger.Store_Module(new_module);
            }
        }
    }
示例#4
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);
        }
    }