コード例 #1
0
    public ChargedObject MakeChargedObject(ChargedObjectSettings chargedObjectSettings, bool addToSandboxHistory = false)
    {
        createCounter++;
        GameObject newObject = Instantiate(SandboxManager.GetSandboxPrefabs()[chargedObjectSettings.shape]);
        newObject.name = "sandbox object " + createCounter;
        newObject.transform.parent = GetRegionManager().gameObject.transform;
        ChargedObject newChargedObject = newObject.AddComponent<ChargedObject>();
        newChargedObject.UpdateValues(chargedObjectSettings);

        if (chargedObjectSettings.canMove)
        {
            MovingChargedObject mco = newObject.AddComponent<MovingChargedObject>();
            mco.UpdateValues(chargedObjectSettings);
            mco.SetFrozenPosition(GameManager.GetGameManager().GetIsPaused());
        }
        newObject.transform.position = chargedObjectSettings.position;

        GetRegionManager().AddChargedObject(newChargedObject);

        if (addToSandboxHistory)
            AddToHistory(newChargedObject, chargedObjectSettings);
        if (!GetChargedObjects().ContainsKey(newChargedObject))
            GetChargedObjects().Add(newChargedObject, chargedObjectSettings);

        return newChargedObject;
    }
コード例 #2
0
 public void UpdateValues(ChargedObjectSettings chargedObjectSettings)
 {
     this.chargedObjectSettings = chargedObjectSettings;
     charge     = chargedObjectSettings.charge;
     showCharge = chargedObjectSettings.showCharge;
     UpdateAppearance();
 }
コード例 #3
0
ファイル: SandboxManager.cs プロジェクト: war-man/coulombic
    public ChargedObject MakeChargedObject(ChargedObjectSettings chargedObjectSettings, bool addToSandboxHistory = false)
    {
        createCounter++;
        GameObject newObject = Instantiate(SandboxManager.GetSandboxPrefabs()[chargedObjectSettings.shape]);

        newObject.name             = "sandbox object " + createCounter;
        newObject.transform.parent = GetRegionManager().gameObject.transform;
        ChargedObject newChargedObject = newObject.AddComponent <ChargedObject>();

        newChargedObject.UpdateValues(chargedObjectSettings);

        if (chargedObjectSettings.canMove)
        {
            MovingChargedObject mco = newObject.AddComponent <MovingChargedObject>();
            mco.UpdateValues(chargedObjectSettings);
            mco.SetFrozenPosition(GameManager.GetGameManager().GetIsPaused());
        }
        newObject.transform.position = chargedObjectSettings.position;

        GetRegionManager().AddChargedObject(newChargedObject);

        if (addToSandboxHistory)
        {
            AddToHistory(newChargedObject, chargedObjectSettings);
        }
        if (!GetChargedObjects().ContainsKey(newChargedObject))
        {
            GetChargedObjects().Add(newChargedObject, chargedObjectSettings);
        }


        return(newChargedObject);
    }
コード例 #4
0
ファイル: ChargedObject.cs プロジェクト: B1sounours/coulombic
 public void UpdateValues(ChargedObjectSettings chargedObjectSettings)
 {
     this.chargedObjectSettings = chargedObjectSettings;
     charge = chargedObjectSettings.charge;
     showCharge = chargedObjectSettings.showCharge;
     UpdateAppearance();
 }
コード例 #5
0
ファイル: SandboxManager.cs プロジェクト: war-man/coulombic
    public void CreateClick(bool addToSandboxHistory)
    {
        SoundManager.PlaySound(GameSounds.click);

        ChargedObjectSettings chargedObjectSettings = GetCreateObjectUI().GetChargedObjectSettingsFromUI();

        if (OverlapsWithCoordHistory(chargedObjectSettings) && GameManager.GetGameManager().GetIsPaused())
        {
            SoundManager.PlaySound(GameSounds.refuse);
        }
        else
        {
            ChargedObject newChargedObject = MakeChargedObject(chargedObjectSettings, addToSandboxHistory);
        }
    }
コード例 #6
0
ファイル: SandboxManager.cs プロジェクト: war-man/coulombic
    public void DeleteClick(GameObject clickObject)
    {
        ChargedObject co = clickObject.GetComponent <ChargedObject>();

        if (co != null)
        {
            ChargedObjectSettings cos = co.GetChargedObjectSettings();
            if (cos != null && sandboxHistory.Contains(cos))
            {
                RemoveFromHistory(cos);
            }

            GetRegionManager().DestroyChargedObject(co);
            SoundManager.PlaySound(GameSounds.click);
        }
    }
コード例 #7
0
    private void RemakeCursorGameObject()
    {
        shouldRemakeCursor = false;

        Destroy(cursorGameObject);
        ChargedObjectSettings chargedObjectSettings = GetChargedObjectSettingsFromUI();

        cursorGameObject = Instantiate(SandboxManager.GetSandboxPrefabs()[sandboxShape]);
        ChargedObject       co  = cursorGameObject.AddComponent <ChargedObject>();
        MovingChargedObject mco = cursorGameObject.AddComponent <MovingChargedObject>();

        co.enabled  = false;
        mco.enabled = false;
        co.UpdateValues(chargedObjectSettings);
        mco.UpdateValues(chargedObjectSettings);
        cursorGameObject.transform.position = new Vector3(0, -100000, 0);

        ParentChildFunctions.SetCollidersOfChildren(cursorGameObject, false, true);
    }
コード例 #8
0
 private void RemoveFromHistory(ChargedObjectSettings cos)
 {
     sandboxHistory.Remove(cos);
     coordinateHistory.Remove(cos.position);
 }
コード例 #9
0
 private bool OverlapsWithCoordHistory(ChargedObjectSettings cos)
 {
     return coordinateHistory.ContainsKey(cos.position);
 }
コード例 #10
0
 private void AddToHistory(ChargedObject chargedObject, ChargedObjectSettings chargedObjectSettings)
 {
     sandboxHistory.Add(chargedObjectSettings);
     coordinateHistory.Add(chargedObjectSettings.position, chargedObjectSettings);
     GetChargedObjects().Add(chargedObject, chargedObjectSettings);
 }
コード例 #11
0
ファイル: SandboxManager.cs プロジェクト: war-man/coulombic
 private void AddToHistory(ChargedObject chargedObject, ChargedObjectSettings chargedObjectSettings)
 {
     sandboxHistory.Add(chargedObjectSettings);
     coordinateHistory.Add(chargedObjectSettings.position, chargedObjectSettings);
     GetChargedObjects().Add(chargedObject, chargedObjectSettings);
 }
コード例 #12
0
ファイル: SandboxManager.cs プロジェクト: war-man/coulombic
 private bool OverlapsWithCoordHistory(ChargedObjectSettings cos)
 {
     return(coordinateHistory.ContainsKey(cos.position));
 }
コード例 #13
0
ファイル: SandboxManager.cs プロジェクト: war-man/coulombic
 private void RemoveFromHistory(ChargedObjectSettings cos)
 {
     sandboxHistory.Remove(cos);
     coordinateHistory.Remove(cos.position);
 }
コード例 #14
0
 public void UpdateValues(ChargedObjectSettings chargedObjectSettings)
 {
     mass = chargedObjectSettings.mass;
     startVelocity = chargedObjectSettings.startVelocity;
     UpdateAppearance();
 }
コード例 #15
0
 public void UpdateValues(ChargedObjectSettings chargedObjectSettings)
 {
     mass          = chargedObjectSettings.mass;
     startVelocity = chargedObjectSettings.startVelocity;
     UpdateAppearance();
 }