Exemplo n.º 1
0
    public void DispatchPart(ShipBuilderPart part, ShipBuilder.TransferMode mode)
    {
        var culledInfo = ShipBuilder.CullSpatialValues(part.info);

        if (!builderPartDict.ContainsKey(culledInfo))
        {
            int size = ResourceManager.GetAsset <PartBlueprint>(part.info.partID).size;
            ShipBuilderInventoryScript builderPartDictInvButton = Instantiate(buttonPrefab,
                                                                              contentsArray[size]).GetComponent <ShipBuilderInventoryScript>();
            builderPartDict.Add(culledInfo, builderPartDictInvButton);
            contentTexts[size].SetActive(true);
            builderPartDict[culledInfo].part   = culledInfo;
            builderPartDict[culledInfo].cursor = cursorScript;
        }
        builderPartDict[culledInfo].IncrementCount();
        cursorScript.buildValue -= EntityBlueprint.GetPartValue(part.info);
        cursorScript.parts.Remove(part);
        Destroy(part.gameObject);
    }
Exemplo n.º 2
0
 private void AddPart(EntityBlueprint.PartInfo part)
 {
     if (!builderPartDict.ContainsKey(part))
     {
         int size = ResourceManager.GetAsset <PartBlueprint>(part.partID).size;
         ShipBuilderInventoryScript invButton = Instantiate(buttonPrefab,
                                                            contentsArray[size]).GetComponent <ShipBuilderInventoryScript>();
         builderPartDict.Add(part, invButton);
         contentTexts[size].SetActive(true);
         invButton.part   = part;
         invButton.cursor = cursorScript;
         invButton.IncrementCount();
         invButton.mode = BuilderMode.Yard;
     }
     else
     {
         builderPartDict[part].IncrementCount();
     }
 }
Exemplo n.º 3
0
    public void DispatchPart(ShipBuilderPart part, TransferMode transferMode)
    {
        var culledInfo = CullSpatialValues(part.info);
        Dictionary <EntityBlueprint.PartInfo, ShipBuilderInventoryScript> dict;

        Transform[]  dictContentsArray;
        GameObject[] dictContentTexts;
        switch (transferMode)
        {
        case TransferMode.Sell:
            cursorScript.buildCost -= EntityBlueprint.GetPartValue(part.info);
            dictContentsArray       = traderContentsArray;
            dict             = traderPartDict;
            dictContentTexts = traderContentTexts;
            break;

        case TransferMode.Buy:
            dictContentsArray = contentsArray;
            dict             = partDict;
            dictContentTexts = contentTexts;
            break;

        default:                 // transfer back to original inventory
            if (part.mode == BuilderMode.Trader)
            {
                cursorScript.buildCost -= EntityBlueprint.GetPartValue(part.info);
            }
            dict = (part.mode == BuilderMode.Yard ? partDict : traderPartDict);
            dictContentsArray = (part.mode == BuilderMode.Yard ? contentsArray : traderContentsArray);
            dictContentTexts  = (part.mode == BuilderMode.Yard ? contentTexts : traderContentTexts);
            break;
        }
        if (!dict.ContainsKey(culledInfo))
        {
            int size = ResourceManager.GetAsset <PartBlueprint>(part.info.partID).size;
            ShipBuilderInventoryScript dictInvButton = Instantiate(buttonPrefab,
                                                                   dictContentsArray[size]).GetComponent <ShipBuilderInventoryScript>();
            switch (transferMode)              // set the new button's transfer mode
            {
            case TransferMode.Buy:
                dictInvButton.mode = BuilderMode.Yard;
                break;

            case TransferMode.Sell:
                dictInvButton.mode = BuilderMode.Trader;
                break;

            case TransferMode.Return:
                dictInvButton.mode = part.mode;
                break;
            }
            dict.Add(culledInfo, dictInvButton);
            dictContentTexts[size].SetActive(true);
            dict[culledInfo].part   = culledInfo;
            dict[culledInfo].cursor = cursorScript;
        }
        dict[culledInfo].IncrementCount();
        cursorScript.buildValue -= EntityBlueprint.GetPartValue(part.info);
        cursorScript.parts.Remove(part);
        Destroy(part.gameObject);
    }