Exemple #1
0
    protected bool ClearPropertyFrom(GameObject obj)
    {
        PropertyManager objPropertyManager = obj.GetComponent <PropertyManager>();

        if (objPropertyManager == null)
        {
            return(false);
        }
        return(objPropertyManager.ClearProperty());
    }
Exemple #2
0
    public void SavePlayerDataExp(GameObject playerObj)
    {
        GameObject playerStaticCopy = CheckPlayerDataStoraged(playerObj);

        if (playerStaticCopy == null)
        {
            //didn't save before. Create a static copy.
            //Debug.Log(GetType().Name + ": first time to save " + playerObj.name + ".");
            playerStaticCopy = new GameObject(PlayerDataStorageName(playerObj.name));
            DontDestroyOnLoad(playerStaticCopy);
            playerStaticCopy.SetActive(false);
            playerStaticCopy.transform.SetParent(transform);
            playerStaticCopySeries.Add(playerStaticCopy);
        }
        //else Debug.Log(GetType().Name + ": not the first time to save " + playerObj.name + ".");
        //Data Copy. DEV NOTE: could use interface and function to make a better / simpler code?
        Player d_player = playerStaticCopy.GetComponent <Player>();

        if (d_player == null)
        {
            d_player = playerStaticCopy.AddComponent <Player>();
        }

        Player o_player = playerObj.GetComponent <Player>();

        d_player.CopyData(o_player);

        PropertyManager d_propertyManager = playerStaticCopy.GetComponent <PropertyManager>();

        if (d_propertyManager == null)
        {
            d_propertyManager = playerStaticCopy.AddComponent <PropertyManager>();
        }
        PropertyManager o_propertyManager = playerObj.GetComponent <PropertyManager>();

        UnitProperty[] o_propertyList = o_propertyManager.GetPropertyList();
        if (o_propertyList != null)
        {
            foreach (UnitProperty p in o_propertyList)
            {
                d_propertyManager.ApplyProperty(p);
            }
        }
        else
        {
            d_propertyManager.ClearProperty();
        }
    }